EOVSA Data Products: Difference between revisions

From EOVSA Wiki
Jump to navigation Jump to search
Tag: Manual revert
Line 72: Line 72:


==Getting level 2 data==  
==Getting level 2 data==  
[[File:eovsa_browser.jpg|250px|thumb]]
[[File:eovsa_browser.jpg|250px|center]]
EOVSA Level 2 data products can be retrieved with the following steps:
EOVSA Level 2 data products can be retrieved with the following steps:
* go to [http://ovsa.njit.edu/browser/ EOVSA browser] page.
* go to [http://ovsa.njit.edu/browser/ EOVSA browser] page.

Revision as of 13:55, 28 March 2024

EOVSA observes the full disk of the Sun at all times when the Sun is >10 degrees above the local horizon (season dependent and ranges from 7-12 hours duration centered on 20 UT). EOVSA records data at 451 science frequency channels each second, in four polarization products, as well as additional total flux measurements from each individual antenna. Raw data in the visibility domain are processed through a pipeline processing system to produce images and spectrograms in the time- and frequency-dependent image plane (the block diagram in Figure 1 shows the data flow in the pipeline).

EOVSA pipeline block diagram/flow chart

We deliver the radio interferometry data on the following three levels:


Level 0 - Raw visibility data from the instrument

As outlined in Figure 1, EOVSA creates raw data products in the left-hand column (labeled Level 0). This includes observations of cosmic sources for phase calibration, and gain and pointing observations required for total power calibration.

Raw "Interim" Database (IDB) visibility data

Full-resolution raw "Interim" Database (IDB) visibility data. They are stored in Miriad format, and hence may not be that useful for most people. Be patient after clicking the link--this is a very long list of directories, one for each available date. These data can be retrieved from the following page:

http://www.ovsa.njit.edu/fits/IDB/

Raw 1-min-averaged visibility data

This is the same as for the IDB data, except with 1-minute time integration applied. This is typically not useful for flares, but is perfectly fine for imaging active regions and full Sun. These data can be retrieved from the following page:

http://www.ovsa.njit.edu/fits/UDB/

Level 1.0 - Calibrated visibility data

After applying calibration and other preliminary processing to level 0 data, we create the CASA ms’s in the second column in Figure 1 ( labeled Level 1). These visibility data have all of the required content to produce Level 2 images and spectrogram data in standard FITS format. We provide a set of standard ms’s for each day (red boxes in Figure 1), for use by researchers who wish to start with visibility data.

Calibrated full-resolution visibility data for events

EOVSA event data products in boxes with dashed outlines in Figure 1 will typically be available within 30 days after they are taken.

Link: TBD.

Self-calibrated 1-min-averaged visibility data

EOVSA 1-min averaged visibility data in CASA ms format can be retrieved from the following page:

http://www.ovsa.njit.edu/fits/UDBms_slfcaled

Level 2.0 - Images and spectrogram data in standard FITS format

Most users, however, will prefer to work with spectrogram (frequency-time) and image data, which are also outputs of the pipeline system shown in Figure 1 (orange boxes). Spectrograms are provided as standard FITS tables containing the frequency list, list of times, and data in both total power (TP) and a sum of amplitudes over intermediate-length baselines (cross power or XP). Likewise, image data products are in FITS format with standard keywords and are converted into the Helioprojective Cartesian coordinate system compatible with the World Coordinate System (WCS) convention, along with correct registration for the spatial, spectral, and temporal coordinates. Both the spectrogram and image data products are calibrated properly and have physical radio intensity units (sfu for spectrograms and brightness temperature for radio images).

List of Level 2 data products

Category Data Product Naming Convention
Spectrogram All-day TP Spectrogram EOVSA_TPall_yyyymmdd.fts
All-day XP Spectrogram EOVSA_XPall_yyyymmdd.fts
Image
Synoptic 1.4 GHz image eovsa_yyyymmdd.spw00-01.tb.disk.fits
Synoptic 3.0 GHz image eovsa_yyyymmdd.spw02-05.tb.disk.fits
Synoptic 4.5 GHz image eovsa_yyyymmdd.spw06-10.tb.disk.fits
Synoptic 6.8 GHz image eovsa_yyyymmdd.spw11-20.tb.disk.fits
Synoptic 10.2 GHz image eovsa_yyyymmdd.spw21-30.tb.disk.fits
Synoptic 13.9 GHz image eovsa_yyyymmdd.spw31-43.tb.disk.fits

Getting level 2 data

Eovsa browser.jpg

EOVSA Level 2 data products can be retrieved with the following steps:

  • Browse to the date of interest.
  • Click "synoptic fits" button next to the calendar tool.
  • Select the data product based on the names listed in the table above.

Reading level 2 data

Software

We have developed a package for EOVSA data processing and analysis: SunCASA A wrapper around CASA (the Common Astronomy Software Applications package) for synthesis imaging and visualizing solar spectral imaging data. CASA is one of the leading software tools for "supporting the data post-processing needs of the next generation of radio astronomical telescopes such as ALMA and VLA", an international effort led by the National Radio Astronomy Observatory. The current version of CASA uses Python (2.7) interface. More information about CASA can be found on NRAO's CASA website . Note, CASA is available ONLY on UNIX-BASED PLATFORMS (and therefore, so is SunCASA). We are developing a new version of SunCASA based on CASA 6 (which offers a modular approach) so that users have the flexibility to build CASA tools and tasks in their Python environment.

Please follow this link for details regarding the installation of SunCASA on your own machine (only available on Unix-bases OS). This will take you to another page.

All-day TP spectrum

Daily total power full-Sun-integrated spectrogram calibrated in solar flux units are provided at 451 frequencies (134 frequencies prior to 2019 Feb 22) and 1 s time resolution.

To read a spectrogram file in Python using the suncasa library:

from suncasa.eovsa import eovsa_dspec as ds
from astropy.time import Time
from matplotlib.colors import LogNorm
## Read EOVSA Dynamic Spectrum FITS file <filename>
filename = 'EOVSA_TPall_20170713.fts'
s = ds.get_dspec(filename, doplot=True, cmap='gist_heat', norm=LogNorm(vmax=2.1e3, vmin=40))
## To access the data in the spectrogram object, use
spec = s['spectrogram']                    ## (Array of amplitudes in SFU, of size nfreq,ntimes)
fghz = s['spectrum_axis']                  ## (Array of frequencies in GHz, of size nfreq)
tim = Time(s['time_axis'], format='mjd')   ## (Array of UT times in astropy.time object, of size ntimes)

The get_dspec function is accessible on GitHub. For comprehensive guidance, please refer to suncasa's ReadtheDocs page.

TPSP.jpeg


The following code will read the spectrogram file in IDL:

function dspec,filename,doplot=doplot
  ; Read EOVSA Dynamic Spectrum FITS file <filename> and return a spectrogram object.
  ; Optionally show an overview plot if doplot switch is set
  ; 
  ; Usage:
  ;    s = dspec(<filename>)            ; Returns spectrogram object
  ;    s = dspec(<filename>,/doplot)    ; Plots spectrum and returns spectrogram object
  ;
  ; To access the data in the spectrogram object, use
  ;    spec = s.get(/spectrogram)    (Array of amplitudes in SFU, of size ntimes, nfreq)
  ;    fghz = s.get(/spectrum_axis)  (Array of frequencies in GHz, of size nfreq)
  ;    ut = s.get(/time_axis)        (Array of UT times in anytim format, of size ntimes)
  
  default,doplot,0
  spec = mrdfits(filename,0)
  freq = mrdfits(filename,1)
  time = mrdfits(filename,2)
  fghz = freq.sfreq
  ut = anytim(time)
  s = spectrogram(spec,ut,fghz)
  if doplot then begin
    window,/free,xsiz=1024,ysiz=600
    ; Find min and max of data from 5% to 95% of sorted array (eliminates outliers)
    sarr = sort(spec)
    dlim = minmax(spec[sarr[n_elements(sarr)*0.05:n_elements(sarr)*0.95]])
    ; Set drange with margin factor of 2 on low end and 5 on high end
    s.set,drange=dlim*[0.5,5]
    loadct,3
    s.plot,/log,/xsty,/ysty,ytitle='Frequency [GHz]',charsize=1.5
  endif
return,s
end
IDL TPSP.png

Synoptic 6-band Images

Full disk images at 6 selected frequency bands centered at 1.4, 3.0, 4.5, 6.8, 10.2, and 13.9 GHz are provided once per day, calibrated in brightness temperature.

Synoptic image.jpg

The EOVSA full disk image FITS files are compressed with the RICE algorithm implemented in the FITS file handling module (astropy.io.fits) in Astropy. EOVSA FITS files are very similar to the compressed SDO/AIA FITS files from JSOC. Popular coding languages can easily read compressed images directly.

In IDL, you can use read_sdo in the ONTOLOGY package, which should be installed by default in SolarSoftWare (SSW), to read compressed EOVSA FITS files. The following code will read the EOVSA image FITS file in SSWIDL:

read_sdo,'eovsa_20191225.spw11-20.tb.disk.fits',header,data,/UNCOMP_DELETE
index2map,header,data,eomap
plot_map,eomap
Eovsa 20191225 image sswidl.jpg

In Python, you can use SunPy map module to read EOVAS FITS files. SunPy is an open solar data analysis environment for Python. The installation instruction can be found at SunPy official website.

import matplotlib.pyplot as plt
from sunpy import map as smap
eofile='eovsa_20191225.spw11-20.tb.disk.fits'
eomap = smap.Map(eofile)
eomap.plot()
plt.show()
Eovsa 20191225 image py.jpg

Although the Sunpy Python package already exists for doing analysis of solar data, it has a significant learning curve and lacks the generality of the Mapping routines written by Dominic Zarro for the IDL-based Solarsoft (SSW). We provided IDL Mapping routines available in Python that may help those IDL users who have been avoiding learning Python. The mapping routines work equally well in both Python 2.7 and Python 3. Get the Mapping routines The following code will read the EOVSA image FITS file in python:

from mapping.plot_map import plot_map
from mapping.fits2map import fits2map
eofile='eovsa_20191225.spw11-20.tb.disk.fits'
eomap, h = fits2map(eofile,header=True)
plot_map(eomap, grid=15, limb=True,cmap='gray')
Eovsa 20191225 image py ssw-mapping.jpg

10-min 6-band Images

Event images