VLA Data Survey

From EOVSA Wiki
Jump to navigation Jump to search

List of VLA Solar Observations

Date VLA Time Observing Setup Flare Events Overview Plot Context Data Details Publications
Nov 5, 2011 20:39:08-23:07:56 18 ants in Config D
1-2 GHz/1 MHz, 0.1 s
decay phase of M1.8 @ 20:37 Chen+2013
Mar 3, 2012 17:53:23-21:44:54 15 ants in Config C
1-2 GHz/1 MHz, 50 ms
C1.9@18:13 dynamic spectrum of the entire event with GOES summary VLA_20120303 Chen+2014, Chen+2015, Wang+2017
Feb 25, 2012 18:00:06-22:17:00 26 ants in Config C
1-2 GHz/1 MHz, 1s
two microflare B3.6@19:29 B4.0@20:50 dynamic spectrum of the entire event with GOES summary VLA_20120225
Feb 18, 2016 19:12:29-23:54:05 27 ants in Config C
1-2 GHz/2 MHz, 50 ms
C1.2@19:59 C1.8@21:08 File:20160218.png summary VLA_20160218
Feb 19, 2016 18:41:49-23:23:25 27 ants in Config C
1-2 GHz/2 MHz, 50 ms
C2.7@22:49 dynamic spectrum of the entire event with GOES summary VLA_20160219
Apr 09, 2016 17:56:59-22:57:52 14 ants in Config C
1-2 GHz/2 MHz, 50 ms
13 ants in Config C
1-2 GHz/2 MHz, 50 ms
C1.5@18:44 C1.5@20:34 C1.4@22:04 dynamic spectrum of the entire event with GOES summary VLA_20160409
Apr 16, 2016 17:13:00-22:15:504 13 ants in Config C
2-4 GHz/2 MHz, 50 ms
C1.4@19:14 C5.8@19:42 summary VLA_20160416

Data Survey Tutorial

Step 1: Preparatory Work

Get the visibility data

The first step of the data survey is to get the visbility data of the the event you are focusing on. Always the origrinal data should be in the the dictionary '/srg/data/evla', you can find the folders named by the date of the event.

The casa task 'listobs' can help to check the basic information of the data, to get the better understanding of each casa task, you can both type the task name followed with a question mark( for example, 'listobs?') in the server or directly google 'nrao casa listobs'.

For each casa task(take the listobs as a example), you can type 'tget listobs' and then 'inp' to get and change the input parameters then 'go' to run the task.

Task listobs can tell some basic information and task plotants can tell you the configration of the antanas, these are the basic information of your observation data. About the casa task and example of listobs, see the link to CASA guide

The original data may be too large for us to do the survey directly, we can use the task 'split' to split the data.

Using the 2016 Feb 18 event as a example, the original data have 50 millisecond time cadence. To reduce the data size, we average it into 1 second cadence using the "split" command in CASA. The key parameter for doing the averaging is "timebin". Here we set it to "1s", meaning averaging to 1-s cadence. This reduced cadence is very informative for viewing the entire observation. However, if we want to look at structures with full time resolution (e.g., 50 ms), we do not want to do the averaging. But to reduce the data size, we can instead split only a short period (say, 1 minute). In this case, we want to use the "timerange" parameter to select the time range, e.g., "19:10:10~19:11:10" (please follow the output of "help split" for syntax).

taskname           = "split"
vis                =  "/srg/data/evla/20160219/sun_20160219.50ms.ms/"
outputvis          =  "sun-2016021.50ms.ms"
keepmms            =  True
field              =  ""
spw                =  ""
scan               =  ""
antenna            =  ""
correlation        =  ""
timerange          =  "0"
intent             =  ""
array              =  ""
uvrange            =  ""
observation        =  ""
feed               =  ""
datacolumn         =  "data"
keepflags          =  True
width              =  1
timebin            =  "1s"
combine            =  ""
#split(vis="/srg/data/evla/20160219/sun_20160219.50ms.ms/",outputvis="sun-20160219.50ms.ms",keepmms=True,field="",
spw="",scan="",antenna="",correlation="",timerange="",intent="",array="",uvrange="",observation="",feed="",datacolumn="data",keepflags=True,width=1,timebin="1s",combine="")

Other information of the event

Except the vla data itself, we may also need the X-ray data and EUV data to help us. You can see the summary in Prof. Bin's website or go the flare browser and the helioviewer

Goes command window
Goes plot window

If you are in the server, you can do into idl to get the plot of Goes and RHESSI, which can help us identify the features in the dynamic spectrum.

Type 'goes' or 'hessi' you will see the command window.

Use Goes as a example, when you come into the command window, you can select parameters fot the plotting(mainly the timerange) and after clicking 'plot', you can control the plot in the menus and output the figure or you can directly write the idl savefile(for making the dynamic mivie later) in command window.

Always we need flux and derivate information for analysis.

Step 2: Overview of the Event

Select the appropriate baselines

Usually we use the task 'dspec' to make the dynamic spectrum, use get_dspec to create a npz file, the most important input is timerange and baseline. You can use the casa task 'viewer' to check the visbility data( remember when using the viewer, don not select too long timerange).

viewer data manager
viewer display panel

When coming into the window of viewer. First in the data manager to select the timerange(no more than 20 minutes) and so on.

Then get into the display panel, set x,y,animation axis as 'time','channel'and'baselines'. Then you can check the display to select propriate baselines. Remember to check every spectral windows and both LCP and RCP.

Check Each baselines and better select both the longer baselines and shorter baselines to make the npz file.

Plot detailed dynamic spectrum

Use plt_dspec to do the plot, after getting the npz file, you can do the plot. Usually we are interested in both LCP and RCP, here set a example.

