EVLA Wide-Band Wide-Field Imaging: G55.7 3.4: Difference between revisions

From CASA Guides
Jump to navigationJump to search
Mkrauss (talk | contribs)
Mkrauss (talk | contribs)
Line 965: Line 965:
=== Setting the flux density scale ===
=== Setting the flux density scale ===


Since we will be using 3C147 as the source of the absolute flux scale for this observation, we must first run {{setjy}} to set the appropriate model amplitudes for this source.  Note that there is no model image available (or necessary) for 3C147 at L-band, so we will not input a value for this parameter:
Since we will be using 3C147 as the source of the absolute flux scale for this observation, we must first run {{setjy}} to set the appropriate model amplitudes for this source.   
 
If the flux calibrator is spatially resolved, it is necessary to include a model image as well.  Although 3C147 is not resolved at L-band in D configuration, we include the model image here for completeness.
 
First, we use the <tt>listmodimages</tt> parameter to find the model image path:
 
<source lang="python">
# In CASA
setjy(vis='G55.7+3.4_10s.ms', listmodimages=True)
</source>
 
This lists any images in the current working directory as well as images in CASA's repository.  In this second list, we see that there is "3C147_L.im", which is appropriate for our flux calibrator and band, and that it is in the directory "/usr/lib64/casapy/stable/data/nrao/VLA/CalModels". 


<source lang="python">
<source lang="python">
# In CASA
# In CASA
setjy(vis='G55.7+3.4_10s.ms', field='0542*', scalebychan=True,
setjy(vis='G55.7+3.4_10s.ms', field='0542*', scalebychan=True,
       spw='2~3,5~6')
       spw='2~3,5~6', modimage='/usr/lib64/casapy/stable/data/nrao/VLA/CalModels/3C147_L.im')
</source>
</source>



Revision as of 17:51, 12 September 2011


Overview

This CASA Guide describes the imaging of the supernova remnant G55.7+3.4.. The data were taken on August 23, 2010, in the first D-configuration for which the new wide-band capabilities of the WIDAR correlator were available. The 8-hour-long observation includes all available 1 GHz of bandwidth in L-band, from 1-2 GHz in frequency.

The measurement set (MS) which provides a starting point for this Guide has been imported from the SDM file set, time-averaged to 10 seconds, and flagged with the online flags. All of these options are available from the NRAO data archive, and since this operation can be relatively time-consuming, the imported, time-averaged dataset is being provided. The original data set can be found [here]; note that it is 170 GB in raw form.

Averaging to 10 seconds and the removal of some scans which are not used in this tutorial reduces the size of the data set to around 14 GB; the addition of columns for model and corrected data (known as "scratch columns") returns it to 43 GB, which is the size of the MS which will be used here.

For internal, pre-workshop testers: the data reside at /lustre/sbhatnag/Tests/ThursdayLectures/G55.7+3.4_10s.ms.

Preliminary data evaluation

Start CASA by typing casapy-stable on the command line. If you have not used CASA before, some helpful tips are available on the Getting Started in CASA page. In this tutorial, the hyperlinks to CASA documentation are for the release version of CASA (currently 3.2.1), not the "stable" version as you will be using for this workshop (3.3 pre-release). There may be some differences compared with what you find on the command line "help" function; the latter contains the most up-to-date information.

As a first step, use listobs to have a look at the MS:

# In CASA
listobs('G55.7+3.4_10s.ms')

Note that throughout this tutorial, we will run tasks using the task(parameter=value) syntax. When called in this manner, all parameters not explicitly set will use their default values.

The logger output will look like this:

##### Begin Task: listobs            #####

================================================================================
           MeasurementSet Name:  /lustre/mkrauss/data_workshop/G55.7+3.4_10s.ms      MS Version 2
================================================================================
   Observer: Dr. Sanjay Sanjay Bhatnagar     Project: T.B.D.  
