GSFIT Data Format¶
This section describes the input and output data formats used by the GSFIT, GSFITCP, and GSFITVIEW applications, which are part of the GSFIT SSW IDL package developed for fitting the spatially-resolved solar flare radio spectra obtained with the EOVSA instrument. A tutorial about reduction of EOVSA data may be found here.
GSFIT Input Data Format¶
GSFIT expects input files to contain a multidimensional array of traditional SSW IDL map structures that must have a least two first mandatory dimensions, the number of frequencies and number of time frames, and an optional third dimension, the number of polarizations, if more than one are provided. The STOKES I demo EOVSA map cube shipped with the GSFIT package is described below.
IDL> help, EOMAPS
EOMAPS STRUCT = -> <Anonymous> Array[30, 10]
IDL> help,eomaps,/str
** Structure <214d9c00>, 26 tags, length=91472, data length=91449, refs=1:
DATA FLOAT Array[151, 151]
XC DOUBLE 249.22902
YC DOUBLE -224.62914
DX DOUBLE 2.0000000
DY DOUBLE 2.0000000
TIME STRING ' 4-Sep-2017 20:46:36.500'
ID STRING 'EOVSA 3.42 GHz'
DUR FLOAT 4.00000
XUNITS STRING 'arcsec'
YUNITS STRING 'arcsec'
ROLL_ANGLE DOUBLE 0.00000000
ROLL_CENTER DOUBLE Array[2]
SOHO BYTE 0
L0 DOUBLE 0.00000000
B0 DOUBLE 7.2364274
RSUN DOUBLE 951.09152
RMS FLOAT 3.17954e+006
SNR FLOAT 97.6565
SCALEFAC FLOAT 1.18274
RMSXRAN FLOAT Array[2]
RMSYRAN FLOAT Array[2]
DATAUNITS STRING 'K'
RMSUNITS STRING 'K'
FREQ FLOAT 3.42000
FREQUNIT STRING 'GHz'
STOKES STRING 'XX'
NOTE: The name of the variable stored in a data file may be arbitrarily, since GSFIT would accept as a valid input data the first restored array of map structure that, in addition to a standard SSW IDL map structure, has at least the following required tags: FREQ, FREQUNIT, STOKES, RMS
GSFIT Parameter Maps Structure¶
This is an IDL structure that stores a final product of the GSFIT package. This output data structure is described below.
IDL> help, maps
** Structure <1e0e3430>, 28 tags, length=189883336, data length=189666533, refs=1:
FITMAPS STRUCT -> <Anonymous> Array[30, 100] ;[nfreq x ntimes] GSFIT solution maps
DATAMAPS STRUCT -> <Anonymous> Array[30, 100] ;[nfreq x ntimes] input data maps use to compute the GSFIT solutions
ERRMAPS STRUCT -> <Anonymous> Array[30, 100] ;[nfreq x ntimes] input error maps used to weight the input data
N_NTH STRUCT -> <Anonymous> Array[100] ;[ntimes] maps of estimated nonthermal electron densities
ERRN_NTH STRUCT -> <Anonymous> Array[100] ;[ntimes] maps of 1-sigma fit errors of the estimated nonthermal electron densities
B STRUCT -> <Anonymous> Array[100] ;[ntimes] maps of estimated absolute magnetic field strength
ERRB STRUCT -> <Anonymous> Array[100] ;[ntimes] maps of 1-sigma fit errors of the estimated
THETA STRUCT -> <Anonymous> Array[100] ;[ntimes] maps of estimated LOS angle of the magnetic field vector
ERRTHETA STRUCT -> <Anonymous> Array[100] ;[ntimes] maps of 1-sigma fit errors of the estimated LOS angle of the magnetic field vector
N_TH STRUCT -> <Anonymous> Array[100] ;[ntimes] maps of estimated thermal electron densities
ERRN_TH STRUCT -> <Anonymous> Array[100] ;[ntimes] maps of 1-sigma fit errors of the estimated thermal electron densities
DELTA STRUCT -> <Anonymous> Array[100] ;[ntimes] maps of estimated distribution over energy power law slope
ERRDELTA STRUCT -> <Anonymous> Array[100] ;[ntimes] maps of 1-sigma fit errors of the estimated distribution over energy power law slope
E_MAX STRUCT -> <Anonymous> Array[100] ;[ntimes] maps of estimated maximum energy cutoff of nonthermal electrons
ERRE_MAX STRUCT -> <Anonymous> Array[100] ;[ntimes] maps of 1-sigma fit errors of the estimated maximum energy cutoff of nonthermal electrons
T_E STRUCT -> <Anonymous> Array[100] ;[ntimes] maps of estimated plasma temperature
ERRT_E STRUCT -> <Anonymous> Array[100] ;[ntimes] maps of 1-sigma fit errors of the estimated plasma temperature
CHISQR STRUCT -> <Anonymous> Array[100] ;[ntimes] maps of fit CHISQR
RESIDUAL STRUCT -> <Anonymous> Array[100] ;[ntimes] maps of fit Residuals
PEAKFLUX STRUCT -> <Anonymous> Array[100] ;[ntimes] maps of estimated peak flux of the fit solution
ERRPEAKFLUX STRUCT -> <Anonymous> Array[100] ;[ntimes] maps of 1-sigma fit errors of the estimated peak flux of the fit solution
PEAKFREQ STRUCT -> <Anonymous> Array[100] ;[ntimes] maps of estimated peak frequency of the fit solution
ERRPEAKFREQ STRUCT -> <Anonymous> Array[100] ;[ntimes] maps of 1-sigma fit errors of the estimated peak frequency of the fit solution
WB STRUCT -> <Anonymous> Array[100] ;[ntimes] maps estimated magnetic field energy
ERRWB STRUCT -> <Anonymous> Array[100] ;[ntimes] maps of 1-sigma fit errors of the estimated magnetic field energy
WNTH STRUCT -> <Anonymous> Array[100] ;[ntimes] maps estimated nonthermal electron energy
ERRWNTH STRUCT -> <Anonymous> Array[100] ;[ntimes] maps of 1-sigma fit errors of the estimated nonthermal electron energy
HEADER STRUCT -> <Anonymous> Array[1] ;structure containing information about the GSFIT solutions from which these maps were created
GSFIT FitList Format¶
This is the internal raw data format used by GSFIT and GSFITCP to store in memory or log on the disk the pixel-based fit solutions in the sequential order they ae produced at run-time. Each individual pixel-based fit solution structure described below contains the position and temporal information that, together to a header fit task structure, are used to build the fit parameter maps structure described above..
IDL> help,fitlist,/str
** Structure <21fed180>, 24 tags, length=504, data length=504, refs=2:
X LONG 67 ;pixel X index
Y LONG 42 ;pixel Y index
T LONG 0 ;pixel time frame index
FMIN INT 0
FMAX INT 23
DATA FLOAT Array[30]
ERRDATA FLOAT Array[30]
SPECFIT FLOAT Array[30]
N_NTH DOUBLE 0.00000000
ERRN_NTH DOUBLE 0.00000000
B DOUBLE 0.00000000
ERRB DOUBLE 0.00000000
THETA DOUBLE 0.00000000
ERRTHETA DOUBLE 0.00000000
N_TH DOUBLE 0.00000000
ERRN_TH DOUBLE 0.00000000
DELTA DOUBLE 0.00000000
ERRDELTA DOUBLE 0.00000000
E_MAX DOUBLE 0.00000000
ERRE_MAX DOUBLE 0.00000000
T_E DOUBLE 0.00000000
ERRT_E DOUBLE 0.00000000
CHISQR DOUBLE 0.00000000
RESIDUAL DOUBLE 0.00000000
GSFIT Log File Format¶
GSFIT and GSFITCP applications save the list of spectral fit solutions in binary "*.log" files that are formatted as a header section followed by identical records logged in the order in which they are computed at runtime.
Although such log files may appear to be traditional IDL *.sav files, attempting to restore them via an IDL command line using the native RESTORE procedure would only recover the first record logged in the file. To recover the full information stored in such files, one may use one of the two support routines that are part of the GSFIT package,
Restoring a GSFIT log file as a pixel-based fit list¶
The gsfit_log2list function may be used to restore a fit list from a GSFIT *.log file in its raw format using the following calling sequence:
IDL> fitlist=gsfit_log2list('gsfitcp.log')
% Compiled module: MULTI_RESTORE.
% RESTORE: Portable (XDR) SAVE/RESTORE file.
% RESTORE: Save file written by gnita@baozi.hpcnet.campus.njit.edu, Fri Mar 1 18:15:09 2019.
% RESTORE: IDL version 8.5 (linux, x86_64).
% RESTORE: Restored variable: HEADER.
% RESTORE: Restored variable: TEMPLATE.
% RESTORE: Restored variable: HINT.
% RESTORE: Restored variable: KEY.
% RESTORE: Restored variable: XDR.
% GSFIT_LOG2LIST: Restoring 409599 additional records
IDL> help, fitlist
FITLIST STRUCT = -> <Anonymous> Array[409600]
GSFITCP and GSFIVIEW applications use internally the gsfit_log2list.pro to import a previously saved fit list, to add additional fit solutions to it in another session, or to convert the list to a parameter map structure for visualization and further analysis. However, one may use this function from the IDL console, or programmatically, to restore and concatenate two or more fit lists stored in separate GSFIT ''*.log' files.
Restoring a GSFIT log file as a parameter maps structure¶
The gsfit_log2map function may be used to restore a fit list from a GSFIT *.log file and convert it to a parameter maps structure, using the following calling sequence:
IDL> maps=gsfit_log2map(file)
% RESTORE: Portable (XDR) SAVE/RESTORE file.
% RESTORE: Save file written by gnita@baozi.hpcnet.campus.njit.edu, Fri Mar 1 18:15:09 2019.
% RESTORE: IDL version 8.5 (linux, x86_64).
% RESTORE: Restored variable: HEADER.
% RESTORE: Restored variable: TEMPLATE.
% RESTORE: Restored variable: HINT.
% RESTORE: Restored variable: KEY.
% RESTORE: Restored variable: XDR.
% GSFIT_LOG2LIST: Restoring 409599 additional records
However, the gsfit_log2map*'' function, instead of a file path, may also accept as argument an already restore pixel-based fit list solution restored by thegsfit_log2fit*'' function.
Migrated from MediaWiki page GSFIT Data Format, latest revision 3810 (2019-05-11T23:37:07Z).