from suncasa.utils import dspec
msfile = 'sun_20120310A.50ms.ms' # the visbility data 
vis = msfile
bl='4&12' 
spw='0~7'
specfile = msfile+'.bl4-12.190000-194000.spec.npz'
timeran='17:58:50~17:59:30'
dspec.get_dspec(vis=vis,specfile=specfile,bl=bl,spw=spw,timeran=timeran)
dspec.plt_dspec(specfile=specfile,pol='RR',dmin=1,dmax=12)  #dmin and dmax is used to change color,pol can be selected as 'RR''LL'or'I'
dynamic spectrum


To get the survey of the whole timerange, we need to get a movie, select the movie as True, you can get a folder called 'dspec' which including the figures to make the movie. You can also attach the goes savefile.

After getting the folders, you can use idl to create the movie like this 2012 Mar 10 event or directly use other ways.

Make overview radio/EUV image

Once you find something in the movie, you can back to the origrinal data to see the details, and we can use the calibrated data to make the overview image at that time.

Make radio image (clean)

First step is to make the clean image using CASA task clean, you can also see details od clean in the CASA guide.

Select the appropriate parameters from the dynamic spectrum to do the clean.

dynamic spectrum
clean

Register cleaned CASA image into FITS file

Use the task 'helioimage2fits.imreg' to get the vla_fits file.

from suncasa.utils import helioimage2fits
vis='2110.50ms.cal.ms'
imagfile='2110.image' #clean image
timerange='21:10:31.275~21:10:31.675'
helioimage2fits.imreg(vis=vis,imagefile=imagefile,timerange=timerange)

Plot radio image on AIA

Then add the vla-fits file into the aia map.

aiamap=smap.Map('aia_lev1_171a_2012_03_10t17_48_00_34z_image_lev1.fits') 
vlafits='1747.fits'
vlamap=smap.Map(vlafits)
vlamap.data = vlamap.data.reshape(vlamap.meta['naxis1'],vlamap.meta['naxis2'])
cmap=smap.CompositeMap(aiamap)
cmap.add_map(vlamap,levels=np.array([0.5,0.7,0.9])*np.nanmax(vlamap.data))
cmap.peek()
overview image

You can also zoom in and out to see the details in the image.

Survey overview plot

After you get all the information, you can use the routine 'svplot' to create the overview survey plot.

The required input is the dynamic spectrum file, visbility measurement file, timerange and frequency range. If you have done the clean and get the clean image, you can set the imagefile to your clean image, if you have done the fitsfile, you can set fitsfile to your fitsfile, and if you have downloaded the aiafits, you can set the aiafits to your own aiafits, this steps may save your some time. And you can also change the polarzation by setting pol, the default is 'RRLL'. And you can select the aia wavelength to download by changing aiawave.

To run it in CASA, use command svplot. here is an example import svplotpy(in CASA)

vis='2110.50ms.cal.ms'
spec=2110.spec.npz'
timerange=
spw='2~3‘
svplot.svplot(vis=vis,spec=spec,timerange=timerange,spw=spw)

and you can then get the figures as below. Svplot.png

Make radio movie with svplot

Svplot is also capable to make overview movie from a CASA visibility dataset by setting the keyword mkmovie==True. The following short example shows how to make a movie with svplot from a visibility file.

   from suncasa.utils import svplot as sv
   sv.svplot(vis='IDB20170910T153625-180625.ms.corrected.XXYY.slfcaled',   ## The input ms file.
             timerange='17:00:00~18:06:00'  ## optional, the timerange within which the movie will span over.
             specfile='IDB20170910T153625-180625.ms.corrected.XXYY.slfcaled.dspec.med.npz',   ## optional, will make a new one if not provided
             spw=['1','2','3','4']  ## The spectral window to be imaged. Note: When mkmovie=True,  if spw is a list, images at individual band will be made. If spw is a string, a multi-frequency synthesis image will be made.
             niter=500,  
             imsize=[512], ## images size for Clean procedure in unit of pixel
             cell=['2.5arcsec'], ## images resolution for Clean procedure
             xycen=[975, -140], ## The center of images for Clean (Also the center of the image display)
             fov=[512., 512.],  ## field of view of the image display in unit of arcsec
             stokes='XX,YY', 
             overwrite=True,  ## If to overwrite the existed fits image files
             mkmovie=True,  ## Set this to True if one want to make a movie
             twidth=12,  ## Number of timestamps to average to form one output image. Say twidth = 12 for an 1 sec integration data, the output time cadence is 12 sec.
             imax=1e7,  ## color scale for the radio image
             imin=0.5e6, ## color scale for the radio image
             dmax=0.5e6, ## color scale for the dynamic spectrum
             plotaia=True, ## optional, set False if you do not want to overlay radio images over AIA EUV images.
             aiadir = './your-aia-data-path', ## if you have the corresponding AIA fits files somewhere locally, provide the folder path. The code will search the following places: 1. the default AIA data path ("/srg/data/sdo/aia/level1/" on baozi); 2. the path provided by keyword "aiadir"; 3. the current directory. If plotaia is True, and there is no aia fits files found at any of the forementioned paths, it will download the specific AIA fits data to the current directory.
             aiawave=171,  ## optional, AIA passband.
             plt_composite=True,  ## optional, set True if you want to plot radio image contours from all specified spectral windows in one images.
             ncpu=10)


The resulting images will be saved to "qlookimgs" folder under the current directory.

Example 1: Radio image movie with no AIA files provided.

Example 2: Radio image movie with AIA images in the background.

Example 3: Radio images from different spectral windows combined in one plot.