Observation: EVLA
Data records: 7343848       Total integration time = 26691.5 seconds
   Observed from   23-Aug-2010/01:00:25.0   to   23-Aug-2010/08:25:16.5 (UTC)

   ObservationID = 0         ArrayID = 0
  Date        Timerange (UTC)          Scan  FldId FieldName           nVis   Int(s)   SpwIds      ScanIntent
  23-Aug-2010/01:00:25.0 - 01:01:00.5    16      1 J1925+2106          8008   7.79     [0, 1, 2, 3, 4, 5, 6, 7]    CALIBRATE_PHASE.UNSPECIFIED
              01:01:10.0 - 01:02:30.0    17      1 J1925+2106          25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    CALIBRATE_PHASE.UNSPECIFIED
              01:02:40.0 - 01:04:00.0    18      1 J1925+2106          25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    CALIBRATE_PHASE.UNSPECIFIED
              01:04:10.0 - 01:05:29.5    19      1 J1925+2106          25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    CALIBRATE_PHASE.UNSPECIFIED
              01:05:39.0 - 01:06:59.0    20      1 J1925+2106          25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    CALIBRATE_PHASE.UNSPECIFIED
              01:07:12.0 - 01:08:29.0    21      2 G55.7+3.4           25064  9.33     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              01:08:39.0 - 01:09:59.0    22      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              01:10:09.0 - 01:11:29.0    23      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              01:11:39.0 - 01:12:58.5    24      2 G55.7+3.4           25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              01:13:08.0 - 01:14:28.0    25      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              01:14:38.0 - 01:15:58.0    26      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              01:16:08.0 - 01:17:28.0    27      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              01:17:38.0 - 01:18:57.5    28      2 G55.7+3.4           25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              01:19:07.0 - 01:20:27.0    29      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              01:20:37.0 - 01:21:57.0    30      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              01:22:07.0 - 01:23:27.0    31      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              01:23:37.0 - 01:24:56.5    32      2 G55.7+3.4           25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              01:25:06.0 - 01:26:26.0    33      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              01:26:36.0 - 01:27:56.0    34      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              01:28:06.0 - 01:29:26.0    35      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              01:29:36.0 - 01:30:55.5    36      2 G55.7+3.4           25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              01:31:05.0 - 01:32:25.0    37      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              01:32:35.0 - 01:33:55.0    38      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              01:34:05.0 - 01:35:25.0    39      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              01:35:35.0 - 01:36:54.5    40      2 G55.7+3.4           25272  9.88     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              01:37:07.0 - 01:38:24.0    41      1 J1925+2106          25064  9.26     [0, 1, 2, 3, 4, 5, 6, 7]    CALIBRATE_PHASE.UNSPECIFIED
              01:38:34.0 - 01:39:54.0    42      1 J1925+2106          25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    CALIBRATE_PHASE.UNSPECIFIED
              01:40:04.0 - 01:41:23.5    43      1 J1925+2106          25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    CALIBRATE_PHASE.UNSPECIFIED
              01:41:36.5 - 01:42:53.5    44      2 G55.7+3.4           25064  9.26     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              01:43:03.0 - 01:44:23.0    45      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              01:44:33.0 - 01:45:53.0    46      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              01:46:03.0 - 01:47:23.0    47      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              01:47:33.0 - 01:48:52.5    48      2 G55.7+3.4           25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              01:49:02.0 - 01:50:22.0    49      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              01:50:32.0 - 01:51:52.0    50      2 G55.7+3.4           23400  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              01:52:02.0 - 01:53:22.0    51      2 G55.7+3.4           25272  9.98     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              01:53:32.0 - 01:54:51.5    52      2 G55.7+3.4           23400  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              01:55:01.0 - 01:56:21.0    53      2 G55.7+3.4           25272  9.95     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              01:56:31.0 - 01:57:51.0    54      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              01:58:01.0 - 01:59:21.0    55      2 G55.7+3.4           23400  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              01:59:31.0 - 02:00:50.5    56      2 G55.7+3.4           25272  9.87     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              02:01:00.0 - 02:02:20.0    57      2 G55.7+3.4           23608  9.92     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              02:02:30.0 - 02:03:50.0    58      2 G55.7+3.4           25272  9.98     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              02:04:00.0 - 02:05:20.0    59      2 G55.7+3.4           24648  9.93     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              02:05:30.0 - 02:06:49.5    60      2 G55.7+3.4           24440  9.87     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              02:06:59.0 - 02:08:19.0    61      2 G55.7+3.4           23400  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              02:08:29.0 - 02:09:49.0    62      2 G55.7+3.4           25272  9.98     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              02:09:59.0 - 02:11:18.5    63      2 G55.7+3.4           23400  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              02:11:32.0 - 02:12:48.5    64      1 J1925+2106          25064  9.26     [0, 1, 2, 3, 4, 5, 6, 7]    CALIBRATE_PHASE.UNSPECIFIED
              02:12:58.0 - 02:14:18.0    65      1 J1925+2106          24024  9.78     [0, 1, 2, 3, 4, 5, 6, 7]    CALIBRATE_PHASE.UNSPECIFIED
              02:14:28.0 - 02:15:47.5    66      1 J1925+2106          25272  9.86     [0, 1, 2, 3, 4, 5, 6, 7]    CALIBRATE_PHASE.UNSPECIFIED
              02:16:01.0 - 02:17:18.0    67      2 G55.7+3.4           23200  9.37     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              02:17:28.0 - 02:18:47.5    68      2 G55.7+3.4           25272  9.87     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              02:18:57.0 - 02:20:17.0    69      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              02:20:27.0 - 02:21:47.0    70      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              02:21:57.0 - 02:23:17.0    71      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              02:23:27.0 - 02:24:47.0    72      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              02:24:57.0 - 02:26:16.5    73      2 G55.7+3.4           25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              02:26:26.0 - 02:27:46.0    74      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              02:27:56.0 - 02:29:16.0    75      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              02:29:26.0 - 02:30:46.0    76      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              02:30:56.0 - 02:32:15.5    77      2 G55.7+3.4           25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              02:32:25.0 - 02:33:45.0    78      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              02:33:55.0 - 02:35:15.0    79      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              02:35:25.0 - 02:36:45.0    80      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              02:36:55.0 - 02:38:14.5    81      2 G55.7+3.4           25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              02:38:24.0 - 02:39:44.0    82      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              02:39:54.0 - 02:41:14.0    83      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              02:41:24.0 - 02:42:44.0    84      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              02:42:54.0 - 02:44:13.5    85      2 G55.7+3.4           25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              02:44:23.0 - 02:45:42.5    86      2 G55.7+3.4           25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              02:45:56.0 - 02:47:13.0    87      1 J1925+2106          25064  9.34     [0, 1, 2, 3, 4, 5, 6, 7]    CALIBRATE_PHASE.UNSPECIFIED
              02:47:23.0 - 02:48:43.0    88      1 J1925+2106          25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    CALIBRATE_PHASE.UNSPECIFIED
              02:48:53.0 - 02:50:12.5    89      1 J1925+2106          25272  9.83     [0, 1, 2, 3, 4, 5, 6, 7]    CALIBRATE_PHASE.UNSPECIFIED
              02:50:25.0 - 02:51:42.0    90      2 G55.7+3.4           25064  9.28     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              02:51:52.0 - 02:53:12.0    91      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              02:53:22.0 - 02:54:42.0    92      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              02:54:52.0 - 02:56:11.5    93      2 G55.7+3.4           25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              02:56:21.0 - 02:57:41.0    94      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              02:57:51.0 - 02:59:11.0    95      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              02:59:21.0 - 03:00:41.0    96      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              03:00:51.0 - 03:02:10.5    97      2 G55.7+3.4           25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              03:02:20.0 - 03:03:40.0    98      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              03:03:50.0 - 03:05:10.0    99      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              03:05:20.0 - 03:06:40.0   100      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              03:06:50.0 - 03:08:09.5   101      2 G55.7+3.4           25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              03:08:19.0 - 03:09:39.0   102      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              03:09:49.0 - 03:11:09.0   103      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              03:11:19.0 - 03:12:39.0   104      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              03:12:49.0 - 03:14:08.5   105      2 G55.7+3.4           25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              03:14:18.0 - 03:15:38.0   106      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              03:15:48.0 - 03:17:08.0   107      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              03:17:18.0 - 03:18:38.0   108      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              03:18:48.0 - 03:20:07.5   109      2 G55.7+3.4           25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              03:20:20.0 - 03:21:37.0   110      1 J1925+2106          25064  9.26     [0, 1, 2, 3, 4, 5, 6, 7]    CALIBRATE_PHASE.UNSPECIFIED
              03:21:47.0 - 03:23:07.0   111      1 J1925+2106          25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    CALIBRATE_PHASE.UNSPECIFIED
              03:23:17.0 - 03:24:36.5   112      1 J1925+2106          25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    CALIBRATE_PHASE.UNSPECIFIED
              03:24:49.5 - 03:26:06.5   113      2 G55.7+3.4           25064  9.26     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              03:26:16.0 - 03:27:36.0   114      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              03:27:46.0 - 03:29:06.0   115      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              03:29:16.0 - 03:30:36.0   116      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              03:30:46.0 - 03:32:05.5   117      2 G55.7+3.4           25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              03:32:15.0 - 03:33:35.0   118      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              03:33:45.0 - 03:35:05.0   119      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              03:35:15.0 - 03:36:35.0   120      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              03:36:45.0 - 03:38:04.5   121      2 G55.7+3.4           25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              03:38:14.0 - 03:39:34.0   122      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              03:39:44.0 - 03:41:04.0   123      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              03:41:14.0 - 03:42:34.0   124      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              03:42:44.0 - 03:44:03.5   125      2 G55.7+3.4           25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              03:44:13.0 - 03:45:33.0   126      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              03:45:43.0 - 03:47:03.0   127      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              03:47:13.0 - 03:48:33.0   128      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              03:48:43.0 - 03:50:02.5   129      2 G55.7+3.4           25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              03:50:12.0 - 03:51:32.0   130      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              03:51:42.0 - 03:53:02.0   131      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              03:53:12.0 - 03:54:31.5   132      2 G55.7+3.4           25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              03:54:45.0 - 03:56:02.0   133      1 J1925+2106          25064  9.35     [0, 1, 2, 3, 4, 5, 6, 7]    CALIBRATE_PHASE.UNSPECIFIED
              03:56:12.0 - 03:57:31.5   134      1 J1925+2106          25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    CALIBRATE_PHASE.UNSPECIFIED
              03:57:41.0 - 03:59:00.5   135      1 J1925+2106          24440  9.77     [0, 1, 2, 3, 4, 5, 6, 7]    CALIBRATE_PHASE.UNSPECIFIED
              03:59:14.0 - 04:00:31.0   136      2 G55.7+3.4           25064  9.27     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              04:00:41.0 - 04:02:01.0   137      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              04:02:11.0 - 04:03:30.5   138      2 G55.7+3.4           25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              04:03:40.0 - 04:05:00.0   139      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              04:05:10.0 - 04:06:30.0   140      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              04:06:40.0 - 04:08:00.0   141      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              04:08:10.0 - 04:09:29.5   142      2 G55.7+3.4           25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              04:09:39.0 - 04:10:59.0   143      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              04:11:09.0 - 04:12:29.0   144      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              04:12:39.0 - 04:13:59.0   145      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              04:14:09.0 - 04:15:28.5   146      2 G55.7+3.4           25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              04:15:38.0 - 04:16:58.0   147      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              04:17:08.0 - 04:18:28.0   148      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              04:18:38.0 - 04:19:58.0   149      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              04:20:08.0 - 04:21:27.5   150      2 G55.7+3.4           25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              04:21:37.0 - 04:22:57.0   151      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              04:23:07.0 - 04:24:27.0   152      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              04:24:37.0 - 04:25:57.0   153      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              04:26:07.0 - 04:27:26.5   154      2 G55.7+3.4           25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              04:27:36.0 - 04:28:55.5   155      2 G55.7+3.4           25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              04:29:10.5 - 04:30:26.0   156      1 J1925+2106          22512  9.97     [0, 1, 2, 3, 4, 5, 6, 7]    CALIBRATE_PHASE.UNSPECIFIED
              04:30:36.0 - 04:31:56.0   157      1 J1925+2106          25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    CALIBRATE_PHASE.UNSPECIFIED
              04:32:06.0 - 04:33:25.5   158      1 J1925+2106          25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    CALIBRATE_PHASE.UNSPECIFIED
              04:33:45.0 - 04:34:55.0   159      2 G55.7+3.4           22464  9.9      [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              04:35:05.0 - 04:36:25.0   160      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              04:36:35.0 - 04:37:55.0   161      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              04:38:05.0 - 04:39:24.5   162      2 G55.7+3.4           25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              04:39:34.0 - 04:40:54.0   163      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              04:41:04.0 - 04:42:24.0   164      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              04:42:34.0 - 04:43:54.0   165      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              04:44:04.0 - 04:45:23.5   166      2 G55.7+3.4           25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              04:45:33.0 - 04:46:53.0   167      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              04:47:03.0 - 04:48:23.0   168      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              04:48:33.0 - 04:49:53.0   169      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              04:50:03.0 - 04:51:22.5   170      2 G55.7+3.4           25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              04:51:32.0 - 04:52:52.0   171      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              04:53:02.0 - 04:54:22.0   172      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              04:54:32.0 - 04:55:52.0   173      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              04:56:02.0 - 04:57:21.5   174      2 G55.7+3.4           25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              04:57:31.0 - 04:58:51.0   175      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              04:59:01.0 - 05:00:21.0   176      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              05:00:31.0 - 05:01:51.0   177      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              05:02:01.0 - 05:03:20.5   178      2 G55.7+3.4           25272  9.84     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              05:03:40.0 - 05:04:50.0   179      1 J1925+2106          22464  9.95     [0, 1, 2, 3, 4, 5, 6, 7]    CALIBRATE_PHASE.UNSPECIFIED
              05:05:00.0 - 05:06:20.0   180      1 J1925+2106          25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    CALIBRATE_PHASE.UNSPECIFIED
              05:06:30.0 - 05:07:49.5   181      1 J1925+2106          25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    CALIBRATE_PHASE.UNSPECIFIED
              05:08:04.5 - 05:09:19.5   182      2 G55.7+3.4           22752  9.76     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              05:09:29.0 - 05:10:49.0   183      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              05:10:59.0 - 05:12:19.0   184      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              05:12:29.0 - 05:13:49.0   185      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              05:13:59.0 - 05:15:18.5   186      2 G55.7+3.4           25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              05:15:28.0 - 05:16:48.0   187      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              05:16:58.0 - 05:18:18.0   188      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              05:18:28.0 - 05:19:48.0   189      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              05:19:58.0 - 05:21:17.5   190      2 G55.7+3.4           25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              05:21:27.0 - 05:22:47.0   191      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              05:22:57.0 - 05:24:17.0   192      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              05:24:27.0 - 05:25:47.0   193      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              05:25:57.0 - 05:27:17.0   194      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              05:27:27.0 - 05:28:46.5   195      2 G55.7+3.4           25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              05:28:56.0 - 05:30:16.0   196      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              05:30:26.0 - 05:31:46.0   197      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              05:31:56.0 - 05:33:16.0   198      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              05:33:26.0 - 05:34:45.5   199      2 G55.7+3.4           25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              05:34:55.0 - 05:36:15.0   200      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              05:36:25.0 - 05:37:44.5   201      2 G55.7+3.4           25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              05:37:59.0 - 05:39:15.0   202      1 J1925+2106          25272  9.09     [0, 1, 2, 3, 4, 5, 6, 7]    CALIBRATE_PHASE.UNSPECIFIED
              05:39:25.0 - 05:40:44.5   203      1 J1925+2106          25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    CALIBRATE_PHASE.UNSPECIFIED
              05:40:54.0 - 05:42:13.5   204      1 J1925+2106          25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    CALIBRATE_PHASE.UNSPECIFIED
              05:42:28.0 - 05:43:44.0   205      2 G55.7+3.4           25272  9.08     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              05:43:54.0 - 05:45:14.0   206      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              05:45:24.0 - 05:46:43.5   207      2 G55.7+3.4           25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              05:46:53.0 - 05:48:13.0   208      2 G55.7+3.4           23400  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              05:48:23.0 - 05:49:43.0   209      2 G55.7+3.4           25272  9.98     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              05:49:53.0 - 05:51:13.0   210      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              05:51:23.0 - 05:52:42.5   211      2 G55.7+3.4           23400  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              05:52:52.0 - 05:54:12.0   212      2 G55.7+3.4           25272  9.98     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              05:54:22.0 - 05:55:42.0   213      2 G55.7+3.4           23608  9.92     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              05:55:52.0 - 05:57:12.0   214      2 G55.7+3.4           25272  9.98     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              05:57:22.0 - 05:58:41.5   215      2 G55.7+3.4           23400  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              05:58:51.0 - 06:00:11.0   216      2 G55.7+3.4           25272  9.98     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              06:00:21.0 - 06:01:41.0   217      2 G55.7+3.4           23400  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              06:01:51.0 - 06:03:11.0   218      2 G55.7+3.4           25272  9.98     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              06:03:21.0 - 06:04:40.5   219      2 G55.7+3.4           25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              06:04:50.0 - 06:06:10.0   220      2 G55.7+3.4           23608  9.92     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              06:06:20.0 - 06:07:40.0   221      2 G55.7+3.4           25272  9.98     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              06:07:50.0 - 06:09:10.0   222      2 G55.7+3.4           23400  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              06:09:20.0 - 06:10:39.5   223      2 G55.7+3.4           25272  9.87     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              06:10:49.0 - 06:12:08.5   224      2 G55.7+3.4           23608  9.81     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              06:12:22.5 - 06:13:39.0   225      1 J1925+2106          25272  9.16     [0, 1, 2, 3, 4, 5, 6, 7]    CALIBRATE_PHASE.UNSPECIFIED
              06:13:49.0 - 06:15:09.0   226      1 J1925+2106          24856  9.85     [0, 1, 2, 3, 4, 5, 6, 7]    CALIBRATE_PHASE.UNSPECIFIED
              06:15:19.0 - 06:16:38.5   227      1 J1925+2106          23608  9.81     [0, 1, 2, 3, 4, 5, 6, 7]    CALIBRATE_PHASE.UNSPECIFIED
              06:16:51.5 - 06:18:08.0   228      2 G55.7+3.4           23200  9.2      [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              06:18:18.0 - 06:19:38.0   229      2 G55.7+3.4           24640  9.83     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              06:19:48.0 - 06:21:08.0   230      2 G55.7+3.4           23400  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              06:21:18.0 - 06:22:37.5   231      2 G55.7+3.4           25272  9.87     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              06:22:47.0 - 06:24:07.0   232      2 G55.7+3.4           23608  9.92     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              06:24:17.0 - 06:25:37.0   233      2 G55.7+3.4           25272  9.98     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              06:25:47.0 - 06:27:07.0   234      2 G55.7+3.4           23400  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              06:27:17.0 - 06:28:36.5   235      2 G55.7+3.4           23400  9.87     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              06:28:46.0 - 06:30:06.0   236      2 G55.7+3.4           23600  9.91     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              06:30:16.0 - 06:31:36.0   237      2 G55.7+3.4           23400  9.97     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              06:31:46.0 - 06:33:06.0   238      2 G55.7+3.4           23600  9.91     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              06:33:16.0 - 06:34:35.5   239      2 G55.7+3.4           25272  9.86     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              06:34:45.0 - 06:36:05.0   240      2 G55.7+3.4           23608  9.93     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              06:36:15.0 - 06:37:35.0   241      2 G55.7+3.4           25272  9.98     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              06:37:45.0 - 06:39:05.0   242      2 G55.7+3.4           23400  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              06:39:15.0 - 06:40:34.5   243      2 G55.7+3.4           25272  9.87     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              06:40:44.0 - 06:42:04.0   244      2 G55.7+3.4           22008  9.83     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              06:42:14.0 - 06:43:34.0   245      2 G55.7+3.4           25272  9.96     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              06:43:44.0 - 06:45:04.0   246      2 G55.7+3.4           21800  9.92     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              06:45:14.0 - 06:46:33.5   247      2 G55.7+3.4           25272  9.86     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              06:46:47.0 - 06:48:03.5   248      1 J1925+2106          23632  9.14     [0, 1, 2, 3, 4, 5, 6, 7]    CALIBRATE_PHASE.UNSPECIFIED
              06:48:13.0 - 06:49:33.0   249      1 J1925+2106          24232  9.95     [0, 1, 2, 3, 4, 5, 6, 7]    CALIBRATE_PHASE.UNSPECIFIED
              06:49:43.0 - 06:51:02.5   250      1 J1925+2106          25064  9.85     [0, 1, 2, 3, 4, 5, 6, 7]    CALIBRATE_PHASE.UNSPECIFIED
              06:51:16.0 - 06:52:32.5   251      2 G55.7+3.4           24856  9.1      [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              06:52:42.0 - 06:54:02.0   252      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              06:54:12.0 - 06:55:32.0   253      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              06:55:42.0 - 06:57:02.0   254      2 G55.7+3.4           23400  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              06:57:12.0 - 06:58:32.0   255      2 G55.7+3.4           25272  9.99     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              06:58:42.0 - 07:00:01.5   256      2 G55.7+3.4           23400  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              07:00:11.0 - 07:01:31.0   257      2 G55.7+3.4           25272  9.98     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              07:01:41.0 - 07:03:01.0   258      2 G55.7+3.4           23400  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              07:03:11.0 - 07:04:31.0   259      2 G55.7+3.4           25272  9.98     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              07:04:41.0 - 07:06:00.5   260      2 G55.7+3.4           23400  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              07:06:10.0 - 07:07:30.0   261      2 G55.7+3.4           25272  9.99     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              07:07:40.0 - 07:09:00.0   262      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              07:09:10.0 - 07:10:30.0   263      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              07:10:40.0 - 07:11:59.5   264      2 G55.7+3.4           25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              07:12:09.0 - 07:13:29.0   265      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              07:13:39.0 - 07:14:59.0   266      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              07:15:09.0 - 07:16:29.0   267      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              07:16:39.0 - 07:17:58.5   268      2 G55.7+3.4           25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              07:18:08.0 - 07:19:28.0   269      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              07:19:38.0 - 07:20:57.5   270      2 G55.7+3.4           25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              07:21:11.0 - 07:22:28.0   271      1 J1925+2106          25064  9.38     [0, 1, 2, 3, 4, 5, 6, 7]    CALIBRATE_PHASE.UNSPECIFIED
              07:22:38.0 - 07:23:57.5   272      1 J1925+2106          25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    CALIBRATE_PHASE.UNSPECIFIED
              07:24:07.0 - 07:25:26.5   273      1 J1925+2106          25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    CALIBRATE_PHASE.UNSPECIFIED
              07:25:40.0 - 07:26:57.0   274      2 G55.7+3.4           25064  9.37     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              07:27:07.0 - 07:28:27.0   275      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              07:28:37.0 - 07:29:56.5   276      2 G55.7+3.4           25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              07:30:06.0 - 07:31:26.0   277      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              07:31:36.0 - 07:32:56.0   278      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              07:33:06.0 - 07:34:26.0   279      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              07:34:36.0 - 07:35:55.5   280      2 G55.7+3.4           25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              07:36:05.0 - 07:37:25.0   281      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              07:37:35.0 - 07:38:55.0   282      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              07:39:05.0 - 07:40:25.0   283      2 G55.7+3.4           25272  9.98     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              07:40:35.0 - 07:41:54.5   284      2 G55.7+3.4           25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              07:42:04.0 - 07:43:24.0   285      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              07:43:34.0 - 07:44:54.0   286      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              07:45:04.0 - 07:46:24.0   287      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              07:46:34.0 - 07:47:53.5   288      2 G55.7+3.4           25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              07:48:03.0 - 07:49:23.0   289      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              07:49:33.0 - 07:50:53.0   290      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              07:51:03.0 - 07:52:23.0   291      2 G55.7+3.4           25272  9.95     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              07:52:33.0 - 07:53:52.5   292      2 G55.7+3.4           25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              07:54:02.0 - 07:55:21.5   293      2 G55.7+3.4           25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              07:55:35.0 - 07:56:52.0   294      1 J1925+2106          25064  9.38     [0, 1, 2, 3, 4, 5, 6, 7]    CALIBRATE_PHASE.UNSPECIFIED
              07:57:02.0 - 07:58:22.0   295      1 J1925+2106          25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    CALIBRATE_PHASE.UNSPECIFIED
              07:58:32.0 - 07:59:51.5   296      1 J1925+2106          25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    CALIBRATE_PHASE.UNSPECIFIED
              08:00:04.0 - 08:01:21.0   297      2 G55.7+3.4           25064  9.38     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              08:01:31.0 - 08:02:51.0   298      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              08:03:01.0 - 08:04:21.0   299      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              08:04:31.0 - 08:05:50.5   300      2 G55.7+3.4           25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              08:06:00.0 - 08:07:20.0   301      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              08:07:30.0 - 08:08:50.0   302      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              08:09:00.0 - 08:10:20.0   303      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              08:10:30.0 - 08:11:49.5   304      2 G55.7+3.4           25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              08:11:59.0 - 08:13:19.0   305      2 G55.7+3.4           25272  10       [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              08:13:29.0 - 08:14:48.5   306      2 G55.7+3.4           25272  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    OBSERVE_TARGET.UNSPECIFIED
              08:17:50.5 - 08:17:50.5   308      3 0542+498=3C147      80     4        [0, 1, 2, 3, 4, 5, 6, 7]    CALIBRATE_AMPLI.UNSPECIFIED,UNSPECIFIED.UNSPECIFIED,CALIBRATE_BANDPASS.UNSPECIFIED
              08:17:59.0 - 08:19:18.5   309      3 0542+498=3C147      17152  9.36     [0, 1, 2, 3, 4, 5, 6, 7]    CALIBRATE_AMPLI.UNSPECIFIED,UNSPECIFIED.UNSPECIFIED,CALIBRATE_BANDPASS.UNSPECIFIED
              08:19:28.0 - 08:20:48.0   310      3 0542+498=3C147      18216  10       [0, 1, 2, 3, 4, 5, 6, 7]    CALIBRATE_AMPLI.UNSPECIFIED,UNSPECIFIED.UNSPECIFIED,CALIBRATE_BANDPASS.UNSPECIFIED
              08:20:58.0 - 08:22:18.0   311      3 0542+498=3C147      18216  10       [0, 1, 2, 3, 4, 5, 6, 7]    CALIBRATE_AMPLI.UNSPECIFIED,UNSPECIFIED.UNSPECIFIED,CALIBRATE_BANDPASS.UNSPECIFIED
              08:22:28.0 - 08:23:47.5   312      3 0542+498=3C147      18216  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    CALIBRATE_AMPLI.UNSPECIFIED,UNSPECIFIED.UNSPECIFIED,CALIBRATE_BANDPASS.UNSPECIFIED
              08:23:57.0 - 08:25:16.5   313      3 0542+498=3C147      18216  9.89     [0, 1, 2, 3, 4, 5, 6, 7]    CALIBRATE_AMPLI.UNSPECIFIED,UNSPECIFIED.UNSPECIFIED,CALIBRATE_BANDPASS.UNSPECIFIED
           (nVis = Total number of time/baseline visibilities per scan) 
Fields: 3
  ID   Code Name                RA              Decl          Epoch   SrcId nVis   
  1    D    J1925+2106          19:25:59.60537 +21.06.26.1622 J2000   1     1004816
  2    NONE G55.7+3.4           19:21:40.00000 +21.45.00.0000 J2000   2     6248936
  3    N    0542+498=3C147      05:42:36.13792 +49.51.07.2336 J2000   3     90096  
   (nVis = Total number of time/baseline visibilities per field) 
Spectral Windows:  (8 unique spectral windows and 1 unique polarization setups)
  SpwID  #Chans Frame Ch1(MHz)    ChanWid(kHz)  TotBW(kHz)  Corrs          
  0          64 TOPO  1000        2000          128000      RR  RL  LR  LL  
  1          64 TOPO  1128        2000          128000      RR  RL  LR  LL  
  2          64 TOPO  1256        2000          128000      RR  RL  LR  LL  
  3          64 TOPO  1384        2000          128000      RR  RL  LR  LL  
  4          64 TOPO  1520        2000          128000      RR  RL  LR  LL  
  5          64 TOPO  1648        2000          128000      RR  RL  LR  LL  
  6          64 TOPO  1776        2000          128000      RR  RL  LR  LL  
  7          64 TOPO  1904        2000          128000      RR  RL  LR  LL  
Sources: 24
  ID   Name                SpwId RestFreq(MHz)  SysVel(km/s) 
  1    J1925+2106          0     -              -            
  1    J1925+2106          1     -              -            
  1    J1925+2106          2     -              -            
  1    J1925+2106          3     -              -            
  1    J1925+2106          4     -              -            
  1    J1925+2106          5     -              -            
  1    J1925+2106          6     -              -            
  1    J1925+2106          7     -              -            
  2    G55.7+3.4           0     -              -            
  2    G55.7+3.4           1     -              -            
  2    G55.7+3.4           2     -              -            
  2    G55.7+3.4           3     -              -            
  2    G55.7+3.4           4     -              -            
  2    G55.7+3.4           5     -              -            
  2    G55.7+3.4           6     -              -            
  2    G55.7+3.4           7     -              -            
  3    0542+498=3C147      0     -              -            
  3    0542+498=3C147      1     -              -            
  3    0542+498=3C147      2     -              -            
  3    0542+498=3C147      3     -              -            
  3    0542+498=3C147      4     -              -            
  3    0542+498=3C147      5     -              -            
  3    0542+498=3C147      6     -              -            
  3    0542+498=3C147      7     -              -            
Antennas: 27:
  ID   Name  Station   Diam.    Long.         Lat.         
  0    ea01  W09       25.0 m   -107.37.25.2  +33.53.51.0  
  1    ea02  E02       25.0 m   -107.37.04.4  +33.54.01.1  
  2    ea03  E09       25.0 m   -107.36.45.1  +33.53.53.6  
  3    ea04  W01       25.0 m   -107.37.05.9  +33.54.00.5  
  4    ea05  W08       25.0 m   -107.37.21.6  +33.53.53.0  
  5    ea06  N06       25.0 m   -107.37.06.9  +33.54.10.3  
  6    ea07  E05       25.0 m   -107.36.58.4  +33.53.58.8  
  7    ea08  N01       25.0 m   -107.37.06.0  +33.54.01.8  
  8    ea09  E06       25.0 m   -107.36.55.6  +33.53.57.7  
  9    ea10  N03       25.0 m   -107.37.06.3  +33.54.04.8  
  10   ea11  E04       25.0 m   -107.37.00.8  +33.53.59.7  
  11   ea12  E08       25.0 m   -107.36.48.9  +33.53.55.1  
  12   ea13  N07       25.0 m   -107.37.07.2  +33.54.12.9  
  13   ea15  W06       25.0 m   -107.37.15.6  +33.53.56.4  
  14   ea16  W02       25.0 m   -107.37.07.5  +33.54.00.9  
  15   ea17  W07       25.0 m   -107.37.18.4  +33.53.54.8  
  16   ea18  N09       25.0 m   -107.37.07.8  +33.54.19.0  
  17   ea19  W04       25.0 m   -107.37.10.8  +33.53.59.1  
  18   ea20  N05       25.0 m   -107.37.06.7  +33.54.08.0  
  19   ea21  E01       25.0 m   -107.37.05.7  +33.53.59.2  
  20   ea22  N04       25.0 m   -107.37.06.5  +33.54.06.1  
  21   ea23  E07       25.0 m   -107.36.52.4  +33.53.56.5  
  22   ea24  W05       25.0 m   -107.37.13.0  +33.53.57.8  
  23   ea25  N02       25.0 m   -107.37.06.2  +33.54.03.5  
  24   ea26  W03       25.0 m   -107.37.08.9  +33.54.00.1  
  25   ea27  E03       25.0 m   -107.37.02.8  +33.54.00.5  
  26   ea28  N08       25.0 m   -107.37.07.5  +33.54.15.8  

##### End Task: listobs              #####

We can see that there are three sources in this observation:

  • J1925+2106, field ID 1: the phase calibrator;
  • G55.7+3.4, field ID 2: the supernova remnant;
  • 0542+498=3C147, field ID 3: the flux and bandpass calibrator.

We can also see that these sources have associated "scan intents", which indicate their function in the observation, and may be selected on using CASA tasks. In particular,

  • CALIBRATE_PHASE indicates that this is a scan to be used for gain calibration;
  • OBSERVE_TARGET indicates that this is the science target;
  • CALIBRATE_AMPLI indicates that this is to be used for flux calibration; and
  • CALIBRATE_BANDPASS indicates that these scans are to be used for bandpass calibration.

Note that 3C147 is to be used for both flux and bandpass calibration.

We can see the antenna configuration for this observation using plotants:

# In CASA
plotants('G55.7+3.4_10s.ms')
plotants image

This shows that antennas ea01, ea18, and ea03 were on the extreme ends of the west, north, and east arms, respectively. The antenna position diagram is particularly useful in determining if a co-located set of antennas is affected, which can help with flagging.

We may also inspect the raw data using plotms. To start with, let's look at a subset of scans on the supernova remnant:

# In CASA
plotms(vis='G55.7+3.4_10s.ms', scan='30,75,120,165,190,235,303',
       antenna='ea24', xaxis='freq', yaxis='amp', coloraxis='spw',
       iteraxis='scan', correlation='rr,ll')

The coloraxis parameter indicates that a different color will be assigned to each spectral window, and the iteraxis parameter tells plotms to display a new plot for each scan. We have chosen only one antenna (ea24) and just the right and left circular polarizations (without the cross-hand terms) to reduce the amount of data in the selection, One can flip through these plots using the green arrows located at the bottom of the plotting gui: the double-left arrow will display the very first plot in the set, the single left arrow will go back one plot, and the right arrows have similar behavior for moving forward in the set.

plotms image

Flipping through the scans, it's clear that there is significant time- and frequency-variable RFI present in this observation. Since this is L-band data taken in the most compact EVLA configuration ("D"), this comes as no surprise. However, it also poses one of the greatest challenges for obtaining a good image.

In particular, we can see that two spectral windows (SPWs) are quite badly affected. To determine which these are, click in the "Mark Regions" tool at the bottom of the gui (the open box with a green "plus" sign), and use the mouse to select a few of the highest-amplitude points in each of these SPWs. Click on the "Locate" button (magnifying glass), and information associated with the selected points will be displayed in the logger window:

Frequency in [1.23 1.25833] or [1.58167 1.62833], Amp in [23.0201 25.6823] or [59.5078 62.6398]:
Scan=30 Field=G55.7+3.4[2] Time=2010/08/23/01:20:57.0 BL=ea03&ea24[2&22] Spw=1 Chan=59 Freq=1.246 Corr=RR X=1.246 Y=23.032  (73964/11/748)
Scan=30 Field=G55.7+3.4[2] Time=2010/08/23/01:20:57.0 BL=ea12&ea24[11&22] Spw=1 Chan=59 Freq=1.246 Corr=RR X=1.246 Y=23.5243  (76268/11/3052)
Scan=30 Field=G55.7+3.4[2] Time=2010/08/23/01:21:07.0 BL=ea03&ea24[2&22] Spw=1 Chan=59 Freq=1.246 Corr=RR X=1.246 Y=23.6116  (80620/12/748)
Scan=30 Field=G55.7+3.4[2] Time=2010/08/23/01:21:07.0 BL=ea12&ea24[11&22] Spw=1 Chan=59 Freq=1.246 Corr=RR X=1.246 Y=23.4432  (82924/12/3052)
Scan=30 Field=G55.7+3.4[2] Time=2010/08/23/01:21:17.0 BL=ea03&ea24[2&22] Spw=1 Chan=59 Freq=1.246 Corr=RR X=1.246 Y=23.1712  (87276/13/748)
Scan=30 Field=G55.7+3.4[2] Time=2010/08/23/01:21:37.0 BL=ea03&ea24[2&22] Spw=1 Chan=59 Freq=1.246 Corr=LR X=1.246 Y=23.2663  (100590/15/750)
Scan=30 Field=G55.7+3.4[2] Time=2010/08/23/01:21:47.0 BL=ea03&ea24[2&22] Spw=1 Chan=59 Freq=1.246 Corr=LR X=1.246 Y=23.4466  (107246/16/750)
Scan=30 Field=G55.7+3.4[2] Time=2010/08/23/01:21:57.0 BL=ea03&ea24[2&22] Spw=1 Chan=59 Freq=1.246 Corr=RR X=1.246 Y=23.7536  (113900/17/748)
Scan=30 Field=G55.7+3.4[2] Time=2010/08/23/01:21:07.0 BL=ea12&ea24[11&22] Spw=4 Chan=41 Freq=1.602 Corr=RR X=1.602 Y=61.9097  (262564/39/2980)
Scan=30 Field=G55.7+3.4[2] Time=2010/08/23/01:21:17.0 BL=ea12&ea24[11&22] Spw=4 Chan=41 Freq=1.602 Corr=RR X=1.602 Y=61.1769  (269220/40/2980)
Scan=30 Field=G55.7+3.4[2] Time=2010/08/23/01:21:27.0 BL=ea12&ea24[11&22] Spw=4 Chan=41 Freq=1.602 Corr=RR X=1.602 Y=60.1834  (275876/41/2980)
Found 11 points (11 unflagged) among 479232 in 0.04s.

We can see that SPWs 1 and 4 are among the worst affected by RFI. At this point, feel free to play around a bit more with plotms; you might try experimenting with different axes for iteration (under the "Iter" left-hand tab), different data selection parameters (under "Data"), different axes ("Axes"), or different averaging techniques (under "Data").

A priori calibration and flagging

Before we proceed with further processing, we should check the observation log to see if there were any issues noted during the run that need to be addressed. The observing log file is linked to the archive web page for this observation (at far right; under "logs etc."). Looking at the log, we can see that antenna ea07 may need a position correction, and antennas ea06, ea17, ea20, and ea26 did not have L-band receivers installed at the time and should be flagged.

Antenna position correction

Correcting the position of an antenna is done with the task gencal. This is important, because the observed visibilities are a function of [math]\displaystyle{ u }[/math] and [math]\displaystyle{ v }[/math]. If an antenna's position is incorrect, then [math]\displaystyle{ u }[/math] and [math]\displaystyle{ v }[/math] will be calculated incorrectly, and there will be errors in any image derived from the data.

Any corrections can be ascertained from the EVLA/VLA Baseline Corrections site. For future reference, be sure to read to the bottom of that document to see how to calculate the additive corrections. Fortunately, the current case is simple as there is only a single correction for antenna ea07.

To find the necessary x, y, and z-offsets to perform the position correction, first select the year "2010" for the EVLA baseline corrections. From the log, we know that the observation was performed on 23 August 2010; looking at the position table, we can see that antenna ea07 was moved on 5 August, but that the updated position was not included in the online system's database until 15 September. Therefore, we need to record the x, y, and z-position information for this antenna and input it into gencal to create a position-correction calibration table:

# In CASA
gencal(vis='G55.7+3.4_10s.ms', caltable='G55.7+3.4_10s.pos',
       caltype='antpos', antenna='ea07',
       parameter=[0.0087, 0.0137,  0.0000])

We will carry this table throughout the calibration to account for the revised antenna position for ea07.

Flagging non-operational antennas

In addition to updating the position for antenna ea07, we have to flag antennas ea06, ea17, ea20, and ea26, since these did not have working L-band receivers at the time of observation. We do this with the task flagdata:

# In CASA
flagdata(vis='G55.7+3.4_10s.ms', mode='manualflag',
         antenna='ea06,ea17,ea20,ea26')

Note that the first thing flagdata does is create a backup flag file, in this case named "manualflag_1". This flag file contains a copy of the flags present in the MS prior to the requested flagging operation, and can be found inside the <MS_name>.flagversions directory, along with any other backed up flag files. Since these flag files take up a fair amount of space (in this particular case, 230 MB), we won't me making them every time we run flagdata -- the automatic flag backup can be turned off by setting flagbackup=False. However, it's good to keep a record of the names of the backup files and the associated processing step, in case you wish to restore a previous version of the flags.

Flagging shadowed antennas and zero-amplitude data

Since this is the most compact EVLA configuration, there may be instances where one antenna blocks, or "shadows" another. Therefore, we will run flagdata to remove these data:

# In CASA
flagdata(vis='G55.7+3.4_10s.ms', mode='shadow',
         flagbackup=False)

In this particular observation, there appears not to be any data affected by shadowing, as can be seen in the logger report.

In addition, there may be times during which the correlator writes out pure zero-valued data. In order to remove this bad data, we run flagdata to clip against the data values:

# In CASA
flagdata(vis='G55.7+3.4_10s.ms', mode='manualflag',
         clipminmax=[0.0, 1E-10], flagbackup=False,
         clipoutside=False, clipcolumn='DATA', 
         clipexpr=['ABS RR','ABS LL','ABS RL','ABS LR'])
  • clipminmax=[0.0, 1E-10]: this is the clip range to be used. Since we cannot give it [0.0, 0.0], the second value is extremely low to pick up only zero-valued data.
  • clipoutside=False: tells flagdata which data to flag; in this case; we wish to flag inside the specified data range.
  • clipcolumn='DATA': the column on which to flag.
  • clipexpr=['ABS RR','ABS LL','ABS RL','ABS LR']: flag any correlation which is zero-valued.

Inspecting the logger output which is generated by flagdata shows that there is a very small quantity of zero-valued data present in this MS.

Automatic RFI excision

Now, we move on to one of the most difficult parts of L-band, D-configuration data processing: excising the RFI. For the original reduction of this MS, flagging was done by hand and took several weeks. The resulting data are offered as an option for the imaging stage of this tutorial (because the care, by-hand flagging does yield a better image); however, it's not practical to undertake this endeavor for the present workshop.

Therefore, we will demonstrate the use of the automatic RFI excision task, testautoflag, currently available in CASA. It should be noted that this task is under development, and we expect changes and improvements to be made at a rapid pace over the course of the next year or so.

Hanning-smoothing data

Prior to flagging any data which is affect by strong RFI, one should Hanning-smooth over channel to remove Gibbs ringing. This is done with the task hanningsmooth, which can either write a new, Hanning-smoothed MS or directly operate on the requested column of the input MS. To conserve space, we will request the latter. Note that if you wish to make your own "before" and "after" plots, you should make the first prior to running hanningsmooth, since you will be overwriting the non-Hanning-smoothed data in the process -- and this is not reversible.

# In CASA
hanningsmooth(vis='G55.7+3.4_10s.ms', datacolumn='data')

This task will take a little while to run (likely around 10 minutes).

before Hanning smoothing
after Hanning smoothing

We can compare the Hanning-smoothed data with the raw data by plotting a subset of data to show the result of Hanning-smoothing (see plots to the left and right).

As you can see, the smoothing has spread the single-channel RFI into three channels, but has also removed the effects of some of the worst RFI from a number of channels. Overall, this will improve our ability to flag RFI from the data and retain as much good data as possible.

Unfortunately, hanningsmooth will also remove the MODEL_DATA and CORRECTED_DATA (also known as the "scratch") columns, so to add these back in, we must run clearcal:

# In CASA
clearcal(vis='G55.7+3.4_10s.ms')

This will also take a little while to run (again, around 10 minutes), since it will be writing approximately 22 GB back to disk.

Using phase calibration source for preliminary bandpass calibration

In order to get the best possible result from the automatic RFI excision, we will first apply bandpass calibration to the MS. Since the RFI is time-variable, using the phase calibration source to make an average bandpass over the entire observation will mitigate the amount of RFI present in the calculated bandpass. (For the final calibration, we will use the designated bandpass source 3C147; however, since this object was only observed in the last set of scans, it doesn't sample the time variability and would not provide a good average bandpass.)

Since there are likely to be gain variations over the course of the observation, we will run gaincal to solve for an initial set of antenna-based phases over a narrow range of channels. These will be used to create the bandpass solutions. While amplitude variations will have little effect on the bandpass solutions, it is important to solve for these phase variations with sufficient time resolution to prevent decorrelation when vector averaging the data in computing the bandpass solutions.

In order to choose a narrow range of channels for each spectral window which are relatively RFI-free over the course of the observation, we can look at the data with plotms. Note that it's important to only solve for phase using a narrow channel range, since an antenna-specific delay will cause the phase to vary with respect to frequency over the spectral window, perhaps by a substantial amount.

# In CASA
plotms(vis='G55.7+3.4_10s.ms', scan='30,75,120,165,190,235,303',
       antenna='ea24', xaxis='channel', yaxis='amp', iteraxis='spw',
       yselfscale=True, correlation='rr,ll')
  • yselfscale=True: sets the y-scaling to be for the currently displayed spectral window, since some spectral windows have much worse RFI and will skew the scale for others.

Looking at these plots, we can choose appropriate channel ranges for each SPW:

SPW 0: 10-13
SPW 1: 30-33
SPW 2: 32-35
SPW 3: 30-33
SPW 4: 35-38
SPW 5: 30-33
SPW 6: 30-33
SPW 7: 46-49

Using these channel ranges, we run gaincal to perform phase-only solutions over the course of the observation:

# In CASA
gaincal(vis='G55.7+3.4_10s.ms', caltable='G55.7+3.4_10s.initPh',
        intent='CALIBRATE_PHASE*', solint='int',
        spw='0:10~13,1;3;5~6:30~33,2:32~35,4:35~38,7:46~49',
        refant='ea24', minblperant=3,
        minsnr=3.0, calmode='p', gaintable='G55.7+3.4_10s.pos')
  • caltable='G55.7+3.4_10s.initPh': this is the output calibration table that will be written.
  • intent='CALIBRATE_PHASE*': this is the way we have chosen to select data. Alternatively, we could have used "field='J1925+2106'", since this is the only source with the CALIBRATE_PHASE* scan intent. Note the use of the wildcard character "*" at the end of the string; this accounts for the fact that all the intents end with ".UNSPECIFIED". We could just as well have used "*PHASE*".
  • solint='int': we request a solution for each 10-second integration.
  • spw='0:10~13,1;3;5~6:30~33,2:32~35,4:35~38,7:46~49': note the syntax of this selection: a ":" is used to separate the SPW from channel selection, ";" is used to separate within this selection, and "~" is used to indicate an inclusive range.
  • refant='ea24': we have chosen ea24 as the reference antenna after inspecting the antenna position diagram (see above). It is relatively close to, but not directly in, the center of the array, which could be important in D-configuration, since you don't want the reference antenna to have a high probability of being shadowed by nearby antennas.
  • minblperant=3: the minimum number of baselines which must be present to attempt a phase solution.
  • minsnr=3.0: the minimum signal-to-noise a solution must have to be considered acceptable. Note that solutions which fail this test will cause these data to be flagged downstream of this calibration step.
  • calmode='p': perform phase-only solutions.
  • gaintable='G55.7+3.4_10s.pos': use the antenna position correction for ea07 that we created earlier.

Note that a number of solutions do not pass the requirements of the minimum 3 baselines (generating the terminal message "Insufficient unflagged antennas to proceed with this solve.") or minimum signal-to-noise ratio (outputting "n of x solutions rejected due to SNR < 3 ..."). A particularly large number of solutions are rejected in SPW 4, where the RFI is most severe.

Phases for antenna ea09
Phases in SPW 4

We can inspect the resulting calibration table with plotcal:

# In CASA
plotcal(caltable='G55.7+3.4_10s.initPh', xaxis='time', yaxis='phase',
        iteration='antenna', spw='0', plotrange=[-1,-1,-180,180])

This iterates over antenna for a single spectral window; we can see that the phase does not change much over the course of the observation for SPW 0. We may also iterate over spectral window for a subset of antennas:

# In CASA
plotcal(caltable='G55.7+3.4_10s.initPh', xaxis='time', yaxis='phase',
        iteration='spw', antenna='ea01,ea05,ea24', plotrange=[-1,-1,-180,180])

Clearly, the phases are affected by RFI in some places, especially in SPW 4.

Using this phase information, we create time-averaged bandpass solutions for the phase calibration source:

# In CASA
bandpass(vis='G55.7+3.4_10s.ms', caltable='G55.7+3.4_10s.initBP',
         intent='CALIBRATE_PHASE*', solint='inf',
         combine='scan', refant='ea24', minblperant=3, minsnr=10.0,
         gaintable=['G55.7+3.4_10s.pos', 'G55.7+3.4_10s.initPh'],
         interp=['', 'nearest'])
  • solint='inf', combine='scan': this requests that the solution interval be combined over scan, so that we will get one solution per antenna.
  • gaintable=['G55.7+3.4_10s.pos', 'G55.7+3.4_10s.initPh']: we will pre-apply both the corrected antenna position as well as the initial phase solutions.
  • interp=[, 'nearest']: by default, gaincal will use linear interpolation for pre-applied calibration. However, we want the nearest phase solution to be used for a given time.

Again, we can see that a number of solutions have been rejected by our choices of minblperant and minsnr.

Bandpasses for antennas ea20 - ea28

We may plot the bandpasses with plotcal; first looking at the amplitudes:

# In CASA
plotcal(caltable='G55.7+3.4_10s.initBP', xaxis='freq', yaxis='amp',
        iteration='antenna', subplot=331)
  • subplot=331: displays 3x3 plots per screen

Also, we can look at the phase solutions:

# In CASA
plotcal(caltable='G55.7+3.4_10s.initBP', xaxis='freq', yaxis='phase',
        iteration='antenna', subplot=331)

We can see that SPW 4 is virtually wiped out by RFI; furthermore, there are channels in SPW 1 that are consistently badly affected. Prior to running testautoflag, we will flag these manually. In addition, we will flag the first 9 channels in SPW 0, since this is affected by an issue which causes the noise to be substantially higher:

# In CASA
flagdata(vis='G55.7+3.4_10s.ms', mode='manualflag', spw='0:0~8,1:41~63,4')

Note that this has created a backup flag file called "manualflag_2". Now we apply the antenna position correction and this bandpass calibration to the data:

# In CASA
applycal(vis='G55.7+3.4_10s.ms',
         gaintable=['G55.7+3.4_10s.pos', 'G55.7+3.4_10s.initBP'],
         calwt=False)

This operation will flag data for which correspond to flagged solutions, so applycal makes a backup version of the flags prior to operating on the data -- in this case, it's called "before_applycal_1". Note that running applycal will take a little while, likely around 15 minutes.

To see the corrected data, we can plot the data as we did before, choosing "ydatacolumn='corrected'" this time:

# In CASA
plotms(vis='G55.7+3.4_10s.ms', scan='30,75,120,165,190,235,303',
       antenna='ea24', xaxis='freq', yaxis='amp', coloraxis='spw',
       iteraxis='scan', ydatacolumn='corrected')

Note that some of the worst RFI is no longer there; also note that the amplitude scale has changed, since the bandpass solutions include amplitude scaling.

Running testautoflag

Now that we have bandpass-corrected data with some of the worst RFI flagged out, we will run testautoflag. Note that there are many parameters which may be modified:

# In CASA
inp testautoflag
---------> inp(testautoflag)
#  testautoflag :: Task for automatic identification and flagging of RFI
vis                 =         ''        #  Name of measurement set
field               =         ''        #  Field names or field index numbers: ''==>all, field='0~2,3C286'
spw                 =         ''        #  spectral-window/frequency/channel
selectdata          =      False        #  Other data selection parameters (antenna, timerange etc)
datacolumn          =     'data'        #  Data column on which to operate (data,corrected,model,residual)
ntime               =        100        #  Time-range (seconds) to use for each chunk
corrs               =         []        #  list of ones/zeros to choose correlations (e.g. [1,0,0,1]). Default(all)
tfcrop              =       True        #  Automatic identification and flagging of narrow-band RFI
     timecutoff     =        4.0        #  Flagging thresholds in units of deviation from the fit
     freqcutoff     =        3.0        #  Flagging thresholds in units of deviation from the fit
     timefit        =     'line'        #  Fitting function for the time direction (poly/line)
     freqfit        =     'poly'        #  Fitting function for the frequency direction (poly/line)
     maxnpieces     =          7        #  Number of pieces in the polynomial-fits (for 'freqfit' or 'timefit' = 'poly')
     flagdimension  = 'freqtime'        #  Dimensions along which to calculate fits (freq/time/freqtime/timefreq)
     usewindowstats =     'none'        #  Calculate additional flags using sliding window statistics (none,sum,std,both)
     halfwin        =          1        #  Half-width of sliding window to use with 'usewindowstats' (1,2,3).

extendflags         =       True        #  Extend flags in various ways
     extendpols     =      False        #  If any correlation is flagged, flag all correlations
     growtime       =       50.0        #  Flag all 'ntime' integrations if more than X% of the timerange is flagged (0-100)
     growfreq       =       50.0        #  Flag all selected channels if more than X% of the frequency range is flagged(0-100)
     growaround     =       True        #  Flag data based on surrounding flags
     flagneartime   =      False        #  Flag one timestep before and after a flagged one (True/False)
     flagnearfreq   =      False        #  Flag one channel before and after a flagged one (True/False)

datadisplay         =      False        #  Display data and flags at runtime
plotsummary         =      False        #  Parse the flag counts and show some plots at the end (True/False)
usepreflags         =       True        #  Use flags already present in the MS
preflagzeros        =       True        #  Flag visibilities with values equal to 0.0
writeflags          =      False        #  Write Flags to the MS
async               =      False        #  If true the taskname must be started using testautoflag(...)

Additional information on the algorithm used in this task ("TFCrop"), as well as some heuristics and more examples, can be found on this webpage.

Following are a set of testautoflag commands which have been found to work reasonably well with these data. Please take some time to play with the parameters and the plotting capabilities. Since these runs set "datadisplay=True" and "writeflags=False", the flags are displayed but not actually written to the MS. This allows one to try different sets of parameters before actually applying the flags to the data.

Some representative plots are also displayed; note that testautoflag works quite well with narrow-band RFI but struggles with wide-band RFI or spectral windows where many channels have already been flagged.

testautoflag screenshot
testautoflag screenshot
testautoflag screenshot
# In CASA
testautoflag(vis='G55.7+3.4_10s.ms', field='2', spw='0',
             datacolumn='corrected', freqfit='line',
             timefit='poly', maxnpieces=1, ntime=200,
             datadisplay=True, timecutoff=4, freqcutoff=2.7,
             extendpols=True, preflagzeros=False, flagnearfreq=True)

testautoflag(vis='G55.7+3.4_10s.ms', field='2', spw='1',
             datacolumn='corrected', freqfit='line',
             timefit='poly', maxnpieces=1, ntime=200,
             datadisplay=True, timecutoff=4, freqcutoff=2.7,
             extendpols=True, preflagzeros=False, flagnearfreq=True)

testautoflag(vis='G55.7+3.4_10s.ms', field='2', spw='2',
             datacolumn='corrected', freqfit='line',
             timefit='poly', maxnpieces=1, ntime=200,
             datadisplay=True, timecutoff=4, freqcutoff=2.8,
             extendpols=True, preflagzeros=False, flagnearfreq=True)

testautoflag(vis='G55.7+3.4_10s.ms', field='2', spw='3',
             datacolumn='corrected', freqfit='line',
             timefit='poly', maxnpieces=1, ntime=200,
             datadisplay=True, timecutoff=4, freqcutoff=3,
             extendpols=True, preflagzeros=False, flagnearfreq=True)

testautoflag(vis='G55.7+3.4_10s.ms', field='2', spw='5',
             datacolumn='corrected', freqfit='line',
             timefit='poly', maxnpieces=1, ntime=200,
             datadisplay=True, timecutoff=4, freqcutoff=3,
             extendpols=True, preflagzeros=False, flagnearfreq=True)

testautoflag(vis='G55.7+3.4_10s.ms', field='2', spw='6',
             datacolumn='corrected', freqfit='line',
             timefit='poly', maxnpieces=1, ntime=200,
             datadisplay=True, timecutoff=4, freqcutoff=3.5,
             extendpols=True, preflagzeros=False, flagnearfreq=True)

testautoflag(vis='G55.7+3.4_10s.ms', field='2', spw='7',
             datacolumn='corrected', freqfit='line',
             timefit='poly', maxnpieces=1, ntime=200,
             datadisplay=True, timecutoff=4, freqcutoff=3,
             extendpols=True, preflagzeros=False, flagnearfreq=True)

Once you are happy (or as much so as possible), run testautoflag with "writeflags=True" to write the flags to the data. Note that we are now flagging all sources, and the spectral windows have been grouped according to the "freqcutoff" parameter, which is the only parameter that has changed in this example. Of course, the amount of time one may spend investigating the data and trying different parameters could be vast. It's important to keep in mind that the reason we're using automatic flagging in the first place is to minimize the amount of time a human must spend worrying about RFI excision.

# In CASA
testautoflag(vis='G55.7+3.4_10s.ms', spw='0~1',
             datacolumn='corrected', freqfit='line',
             timefit='poly', maxnpieces=1, ntime=200,
             writeflags=True, timecutoff=4, freqcutoff=2.7,
             extendpols=True, preflagzeros=False, flagnearfreq=True)

testautoflag(vis='G55.7+3.4_10s.ms', spw='2',
             datacolumn='corrected', freqfit='line',
             timefit='poly', maxnpieces=1, ntime=200,
             writeflags=True, timecutoff=4, freqcutoff=2.8,
             extendpols=True, preflagzeros=False, flagnearfreq=True)

testautoflag(vis='G55.7+3.4_10s.ms', spw='3,5,7',
             datacolumn='corrected', freqfit='line',
             timefit='poly', maxnpieces=1, ntime=200,
             writeflags=True, timecutoff=4, freqcutoff=3,
             extendpols=True, preflagzeros=False, flagnearfreq=True)

testautoflag(vis='G55.7+3.4_10s.ms', spw='6',
             datacolumn='corrected', freqfit='line',
             timefit='poly', maxnpieces=1, ntime=200,
             writeflags=True, timecutoff=4, freqcutoff=3.5,
             extendpols=True, preflagzeros=False, flagnearfreq=True)

Running testautoflag will take some time (likely around 15 minutes), as the task must pass through all of the data. As it runs, the logger will display the fraction of data flagged in each "chunk", as well as summaries at the end. From this set of runs (the output has been rearranged to make it easier to read):

Summary of Flag Counts
Field[1]:J1925+2106  Spw[0]:1000.00MHz-1126.00MHz --> Flagged 78.29%.
Field[2]:G55.7+3.4  Spw[0]:1000.00MHz-1126.00MHz --> Flagged 83.91%.
Field[3]:0542+498=3C147  Spw[0]:1000.00MHz-1126.00MHz --> Flagged 51.10%.

Field[1]:J1925+2106  Spw[1]:1128.00MHz-1254.00MHz --> Flagged 99.49%.
Field[2]:G55.7+3.4  Spw[1]:1128.00MHz-1254.00MHz --> Flagged 99.48%.
Field[3]:0542+498=3C147  Spw[1]:1128.00MHz-1254.00MHz --> Flagged 87.58%.

Field[1]:J1925+2106  Spw[2]:1256.00MHz-1382.00MHz --> Flagged 58.28%.
Field[2]:G55.7+3.4  Spw[2]:1256.00MHz-1382.00MHz --> Flagged 60.99%.
Field[3]:0542+498=3C147  Spw[2]:1256.00MHz-1382.00MHz --> Flagged 49.12%.

Field[1]:J1925+2106  Spw[3]:1384.00MHz-1510.00MHz --> Flagged 35.99%.
Field[2]:G55.7+3.4  Spw[3]:1384.00MHz-1510.00MHz --> Flagged 37.49%.
Field[3]:0542+498=3C147  Spw[3]:1384.00MHz-1510.00MHz --> Flagged 33.37%.

Field[1]:J1925+2106  Spw[5]:1648.00MHz-1774.00MHz --> Flagged 45.38%.
Field[2]:G55.7+3.4  Spw[5]:1648.00MHz-1774.00MHz --> Flagged 47.03%.
Field[3]:0542+498=3C147  Spw[5]:1648.00MHz-1774.00MHz --> Flagged 37.64%.

Field[1]:J1925+2106  Spw[6]:1776.00MHz-1902.00MHz --> Flagged 33.12%.
Field[2]:G55.7+3.4  Spw[6]:1776.00MHz-1902.00MHz --> Flagged 34.13%.
Field[3]:0542+498=3C147  Spw[6]:1776.00MHz-1902.00MHz --> Flagged 30.61%.

Field[1]:J1925+2106  Spw[7]:1904.00MHz-2030.00MHz --> Flagged 61.48%.
Field[2]:G55.7+3.4  Spw[7]:1904.00MHz-2030.00MHz --> Flagged 63.38%.
Field[3]:0542+498=3C147  Spw[7]:1904.00MHz-2030.00MHz --> Flagged 63.76%.

The vast majority of spectral windows 0 and 1 have been flagged, so we will make the executive decision at this point to completely flag these data:

# In CASA
flagdata(vis='G55.7+3.4_10s.ms', mode='manualflag', spw='0~1')

Evaluating results & further manual flagging

Now that the automatic RFI excision is complete, have a look at the data with plotms and evaluate the results:

plotms display of autoflagged data
# In CASA
plotms(vis='G55.7+3.4_10s.ms', scan='30,75,120,165,190,235,303',
       antenna='ea24', xaxis='freq', yaxis='amp', iteraxis='scan',
       correlation='rr,ll', spw='2~3,5~7', coloraxis='spw')

Looking at these plots, it's clear that SPW 7 is still dominated by RFI in most cases. Manually flag these data:

# In CASA
flagdata(vis='G55.7+3.4_10s.ms', mode='manualflag', spw='7')

Another instructive way to view the data is by baseline and uv-distance. Note that we're plotting all baselines in these plots, rather than just baselines to ea24 as before.

# In CASA
plotms(vis='G55.7+3.4_10s.ms', scan='30,75,120,165,190,235,303',
       xaxis='baseline', yaxis='amp', iteraxis='spw',
       correlation='rr,ll', spw='2~3,5~6', coloraxis='antenna1')

The baseline between ea01 and ea05 should be flagged (we specify an explicit spectral window selection here; this will help flagdata run more quickly):

# In CASA
flagdata(vis='G55.7+3.4_10s.ms', mode='manualflag', antenna='ea01&ea05', 
         spw='2~3,5~6')
# In CASA
plotms(vis='G55.7+3.4_10s.ms', scan='30,75,120,165,190,235,303',
       xaxis='uvdist', yaxis='amp', iteraxis='spw',
       correlation='rr,ll', spw='2~3,5~6', coloraxis='antenna1')

This reveals a few more spectral-window-specific baselines that should be flagged. This time, we'll use the flagcmd task to input a list of flagging commands:

# In CASA
flagList = ["mode='manualflag' spw='5' antenna='ea02&ea09;ea16&ea19;ea08&ea16;ea02&ea16;ea08&ea22'", \
            "mode='manualflag' spw='2' antenna='ea03&ea15;ea12&ea19;ea19&ea23;ea09&ea16;ea03&ea19;ea07&ea16;ea11&ea16'", \
            "mode='manualflag' spw='2' uvrange='0~100'"]

flagcmd(vis='G55.7+3.4_10s.ms', flagmode='cmd', command=flagList)

One final plot of the flagged data using plotms -- this time, we'll use a slightly different set of scans to be sure we haven't missed any serious RFI:

# In CASA
plotms(vis='G55.7+3.4_10s.ms', scan='22,48,80,100,130,150,174,200,242,267,306',
       xaxis='freq', yaxis='amp', iteraxis='scan',
       correlation='rr,ll', spw='2~3,5~6', coloraxis='spw')

Clearly, there is still some residual RFI left here and there -- however, for the purposes of this tutorial, we will accept the current state of the flags and move on. Feel free to hunt and excise some more, if desired.

Calibrating data

Now that we are (mostly) happy with the RFI excision, we will move on to the calibration stage.

Clearing previous calibration

Since we already applied calibration (in the form of the time-averaged bandpass), it's prudent to clear this previous calibration prior to starting with the final set:

# In CASA
clearcal(vis='G55.7+3.4_10s.ms', spw='2~3,5~6')

Again, to speed up this operation, we select only the spectral windows of interest.

Setting the flux density scale

Since we will be using 3C147 as the source of the absolute flux scale for this observation, we must first run setjy to set the appropriate model amplitudes for this source.

If the flux calibrator is spatially resolved, it is necessary to include a model image as well. Although 3C147 is not resolved at L-band in D configuration, we include the model image here for completeness.

First, we use the listmodimages parameter to find the model image path:

# In CASA
setjy(vis='G55.7+3.4_10s.ms', listmodimages=True)

This lists any images in the current working directory as well as images in CASA's repository. In this second list, we see that there is "3C147_L.im", which is appropriate for our flux calibrator and band, and that it is in the directory "/usr/lib64/casapy/stable/data/nrao/VLA/CalModels".

# In CASA
setjy(vis='G55.7+3.4_10s.ms', field='0542*', scalebychan=True,
      spw='2~3,5~6', modimage='/usr/lib64/casapy/stable/data/nrao/VLA/CalModels/3C147_L.im')

Bandpass calibration

We will follow the same procedure outlined above for calculating the antenna bandpasses, except that this time, we will use the actual designated bandpass calibration source, 3C147. Although the phase calibration source has the advantage of having been observed throughout the run, it has an unknown spectrum which could introduce amplitude slopes to each spectral window.

# In CASA
gaincal(vis='G55.7+3.4_10s.ms', intent='*BANDPASS*', 
        caltable='G55.7+3.4_10s.initPh.2',
        spw='3;5~6:30~33,2:32~35',
        solint='int', refant='ea24',
        minblperant=3, minsnr=3.0, calmode='p',
        gaintable='G55.7+3.4_10s.pos')

bandpass(vis='G55.7+3.4_10s.ms', caltable='G55.7+3.4_10s.bPass',
         intent='*BANDPASS*', solint='inf', spw='2~3,5~6',
         combine='scan', refant='ea24', minblperant=3, minsnr=10.0,
         gaintable=['G55.7+3.4_10s.pos','G55.7+3.4_10s.initPh.2'],
         interp=['', 'nearest'])
bandpass amplitudes
bandpass phases

Note that since we have flagged out the vast majority of the RFI-affected data, there are many fewer failed solutions. Again, we can plot the calculated bandpasses to check that they look reasonable:

# In CASA
plotcal(caltable='G55.7+3.4_10s.bPass', xaxis='freq', yaxis='amp',
        iteration='antenna', subplot=331)

plotcal(caltable='G55.7+3.4_10s.bPass', xaxis='freq', yaxis='phase',
        iteration='antenna', subplot=331)

Don't let the apparently odd-looking phases for ea24 fool you -- check the scale! Remember, this is our reference antenna.

Gain calibration

Next, we will calculate the per-antenna gain solutions. Since this is low-frequency data, we do not expect substantial variations over short timescales, so we calculate one solution per scan (using "solint='inf'"):

# In CASA
gaincal(vis='G55.7+3.4_10s.ms', caltable='G55.7+3.4_10s.phaseAmp',
        intent='*PHASE*,*AMPLI*',
        spw='2~3,5~6', solint='inf', refant='ea24', minblperant=3,
        minsnr=10.0, gaintable=['G55.7+3.4_10s.pos','G55.7+3.4_10s.bPass'])

Plot these solutions as a function of time, iterating over antenna:

# In CASA
plotcal(caltable='G55.7+3.4_10s.phaseAmp', xaxis='time', yaxis='amp',
        iteration='antenna')

plotcal(caltable='G55.7+3.4_10s.phaseAmp', xaxis='time', yaxis='phase',
        iteration='antenna')

Flux scaling the gain solutions

Now that we have a complete set of gain solutions, we must scale the phase calibrator's absolute flux correctly, using 3C147 as our reference source. To do this, we run fluxscale on the gain table we just created, which will write a new, flux-corrected gain table:

# In CASA
fluxscale(vis='G55.7+3.4_10s.ms', caltable='G55.7+3.4_10s.phaseAmp',
          fluxtable='G55.7+3.4_10s.phaseAmp.fScale', reference='3')

The logger will display information about the flux density it has deduced for J1925+2106:

2011-08-26 22:53:03 INFO fluxscale	 Found reference field(s): 0542+498=3C147
2011-08-26 22:53:03 INFO fluxscale	 Found transfer field(s):  J1925+2106
2011-08-26 22:53:03 INFO fluxscale	 Flux density for J1925+2106 in SpW=2 is: 1.47881 +/- 0.00101317 (SNR = 1459.59, nAnt= 20)
2011-08-26 22:53:03 INFO fluxscale	 Flux density for J1925+2106 in SpW=3 is: 1.55057 +/- 0.000887487 (SNR = 1747.14, nAnt= 20)
2011-08-26 22:53:03 INFO fluxscale	 Flux density for J1925+2106 in SpW=5 is: 1.73038 +/- 0.000747253 (SNR = 2315.66, nAnt= 20)
2011-08-26 22:53:03 INFO fluxscale	 Flux density for J1925+2106 in SpW=6 is: 1.78905 +/- 0.000712146 (SNR = 2512.19, nAnt= 20)

The flux density listed in the VLA Calibrator Manual for this source is around the same magnitude:

1925+211   J2000  A 19h25m59.605370s  21d06'26.162180"  Aug01         
1923+210   B1950  A 19h23m49.792400s  21d00'23.305000"
-----------------------------------------------------
BAND        A B C D    FLUX(Jy)    UVMIN(kL)  UVMAX(kL)
=====================================================
 20cm    L  P S S S       1.30                       visplot

So we should be satisfied that our calibration up to this point is reasonable.

Applying calibration

Finally, we must apply the calibration to our data. To do this, we run applycal in two stages: the first is to self-calibrate our calibration sources; the second, to apply calibration to the supernova remnant. These must be done separately, since we want to use "nearest" interpolation for the self-calibration and "linear" for the application to the science target:

# In CASA
applycal(vis='G55.7+3.4_10s.ms', spw='2~3,5~6', intent='*TARGET*',
         gaintable=['G55.7+3.4_10s.pos','G55.7+3.4_10s.bPass', \
                    'G55.7+3.4_10s.phaseAmp.fScale'], calwt=False)

applycal(vis='G55.7+3.4_10s.ms', spw='2~3,5~6', intent='*PHASE*,*AMPLI*',
         gaintable=['G55.7+3.4_10s.pos','G55.7+3.4_10s.bPass', \
                    'G55.7+3.4_10s.phaseAmp.fScale'],
         calwt=False, interp=['','nearest','nearest'])

Plotting calibrated data

J1925+2106 corrected amplitude vs. phase
J1925+2106 corrected amplitude vs. baseline
3C147 corrected amplitude vs. phase
3C147 corrected amplitude vs. baseline


To check that everything has truly proceeded as well as we would like, this is a good time to look at the calibrated data in plotms. A very useful way to check the goodness of calibration is to plot the corrected amplitude vs. corrected phase (which should look like a tight ball for a point source, and will have organized structure if the source is resolved), and corrected amplitude vs. baseline, which should be a flat line of points for a point source, and will reveal any lingering antenna-based problems. For a resolved source, it may be more instructive to plot corrected amplitude vs. uv-distance.

# In CASA
plotms(vis='G55.7+3.4_10s.ms', field='1', xaxis='phase', yaxis='amp',
       xdatacolumn='corrected', ydatacolumn='corrected', coloraxis='antenna1',
       avgchannel='10', avgtime='20', correlation='rr,ll', iteraxis='spw',
       spw='2~3,5~6')

plotms(vis='G55.7+3.4_10s.ms', field='1', xaxis='baseline', yaxis='amp',
       xdatacolumn='corrected', ydatacolumn='corrected', coloraxis='antenna1',
       avgchannel='10', avgtime='20', correlation='rr,ll', iteraxis='spw',
       spw='2~3,5~6')

plotms(vis='G55.7+3.4_10s.ms', field='3', xaxis='phase', yaxis='amp',
       xdatacolumn='corrected', ydatacolumn='corrected', coloraxis='antenna1',
       avgchannel='10', avgtime='20', correlation='rr,ll', iteraxis='spw',
       spw='2~3,5~6')

plotms(vis='G55.7+3.4_10s.ms', field='3', xaxis='baseline', yaxis='amp',
       xdatacolumn='corrected', ydatacolumn='corrected', coloraxis='antenna1',
       avgchannel='10', avgtime='20', correlation='rr,ll', iteraxis='spw',
       spw='2~3,5~6')

Splitting out data for G55.7+3.4

Now that we are satisfied with the calibration, we will create a new MS which contains only the corrected data for G55.7+3.4 using the task split. This will substantially reduce the size of the MS, and will speed up the imaging process.

# In CASA
split(vis='G55.7+3.4_10s.ms', field='2', keepflags=False,
      outputvis='G55.7+3.4.calib.ms', datacolumn='corrected',
      spw='2~3,5~6')

We should also run clearcal to create the scratch columns that will be needed for imaging:

# In CASA
clearcal(vis='G55.7+3.4.calib.ms')

Imaging

At this point, one may image either the resulting MS from the flagging and calibration steps above, or the MS that was flagged by hand and calibrated. The latter is available as "G55.7+3.4.byHandFlag.ms". (For internal, pre-workshop testers: the data can be found at /lustre/sbhatnag/Tests/ThursdayLectures/G55.7+3.4_10s_Calib.ms.) For this tutorial, we will use the MS that has been produced using testautoflag and the minimal amount of manual flagging described here, with the exception of the final clean step, where we will run identical commands on both sets of data and compare the results.

The size of the primary beam is 45 arcmin divided by the observed frequency in GHz, or around 30 arcmin. Since the observation occurred in D-configuration, we can check the Observational Status Summary to find that the synthesized beam will be around 44 arcsec. We want to oversample the synthesized beam by a factor of around five, so we will use a cell size of 8 arcsec.

Since this field contains bright point sources significantly outside the primary beam, we will create images that are 170 arcminutes on a side, or almost 6 x the size of the primary beam. This is an ideal case for showcasing both the problems inherent in such wide-band, wide-field imaging, as well as some of the solutions currently available in CASA to deal with these issues.

Multi-scale clean

G55.7+3.4 multiscale clean
artifacts around point source

Since G55.7+3.4 is an extended source with many spatial scales, the most basic (yet still reasonable) imaging procedure is to use clean with multiple scales. As is suggested, we will use a set of scales (which are expressed in units of the requested pixel, or cell, size) which are representative of the scales that are present in the data, including a zero-scale for point sources.

# In CASA
clean(vis='G55.7+3.4.calib.ms', imagename='G55.7+3.4.multiScale',
      imsize=1280, cell='8arcsec', multiscale=[0,6,10,30,60,120],
      interactive=False, niter=1000,  weighting='briggs',
      stokes='I', threshold='0.1mJy')
viewer('G55.7+3.4.multiScale.image')

This is the fastest of the imaging techniques described here (it will probably take less than ten minutes to complete), but it's easy to see that there are artifacts in the resulting image. For example, use the viewer to explore the point sources near the edge of the field. Some have prominent arcs, as well as spots in a six-pointed pattern surrounding them.

Multi-scale, wide-field clean

This took around 15 minutes.

w-projection improvements
# In CASA
clean(vis='G55.7+3.4.calib.ms', imagename='G55.7+3.4.MS.wProj',
      gridmode='widefield', imsize=1280, cell='8arcsec',
      wprojplanes=128, multiscale=[0,6,10,30,60,120], 
      interactive=False, niter=1000,  weighting='briggs',
      stokes='I', threshold='0.1mJy')
viewer('G55.7+3.4.MS.wProj.image')

Multi-scale, multi-frequency synthesis

This took around 30 minutes.

artifacts with nterms=2
# In CASA
clean(vis='G55.7+3.4.calib.ms', imagename='G55.7+3.4.MS.MFS',
      imsize=1280, cell='8arcsec', mode='mfs', nterms=2,
      multiscale=[0,6,10,30,60,120], 
      interactive=False, niter=1000,  weighting='briggs',
      stokes='I', threshold='0.1mJy')
viewer('G55.7+3.4.MS.MFS.image.tt0')
viewer('G55.7+3.4.MS.MFS.image.alpha')

Multi-scale, multi-frequency, wide-field clean

Both of these runs took around an hour.

artifacts with nterms=2, wide-field
# In CASA
clean(vis='G55.7+3.4.calib.ms', imagename='G55.7+3.4.MS.MFS.wProj',
      gridmode='widefield', imsize=1280, cell='8arcsec', mode='mfs',
      nterms=2, wprojplanes=128, multiscale=[0,6,10,30,60,120],  
      interactive=False, niter=1000,  weighting='briggs',
      stokes='I', threshold='0.1mJy')
viewer('G55.7+3.4.MS.MFS.wProj.image.tt0')
viewer('G55.7+3.4.MS.MFS.wProj.image.alpha')

Finally, imaging the data which were flagged by hand:

nterms=2, wide-field, auto-flagging
nterms=2, wide-field, by-hand flagging
# In CASA
clean(vis='G55.7+3.4.byHandFlag.ms',
      imagename='G55.7+3.4.byHand.MS.MFS.wProj',
      gridmode='widefield', imsize=1280, cell='8arcsec', mode='mfs',
      nterms=2, wprojplanes=128, multiscale=[0,6,10,30,60,120],  
      interactive=False, niter=1000,  weighting='briggs',
      stokes='I', threshold='0.1mJy')
viewer('G55.7+3.4.byHand.MS.MFS.wProj.image.tt0')
viewer('G55.7+3.4.byHand.MS.MFS.wProj.image.alpha')