M100 Band3 ACA 4.2.2: Difference between revisions
No edit summary |
No edit summary |
||
Line 685: | Line 685: | ||
Now have a look at the Tsys vs. frequency plots or see <xr id="Uid___A002_X1ff7b0_Xb.tdm.tsys.3c279.DV02.spw5.CASA3_4.png"/>, <xr id="Uid___A002_X1ff7b0_Xb.tdm.tsys.3c279.DV08.spw5.CASA3_4.png"/>, and <xr id="Uid___A002_X1ff7b0_Xb.tdm.tsys.3c279.PM01.spw5.CASA3_4.png"/> for examples on the first data set. You can see the effect of a close pair of atmospheric ozone absorption lines at about 343.2 GHz that makes Tsys larger near that frequency in all antennas. Applying the Tsys calibration tables will minimize the contribution of these atmospheric lines. Again DV04 stands out with its very high Tsys. Although not present in the first data sets, Antenna DV12 exhibits periodic spikes in Tsys vs. frequency for one polarization (see <xr id="Uid___A002_X215db8_X392.tdm.tsys.3c279.DV11.spw5.CASA3_4.png"/> for an example from a later data set). It may or may not be possible to calibrate that behavior out. We will make a note to look carefully at DV12 further on in the calibration process. | Now have a look at the Tsys vs. frequency plots or see <xr id="Uid___A002_X1ff7b0_Xb.tdm.tsys.3c279.DV02.spw5.CASA3_4.png"/>, <xr id="Uid___A002_X1ff7b0_Xb.tdm.tsys.3c279.DV08.spw5.CASA3_4.png"/>, and <xr id="Uid___A002_X1ff7b0_Xb.tdm.tsys.3c279.PM01.spw5.CASA3_4.png"/> for examples on the first data set. You can see the effect of a close pair of atmospheric ozone absorption lines at about 343.2 GHz that makes Tsys larger near that frequency in all antennas. Applying the Tsys calibration tables will minimize the contribution of these atmospheric lines. Again DV04 stands out with its very high Tsys. Although not present in the first data sets, Antenna DV12 exhibits periodic spikes in Tsys vs. frequency for one polarization (see <xr id="Uid___A002_X215db8_X392.tdm.tsys.3c279.DV11.spw5.CASA3_4.png"/> for an example from a later data set). It may or may not be possible to calibrate that behavior out. We will make a note to look carefully at DV12 further on in the calibration process. | ||
===Antenna Positions=== | ===Antenna Positions=== | ||
The antenna position table reflects refinements in the measured positions of the antennas from those stored in the data. gencal will now be used put antenna position data into each observation. Again, gencal will merely append to existing antenna position data, ruining any subsequent results. We start by removing any existing antenna position refinements, followed by defining the antenna names, then their refinements (both as arrays), finally running gencal to create the information CASA can refer to for antenna positions. | The antenna position table reflects refinements in the measured positions of the antennas from those stored in the data. gencal will now be used put antenna position data into each observation. Again, gencal will merely append to existing antenna position data, ruining any subsequent results. We start by removing any existing antenna position refinements, followed by defining the antenna names, then their refinements (both as arrays), finally running gencal to create the information CASA can refer to for antenna positions. | ||
<source lang="python"> | <source lang="python"> | ||
#In CASA | #In CASA | ||
os.system('rm -rf name+'.ms.antpos') | |||
gencal(vis = 'X2e7.ms', | |||
caltable = 'X2e7.ms.antpos', | |||
os.system('rm -rf | caltype = 'antpos', | ||
antenna = 'CM02,CM03,CM04,CM05,CM06,CM07,CM09,CM12', | |||
parameter = [-1.04341656e-04,4.29447740e-04,4.12447378e-04,1.04838982e-05,4.57765535e-04,3.53057869e-04,1.38600077e-03,-6.59998506e-04,-4.26100381e-03, -8.91945325e-04,4.27036546e-04,1.40665658e-03,-1.16256997e-04,2.12460477e-03,-5.08893328e-03,-3.65406508e-03,1.86459431e-02,5.67199755e-03,8.04639747e-03,4.01791865e-02,1.46969082e-03,-5.75850718e-05,6.55882061e-04,7.88089819e-05]) | |||
antenna=' | |||
parameter = [ | |||
- | |||
- | |||
- | |||
- | |||
- | |||
#In CASA | #In CASA | ||
gencal(vis = 'X3f3.ms', | |||
caltable = 'X3f3.ms.antpos', | |||
caltype = 'antpos', | |||
antenna = 'CM02,CM03,CM04,CM05,CM06,CM07,CM09,CM12', | |||
antenna=' | parameter = [-1.04341656e-04,4.29447740e-04,4.12447378e-04,1.04838982e-05,4.57765535e-04,3.53057869e-04,1.38600077e-03,-6.59998506e-04,-4.26100381e-03,-8.91945325e-04, 4.27036546e-04,1.40665658e-03,-1.16256997e-04,2.12460477e-03,-5.08893328e-03,-3.65406508e-03,1.86459431e-02,5.67199755e-03,8.04639747e-03,4.01791865e-02,1.46969082e-03,-5.75850718e-05,6.55882061e-04,7.88089819e-05]) | ||
parameter = [ | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
#In CASA | #In CASA | ||
gencal(vis = 'X5b3.ms', | |||
caltable = 'X5b3.ms.antpos', | |||
caltype = 'antpos', | |||
antenna = 'CM02,CM03,CM04,CM05,CM06,CM09,CM12', | |||
antenna=' | parameter = [-1.04341656e-04,4.29447740e-04,4.12447378e-04,1.04838982e-05,4.57765535e-04,3.53057869e-04,1.38600077e-03,-6.59998506e-04,-4.26100381e-03,-8.91945325e-04,4.27036546e-04,1.40665658e-03,-1.16256997e-04,2.12460477e-03,-5.08893328e-03,8.04639747e-03,4.01791865e-02,1.46969082e-03,-5.75850718e-05,6.55882061e-04,7.88089819e-05]) | ||
parameter = [ | |||
- | |||
- | |||
- | |||
- | |||
#In CASA | #In CASA | ||
gencal(vis = 'X44.ms', | |||
caltable = 'X44.ms.antpos', | |||
caltype = 'antpos', | |||
antenna = 'CM12,CM02,CM03,CM05', | |||
antenna=' | parameter = [5.70082944295e-05,-0.00065711393962,-7.91980095891e-05,0.000104837426825,-0.000430660050663,-0.000411915081903,-1.1060689293e-05,-0.000458996548728,-0.00035344706733, | ||
parameter = [ | 0.000982235185802,-0.000412690453231,-0.00145998690277]) | ||
gencal(vis = 'X44.ms', | |||
- | caltable = 'X44.ms.antpos', | ||
-0. | caltype = 'antpos', | ||
- | antenna = 'CM02', | ||
parameter = [0.0,0.0,0.0]) | |||
-0. | |||
- | |||
-0. | |||
gencal(vis= | |||
antenna= | |||
#In CASA | #In CASA | ||
gencal(vis = 'X124.ms', | |||
caltable = 'X124.ms.antpos', | |||
caltype = 'antpos', | |||
antenna = 'CM02,CM03,CM04,CM05,CM06,CM07,CM09,CM12', | |||
antenna=' | parameter = [-1.04341656e-04,4.29447740e-04,4.12447378e-04,1.04838982e-05,4.57765535e-04,3.53057869e-04,1.38600077e-03,-6.59998506e-04,-4.26100381e-03,-8.91945325e-04,4.27036546e-04,1.40665658e-03,-1.16256997e-04,2.12460477e-03,-5.08893328e-03,-3.65406508e-03,1.86459431e-02,5.67199755e-03,8.04639747e-03,4.01791865e-02,1.46969082e-03,-5.75850718e-05,6.55882061e-04, 7.88089819e-05]) | ||
parameter = [ | gencal(vis = 'X124.ms', | ||
caltable = 'X124.ms.antpos', | |||
- | caltype = 'antpos', | ||
antenna = 'CM02', | |||
- | parameter = [0.0,0.0,0.0]) | ||
- | |||
- | |||
- | |||
- | |||
gencal(vis= | |||
antenna= | |||
</source> | </source> |
Revision as of 06:37, 7 June 2013
- This guide requires CASA 4.1.0 and assumes that you have downloaded M100_Band3_7m_CalibratedData.tgz from M100Band3#Obtaining_the_Data
- Details of the ALMA observations are provided at M100Band3
- This portion of the guide covers calibration of the raw visibility data. To skip to the imaging portion of the guide, see: M100Band3 Imaging 4.1.
Overview
This part of the M100 Band 3 7m CASA guide will step you through the calibration of the visibility data. We will begin by flagging (marking as bad) data known to be useless before any inspection, for example data where one telescope blocks the line of sight of another. Then we will apply telescope-generated calibration tables to partially correct for atmospheric effects. After inspecting the data, we will flag some additional data that exhibit pathologies. Then we will use observations of the calibrators Titan and 3c279 to derive the phase and amplitude response of individual antennas as a function of time and frequency ("phase", "amplitude", and "bandpass" calibrations). We will apply these to the data and then extract the calibrated source data into a file appropriate for imaging.
The general procedure in this guide follows the other ALMA CASA guides: NGC3256Band3 and TWHydraBand7.
Unpack the Data
Once you have downloaded the M100_Band3_7m_CalibratedData.tgz, unpack the file in a terminal outside CASA using
tar -xvzf M100_Band3_7m_CalibratedData.tgz
then change directory to the new directory
cd M100_Band3_7m_CalibratedData
You may wish to type
ls
to look at the files present. You should see a set of files with extension ".ms". These are CASA measurement set (MS) files. The data have already been converted to MS format from the native ALMA format using the CASA task importasdm. In addition to the data, we provide you with calibration tables containing system temperature (Tsys), water vapor radiometer (WVR), and antenna position information. For Early Science, these tables will either be pre-applied or supplied with the data.
This guide requires Python module analysisUtils. If you have not already installed analysisUtils please follow the link to do so.
To begin, start CASA by typing
casapy
Be sure that you are using the version indicated at the top of this page.
Confirm your version of CASA
This guide has been written for CASA release 4.1.0. Please confirm your version before proceeding.
# In CASA
version = casadef.casa_version
print "You are using " + version
if (version < '4.1.0'):
print "YOUR VERSION OF CASA IS TOO OLD FOR THIS GUIDE."
print "PLEASE UPDATE IT BEFORE PROCEEDING."
else:
print "Your version of CASA is appropriate for this guide."
Install Analysis Utilities
Analysis Utilities (or analysisUtils for short) is a small set of Python scripts that provide a number of analysis and plotting utilities for ALMA data reduction. This guide uses a few of these utilities. They are very easy to install (just download and untar). See
http://casaguides.nrao.edu/index.php?title=Analysis_Utilities
for a full description and download instructions. Analysis Utilities are updated frequently so if its been a while since you installed it, its probably worth doing it again. If you are at an ALMA site or ARC, the analysis utilities are probably already installed and up to date.
Initial Inspection
First we will take stock of what we have. If you have not already done so, begin by reviewing the description of the observations here: M100Band3. The 6 data sets each target mosaic, as follows:
- uid___A002_X5e971a_X124.ms
- uid___A002_X5e971a_X2e7.ms
- uid___A002_X5e9ff1_X3f3.ms
- uid___A002_X5e9ff1_X5b3.ms
- uid___A002_X60b415_X44.ms
- uid___A002_X62f759_X4eb.ms
The first step is to get basic information about the data: targets observed, time range, spectral setup, and so on. We do this using the task listobs, which will output a detailed summary of each dataset. Enter the following commands into CASA:
# In CASA
# Define a python list holding the names of all of our data sets
basename=['uid___A002_X5e971a_X124','uid___A002_X5e971a_X2e7','uid___A002_X5e9ff1_X3f3','uid___A002_X5e9ff1_X5b3', 'uid___A002_X60b415_X44','uid___A002_X62f759_X4eb']
# Initialize user-input string. (for Python testing)
dummy_string = ''
# Loop over each element in the list and create summary file using listobs
for asdm in basename_all:
os.system('rm '+asdm+'.listobs.txt')
listobs(vis=asdm+'.ms', listfile=asdm+'.listobs.txt', verbose=True)
Note that after cutting and pasting a 'for' loop like this you often have to press return twice to execute. You may also want to take care to paste a line at a time if you are having trouble copy and pasting. Even better, you can use "cpaste" to paste blocks of code. To do so type "cpaste" at the CASA prompt, paste your commands, and then type "--" and hit return on the final (otherwise empty) line. This should look something like this:
CASA <8>: cpaste Pasting code; enter '--' alone on the line to stop. :basename=['uid___A002_X5e971a_X124','uid___A002_X5e971a_X2e7','uid___A002_X5e9ff1_X3f3','uid___A002_X5e9ff1_X5b3', 'uid___A002_X60b415_X44','uid___A002_X62f759_X4eb'] : :for asdm in basename_all: : print asdm :-- uid___A002_X5e971a_X124 uid___A002_X5e971a_X2e7 uid___A002_X5e9ff1_X3f3 uid___A002_X5e9ff1_X5b3 uid___A002_X60b415_X44 uid___A002_X62f759_X4eb CASA <9>:
cpaste should be much more robust than copying-and-pasting directly into the shell but if you have trouble, just carefully paste one line at a time directly into CASA and hit return until the desired command executes.
These commands define a python list called "basename_all", which contains the name of all 6 MS files. The "for" loop executes for each element in basename_all, calling listobs and directing the output to a file called, e.g., "uid___A002_X5e971a_X124.ms.listobs.txt" for the first measurement set. You can browse through the listobs output as you would normally look at a text file (use emacs, vi, or another editor). You can also send the output to the terminal from inside of CASA. To do so type:
# In CASA
os.system('cat uid___A002_X5e971a_X124.ms.listobs.txt')
or
# In CASA
os.system('more uid___A002_X5e971a_X124.ms.listobs.txt')
CASA knows a few basic shell commands like 'cat', 'ls', and 'rm' but for more complex commands you will need to run them inside 'os.system("command")'. For more information see http://casa.nrao.edu/ .
Here is an example of the (abridged) output from listobs for the first dataset in the list, uid___A002_X5e971a_X124.ms, which targets the Northern Mosaic. You would see this if you had specified verbose to be False in the listobs call:
================================================================================ MeasurementSet Name: /lustre/naasc/almauser/M100Band3/uid___A002_X5e971a_X124.ms MS Version 2 ================================================================================ Observer: cvlahakis Project: uid://A002/X5d9e5c/X5d Observation: ALMA Data records: 940680 Total integration time = 5436.77 seconds Observed from 17-Mar-2013/04:07:32.8 to 17-Mar-2013/05:38:09.6 (UTC) ObservationID = 0 ArrayID = 0 Date Timerange (UTC) Scan FldId FieldName nRows nUnflRows SpwIds Average Interval(s) ScanIntent 17-Mar-2013/04:07:32.3 - 04:09:35.4 1 0 J1229+0203 43200 43200.00 [0, 1, 2, 3, 4, 5, 6, 7] [1.01, 1.01, 1.01, 1.01, 1.01, 1.01, 1.01, 1.01] CALIBRATE_POINTING#ON_SOURCE 04:10:57.2 - 04:11:57.7 2 0 J1229+0203 45360 45360.00 [8, 9, 10, 11, 12, 13, 14, 15] [0.48, 0.48, 0.48, 0.48, 0.48, 0.48, 0.48, 0.48] CALIBRATE_SIDEBAND_RATIO#ON_SOURCE 04:12:48.5 - 04:14:00.0 3 0 J1229+0203 12960 12960.00 [8, 9, 10, 11, 12, 13, 14, 15] [0.48, 0.48, 0.48, 0.48, 0.48, 0.48, 0.48, 0.48] CALIBRATE_ATMOSPHERE#ON_SOURCE 04:14:44.2 - 04:24:49.9 4 0 J1229+0203 118800 44880.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] CALIBRATE_BANDPASS#ON_SOURCE 04:25:53.4 - 04:27:56.4 5 1 J1445-1629 43200 43200.00 [0, 1, 2, 3, 4, 5, 6, 7] [1.01, 1.01, 1.01, 1.01, 1.01, 1.01, 1.01, 1.01] CALIBRATE_POINTING#ON_SOURCE 04:29:02.6 - 04:30:13.9 6 2 Titan 12960 12960.00 [8, 9, 10, 11, 12, 13, 14, 15] [0.48, 0.48, 0.48, 0.48, 0.48, 0.48, 0.48, 0.48] CALIBRATE_ATMOSPHERE#ON_SOURCE 04:30:57.7 - 04:36:00.5 7 2 Titan 59400 22468.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] CALIBRATE_AMPLI#ON_SOURCE 04:37:10.1 - 04:39:13.2 8 3 J1215+1654 43200 43200.00 [0, 1, 2, 3, 4, 5, 6, 7] [1.01, 1.01, 1.01, 1.01, 1.01, 1.01, 1.01, 1.01] CALIBRATE_POINTING#ON_SOURCE 04:39:58.8 - 04:40:59.3 9 3 J1215+1654 11880 4488.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] CALIBRATE_PHASE#ON_SOURCE 04:42:08.6 - 04:43:20.0 10 4 M100 12960 12960.00 [8, 9, 10, 11, 12, 13, 14, 15] [0.48, 0.48, 0.48, 0.48, 0.48, 0.48, 0.48, 0.48] CALIBRATE_ATMOSPHERE#ON_SOURCE 04:44:04.3 - 04:50:43.7 11 5 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 04:44:04.3 - 04:50:43.7 11 6 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 04:44:04.3 - 04:50:43.7 11 7 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 04:44:04.3 - 04:50:43.7 11 8 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 04:44:04.3 - 04:50:43.7 11 9 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 04:44:04.3 - 04:50:43.7 11 10 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 04:44:04.3 - 04:50:43.7 11 11 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 04:44:04.3 - 04:50:43.7 11 12 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 04:44:04.3 - 04:50:43.7 11 13 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 04:44:04.3 - 04:50:43.7 11 14 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 04:44:04.3 - 04:50:43.7 11 15 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 04:44:04.3 - 04:50:43.7 11 16 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 04:44:04.3 - 04:50:43.7 11 17 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 04:51:04.3 - 04:52:04.8 12 3 J1215+1654 11880 4488.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] CALIBRATE_PHASE#ON_SOURCE 04:52:35.8 - 04:59:15.3 13 5 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 04:52:35.8 - 04:59:15.3 13 6 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 04:52:35.8 - 04:59:15.3 13 7 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 04:52:35.8 - 04:59:15.3 13 18 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 04:52:35.8 - 04:59:15.3 13 19 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 04:52:35.8 - 04:59:15.3 13 20 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 04:52:35.8 - 04:59:15.3 13 21 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 04:52:35.8 - 04:59:15.3 13 22 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 04:52:35.8 - 04:59:15.3 13 23 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 04:52:35.8 - 04:59:15.3 13 24 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 04:52:35.8 - 04:59:15.3 13 25 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 04:52:35.8 - 04:59:15.3 13 26 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 04:52:35.8 - 04:59:15.3 13 27 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 04:59:35.7 - 05:00:36.2 14 3 J1215+1654 11880 4488.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] CALIBRATE_PHASE#ON_SOURCE 05:01:55.1 - 05:03:06.5 15 4 M100 12960 12960.00 [8, 9, 10, 11, 12, 13, 14, 15] [0.48, 0.48, 0.48, 0.48, 0.48, 0.48, 0.48, 0.48] CALIBRATE_ATMOSPHERE#ON_SOURCE 05:03:22.2 - 05:10:01.6 16 8 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:03:22.2 - 05:10:01.6 16 9 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:03:22.2 - 05:10:01.6 16 10 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:03:22.2 - 05:10:01.6 16 11 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:03:22.2 - 05:10:01.6 16 12 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:03:22.2 - 05:10:01.6 16 13 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:03:22.2 - 05:10:01.6 16 14 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:03:22.2 - 05:10:01.6 16 15 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:03:22.2 - 05:10:01.6 16 16 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:03:22.2 - 05:10:01.6 16 17 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:03:22.2 - 05:10:01.6 16 18 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:03:22.2 - 05:10:01.6 16 19 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:03:22.2 - 05:10:01.6 16 20 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:10:50.7 - 05:11:51.2 17 3 J1215+1654 11880 4488.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] CALIBRATE_PHASE#ON_SOURCE 05:12:22.0 - 05:19:01.4 18 5 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:12:22.0 - 05:19:01.4 18 6 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:12:22.0 - 05:19:01.4 18 7 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:12:22.0 - 05:19:01.4 18 8 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:12:22.0 - 05:19:01.4 18 9 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:12:22.0 - 05:19:01.4 18 10 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:12:22.0 - 05:19:01.4 18 21 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:12:22.0 - 05:19:01.4 18 22 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:12:22.0 - 05:19:01.4 18 23 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:12:22.0 - 05:19:01.4 18 24 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:12:22.0 - 05:19:01.4 18 25 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:12:22.0 - 05:19:01.4 18 26 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:12:22.0 - 05:19:01.4 18 27 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:19:22.0 - 05:20:22.6 19 3 J1215+1654 11880 4488.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] CALIBRATE_PHASE#ON_SOURCE 04:52:35.8 - 04:59:15.3 13 20 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 04:52:35.8 - 04:59:15.3 13 21 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 04:52:35.8 - 04:59:15.3 13 22 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 04:52:35.8 - 04:59:15.3 13 23 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 04:52:35.8 - 04:59:15.3 13 24 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 04:52:35.8 - 04:59:15.3 13 25 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 04:52:35.8 - 04:59:15.3 13 26 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 04:52:35.8 - 04:59:15.3 13 27 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 04:59:35.7 - 05:00:36.2 14 3 J1215+1654 11880 4488.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] CALIBRATE_PHASE#ON_SOURCE 05:01:55.1 - 05:03:06.5 15 4 M100 12960 12960.00 [8, 9, 10, 11, 12, 13, 14, 15] [0.48, 0.48, 0.48, 0.48, 0.48, 0.48, 0.48, 0.48] CALIBRATE_ATMOSPHERE#ON_SOURCE 05:03:22.2 - 05:10:01.6 16 8 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:03:22.2 - 05:10:01.6 16 9 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:03:22.2 - 05:10:01.6 16 10 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:03:22.2 - 05:10:01.6 16 11 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:03:22.2 - 05:10:01.6 16 12 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:03:22.2 - 05:10:01.6 16 13 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:03:22.2 - 05:10:01.6 16 14 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:03:22.2 - 05:10:01.6 16 15 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:03:22.2 - 05:10:01.6 16 16 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:03:22.2 - 05:10:01.6 16 17 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:03:22.2 - 05:10:01.6 16 18 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:03:22.2 - 05:10:01.6 16 19 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:03:22.2 - 05:10:01.6 16 20 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:10:50.7 - 05:11:51.2 17 3 J1215+1654 11880 4488.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] CALIBRATE_PHASE#ON_SOURCE 05:12:22.0 - 05:19:01.4 18 5 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:12:22.0 - 05:19:01.4 18 6 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:12:22.0 - 05:19:01.4 18 7 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:12:22.0 - 05:19:01.4 18 8 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:12:22.0 - 05:19:01.4 18 9 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:12:22.0 - 05:19:01.4 18 10 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:12:22.0 - 05:19:01.4 18 21 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:12:22.0 - 05:19:01.4 18 22 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:12:22.0 - 05:19:01.4 18 23 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:12:22.0 - 05:19:01.4 18 24 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:12:22.0 - 05:19:01.4 18 25 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:12:22.0 - 05:19:01.4 18 26 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:12:22.0 - 05:19:01.4 18 27 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:19:22.0 - 05:20:22.6 19 3 J1215+1654 11880 4488.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] CALIBRATE_PHASE#ON_SOURCE 05:21:41.7 - 05:22:53.4 20 4 M100 12960 12960.00 [8, 9, 10, 11, 12, 13, 14, 15] [0.48, 0.48, 0.48, 0.48, 0.48, 0.48, 0.48, 0.48] CALIBRATE_ATMOSPHERE#ON_SOURCE 05:23:37.6 - 05:30:17.0 21 11 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:23:37.6 - 05:30:17.0 21 12 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:23:37.6 - 05:30:17.0 21 13 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:23:37.6 - 05:30:17.0 21 14 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:23:37.6 - 05:30:17.0 21 15 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:23:37.6 - 05:30:17.0 21 16 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:23:37.6 - 05:30:17.0 21 17 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:23:37.6 - 05:30:17.0 21 18 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:23:37.6 - 05:30:17.0 21 19 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:23:37.6 - 05:30:17.0 21 20 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:23:37.6 - 05:30:17.0 21 21 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:23:37.6 - 05:30:17.0 21 22 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:23:37.6 - 05:30:17.0 21 23 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:30:37.5 - 05:31:38.1 22 3 J1215+1654 11880 4488.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] CALIBRATE_PHASE#ON_SOURCE 05:32:08.4 - 05:36:44.7 23 5 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:32:08.4 - 05:36:44.7 23 6 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:32:08.4 - 05:36:44.7 23 7 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:32:08.4 - 05:36:44.7 23 8 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:32:08.4 - 05:36:44.7 23 9 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:32:08.4 - 05:36:44.7 23 24 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:32:08.4 - 05:36:44.7 23 25 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:32:08.4 - 05:36:44.7 23 26 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:32:08.4 - 05:36:44.7 23 27 M100 5940 2244.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] OBSERVE_TARGET#ON_SOURCE 05:37:09.6 - 05:38:10.1 24 3 J1215+1654 11880 4488.00 [16, 17, 18, 19, 20, 21, 22, 23] [10.1, 1.01, 10.1, 1.01, 10.1, 1.01, 10.1, 1.01] CALIBRATE_PHASE#ON_SOURCE (nRows = Total number of rows per scan) Fields: 28 ID Code Name RA Decl Epoch SrcId nRows nUnflRows 0 none J1229+0203 12:29:06.699720 +02.03.08.59820 J2000 0 220320 146400.00 1 none J1445-1629 14:45:53.376290 -16.29.01.61880 J2000 1 43200 43200.00 2 none Titan 14:36:50.919019 -12.33.38.18202 J2000 1 72360 35428.00 3 none J1215+1654 12:15:03.979130 +16.54.37.95700 J2000 2 126360 74616.00 4 none M100 12:22:54.899040 +15.49.20.57160 J2000 2 38880 38880.00 5 none M100 12:22:57.009007 +15.49.13.60358 J2000 3 23760 8976.00 6 none M100 12:22:57.009041 +15.49.58.08112 J2000 3 23760 8976.00 7 none M100 12:22:54.339884 +15.47.22.41016 J2000 3 23760 8976.00 8 none M100 12:22:54.339918 +15.48.06.88770 J2000 3 23760 8976.00 9 none M100 12:22:54.339952 +15.48.51.36524 J2000 3 23760 8976.00 10 none M100 12:22:54.339986 +15.49.35.84278 J2000 3 17820 6732.00 11 none M100 12:22:54.340020 +15.50.20.32032 J2000 3 17820 6732.00 12 none M100 12:22:51.670863 +15.47.44.64936 J2000 3 17820 6732.00 13 none M100 12:22:51.670897 +15.48.29.12690 J2000 3 17820 6732.00 14 none M100 12:22:51.670931 +15.49.13.60444 J2000 3 17820 6732.00 15 none M100 12:22:51.670966 +15.49.58.08198 J2000 3 17820 6732.00 16 none M100 12:22:49.001808 +15.47.22.41102 J2000 3 17820 6732.00 17 none M100 12:22:49.001842 +15.48.06.88856 J2000 3 17820 6732.00 18 none M100 12:22:49.001876 +15.48.51.36610 J2000 3 17820 6732.00 19 none M100 12:22:49.001911 +15.49.35.84364 J2000 3 17820 6732.00 20 none M100 12:22:49.001945 +15.50.20.32118 J2000 3 17820 6732.00 21 none M100 12:22:59.677959 +15.47.22.40931 J2000 3 17820 6732.00 22 none M100 12:22:59.677993 +15.48.06.88685 J2000 3 17820 6732.00 23 none M100 12:22:59.678027 +15.48.51.36439 J2000 3 17820 6732.00 24 none M100 12:22:59.678061 +15.49.35.84193 J2000 3 17820 6732.00 25 none M100 12:22:59.678095 +15.50.20.31947 J2000 3 17820 6732.00 26 none M100 12:22:57.008938 +15.47.44.64850 J2000 3 17820 6732.00 27 none M100 12:22:57.008973 +15.48.29.12604 J2000 3 17820 6732.00 Spectral Windows: (24 unique spectral windows and 1 unique polarization setups) SpwID Name #Chans Frame Ch1(MHz) ChanWid(kHz) TotBW(kHz) BBC Num Corrs 0 ALMA_RB_03#BB_1#SW-01#FULL_RES 124 TOPO 91955.512 -15625.000 1937500.0 1 XX YY 1 ALMA_RB_03#BB_1#SW-01#CH_AVG 1 TOPO 90986.762 1937500.000 1937500.0 1 XX YY 2 ALMA_RB_03#BB_2#SW-01#FULL_RES 124 TOPO 93893.012 -15625.000 1937500.0 2 XX YY 3 ALMA_RB_03#BB_2#SW-01#CH_AVG 1 TOPO 92924.262 1937500.000 1937500.0 2 XX YY 4 ALMA_RB_03#BB_3#SW-01#FULL_RES 124 TOPO 102033.637 15625.000 1937500.0 3 XX YY 5 ALMA_RB_03#BB_3#SW-01#CH_AVG 1 TOPO 102986.762 1937500.000 1937500.0 3 XX YY 6 ALMA_RB_03#BB_4#SW-01#FULL_RES 124 TOPO 104033.637 15625.000 1937500.0 4 XX YY 7 ALMA_RB_03#BB_4#SW-01#CH_AVG 1 TOPO 104986.762 1937500.000 1937500.0 4 XX YY 8 ALMA_RB_03#BB_1#SW-01#FULL_RES 128 TOPO 101942.187 -15625.000 2000000.0 1 XX YY 9 ALMA_RB_03#BB_1#SW-01#CH_AVG 1 TOPO 100926.562 1781250.000 1781250.0 1 XX YY 10 ALMA_RB_03#BB_2#SW-01#FULL_RES 128 TOPO 103757.337 -15625.000 2000000.0 2 XX YY 11 ALMA_RB_03#BB_2#SW-01#CH_AVG 1 TOPO 102741.712 1781250.000 1781250.0 2 XX YY 12 ALMA_RB_03#BB_3#SW-01#FULL_RES 128 TOPO 111814.962 15625.000 2000000.0 3 XX YY 13 ALMA_RB_03#BB_3#SW-01#CH_AVG 1 TOPO 112783.712 1781250.000 1781250.0 3 XX YY 14 ALMA_RB_03#BB_4#SW-01#FULL_RES 128 TOPO 113689.962 15625.000 2000000.0 4 XX YY 15 ALMA_RB_03#BB_4#SW-01#CH_AVG 1 TOPO 114658.712 1781250.000 1781250.0 4 XX YY 16 ALMA_RB_03#BB_1#SW-01#FULL_RES 4080 TOPO 101945.850 -488.281 1992187.5 1 XX YY 17 ALMA_RB_03#BB_1#SW-01#CH_AVG 1 TOPO 100949.756 1992187.500 1992187.5 1 XX YY 18 ALMA_RB_03#BB_2#SW-01#FULL_RES 4080 TOPO 103761.000 -488.281 1992187.5 2 XX YY 19 ALMA_RB_03#BB_2#SW-01#CH_AVG 1 TOPO 102764.906 1992187.500 1992187.5 2 XX YY 20 ALMA_RB_03#BB_3#SW-01#FULL_RES 4080 TOPO 111811.300 488.281 1992187.5 3 XX YY 21 ALMA_RB_03#BB_3#SW-01#CH_AVG 1 TOPO 112806.906 1992187.500 1992187.5 3 XX YY 22 ALMA_RB_03#BB_4#SW-01#FULL_RES 4080 TOPO 113686.300 488.281 1992187.5 4 XX YY 23 ALMA_RB_03#BB_4#SW-01#CH_AVG 1 TOPO 114681.906 1992187.500 1992187.5 4 XX YY Sources: 80 ID Name SpwId RestFreq(MHz) SysVel(km/s) 0 J1229+0203 0 - - 0 J1229+0203 1 - - 0 J1229+0203 2 - - 0 J1229+0203 3 - - 0 J1229+0203 4 - - 0 J1229+0203 5 - - 0 J1229+0203 6 - - 0 J1229+0203 7 - - 0 J1229+0203 8 - - 0 J1229+0203 9 - - 0 J1229+0203 10 - - 0 J1229+0203 11 - - 0 J1229+0203 12 - - 0 J1229+0203 13 - - 0 J1229+0203 14 - - 0 J1229+0203 15 - - 0 J1229+0203 16 100950 0 0 J1229+0203 17 100950 0 0 J1229+0203 18 102794.1 0 0 J1229+0203 19 102794.1 0 0 J1229+0203 20 112794.1 0 0 J1229+0203 21 112794.1 0 0 J1229+0203 22 114669.1 0 0 J1229+0203 23 114669.1 0 1 J1445-1629 0 - - 1 J1445-1629 1 - - 1 J1445-1629 2 - - 1 J1445-1629 3 - - 1 J1445-1629 4 - - 1 J1445-1629 5 - - 1 J1445-1629 6 - - 1 J1445-1629 7 - - 1 Titan 8 - - 1 Titan 9 - - 1 Titan 10 - - 1 Titan 11 - - 1 Titan 12 - - 1 Titan 13 - - 1 Titan 14 - - 1 Titan 15 - - 1 Titan 16 100950 0 1 Titan 17 100950 0 1 Titan 18 102794.1 0 1 Titan 19 102794.1 0 1 Titan 20 112794.1 0 1 Titan 21 112794.1 0 1 Titan 22 114669.1 0 1 Titan 23 114669.1 0 2 J1215+1654 0 - - 2 J1215+1654 1 - - 2 J1215+1654 2 - - 2 J1215+1654 3 - - 2 J1215+1654 4 - - 2 J1215+1654 5 - - 2 J1215+1654 6 - - 2 J1215+1654 7 - - 2 J1215+1654 16 100950 0 2 J1215+1654 17 100950 0 2 J1215+1654 18 102794.1 0 2 J1215+1654 19 102794.1 0 2 J1215+1654 20 112794.1 0 2 J1215+1654 21 112794.1 0 2 J1215+1654 22 114669.1 0 2 J1215+1654 23 114669.1 0 2 M100 8 - - 2 M100 9 - - 2 M100 10 - - 2 M100 11 - - 2 M100 12 - - 2 M100 13 - - 2 M100 14 - - 2 M100 15 - - 3 M100 16 100950 0 3 M100 17 100950 0 3 M100 18 102794.1 0 3 M100 19 102794.1 0 3 M100 20 112794.1 0 3 M100 21 112794.1 0 3 M100 22 114669.1 0 3 M100 23 114669.1 0 Antennas: 9: ID Name Station Diam. Long. Lat. Offset from array center (m) ITRF Geocentric coordinates (m) East North Elevation x y z 0 CM01 N602 7.0 m -067.45.17.4 -22.53.22.3 8.8026 -527.8556 22.1988 2225080.352214 -5440132.953723 -2481524.785064 1 CM02 J502 7.0 m -067.45.17.7 -22.53.23.0 2.1079 -549.4459 22.1451 2225070.958100 -5440127.669506 -2481544.654450 2 CM03 J503 7.0 m -067.45.17.4 -22.53.23.2 9.2488 -555.0633 22.1293 2225076.734603 -5440122.930506 -2481549.823442 3 CM04 N605 7.0 m -067.45.17.4 -22.53.23.9 9.6883 -575.8319 22.0821 2225074.066737 -5440115.246896 -2481568.938246 4 CM05 J506 7.0 m -067.45.17.9 -22.53.23.2 -4.9539 -555.3433 22.1258 2225063.547041 -5440128.203265 -2481550.079981 5 CM06 N606 7.0 m -067.45.17.1 -22.53.23.6 19.1996 -566.5626 22.0993 2225084.240791 -5440114.998068 -2481560.405534 6 CM07 N601 7.0 m -067.45.17.0 -22.53.22.5 21.0601 -532.5792 22.2041 2225091.003357 -5440126.617491 -2481529.138855 7 CM09 N603 7.0 m -067.45.17.7 -22.53.22.3 -0.0719 -527.8532 22.2212 2225072.146648 -5440136.333195 -2481524.791579 8 CM12 J504 7.0 m -067.45.17.0 -22.53.23.0 22.2032 -550.2530 22.1451 2225089.438350 -5440119.771735 -2481545.398029
This output shows that three sources were observed in each data set: 3c279, Titan, and the M100.
- The M100 are our science target. Note that the source corresponds to a number of individual fields (see the Field ID column). These are the individual mosaic pointings. There are 23 for M100 Mosaic.
- Titan is observed once and will be used to set the absolute flux scale of the data.
- 3c279 plays two roles: it will serve as our bandpass calibrator, to characterize the frequency response of the antennas, and because it is fairly close on the sky to the M100, it will serve as our secondary calibrator (also referred to as the "phase calibrator" or "gain calibrator"), to track changes in the phase and amplitude response of the telescopes over time. Observations of 3c279 are interleaved with observations of the M100.
The output also shows that the data contain many spectral windows. Using the labeling scheme in the listobs above these are:
- spw 0 targets ~185 GHz and holds water vapor radiometer data
- spw 1 and spw 3 hold our science data. These are "Frequency Domain Mode" (FDM) data with small (0.49 MHz) channel width and wide (1.875 GHz) total bandwidth. As a result these have a lot of channels (3840). spw 1 holds the lower sideband (LSB) data and includes the CO(1-0) line. We will focus on these data. For the CO(1-0) line the channel width corresponds to 0.426 km/s and the bandwidth of spw 1 to 1634 km/s.
- spw 2 and spw 4 hold frequency-averaged versions of spw 1 and 3 ("Channel 0" for those familiar with AIPS). These are used for some quick automated inspection. We will not use them here but we will carry out an equivalent inspection using spw 1.
- spw 5 and spw 7 hold lower a resolution processing ("Time Domain Mode", TDM) of the data from the same part of the spectrum (baseband) as spws 1 and 3. These data have only 128 channels across 2 GHz bandwidth and so have a much coarser channel spacing than the FDM data. These were used to generate the calibration tables that we include in the tarball but will not otherwise appear in this guide.
The final column of the listobs output in the logger (not shown above) gives the scan intent. Later we will use this information to flag the pointing scans and the hot and ambient load calibration scans.
We'll now have a look at the configuration of the antennas used to take the data using the task plotants (<xr id="uid___A002_X5e971a_X124.plotants.png"/>).
<figure id="uid___A002_X5e971a_X124.plotants.png">
</figure>
# In CASA
basename=['uid___A002_X5e971a_X124','uid___A002_X5e971a_X2e7','uid___A002_X5e9ff1_X3f3','uid___A002_X5e9ff1_X5b3', 'uid___A002_X60b415_X44','uid___A002_X62f759_X4eb']
for asdm in basename:
print "Antenna configuration for : "+asdm
plotants(vis=asdm+'.ms', figfile=asdm+'.plotants.png')
clearstat()
dummy_string = raw_input("Hit <Enter> to see the antenna configuration for the next data set.")
This will loop through all 6 data sets, show you the antenna position for each, and save that as a file named, e.g., "uid___A002_X5e971a_X124.plotants.png" for the first data set. The "raw_input" command asks CASA to wait for your input before proceeding. If you would prefer to just browse the .png files after the fact you can remove this. Notice that the antenna setup changes, but only slightly, over the course of the 6 data sets.
- In CASA
basename=['uid___A002_X5e971a_X124','uid___A002_X5e971a_X2e7','uid___A002_X5e9ff1_X3f3','uid___A002_X5e9ff1_X5b3', 'uid___A002_X60b415_X44','uid___A002_X62f759_X4eb']
for asdm in basename_all:
print "Antenna configuration for : "+asdm plotants(vis=asdm+'.ms', figfile=asdm+'.plotants.png') clearstat() dummy_string = raw_input("Hit <Enter> to see the antenna configuration for the next data set.")
</source>
This will loop through all 6 data sets, show you the antenna position for each, and save that as a file named, e.g., "uid___A002_X5e971a_X124.plotants.png" for the first data set. The "raw_input" command asks CASA to wait for your input before proceeding. If you would prefer to just browse the .png files after the fact you can remove this. Notice that the antenna setup changes, but only slightly, over the course of the 6 data sets.
How to Deal With 6 Measurement Sets
# In CASA
basename=['uid___A002_X5e971a_X124','uid___A002_X5e971a_X2e7','uid___A002_X5e9ff1_X3f3','uid___A002_X5e9ff1_X5b3', 'uid___A002_X60b415_X44','uid___A002_X62f759_X4eb']
for asdm in basename_all:
print asdm
You only need to define your list of MS files once per CASA session. Then "basename" will be a variable in the casapy shell. You can check if it exists by typing "print basename". In the interests of allowing you to easily exit and restart CASA and pick this guide up at any point we will redefine "basename" in each section of the guide. Feel free to skip this step if you've already defined it in your session.
This page will step you through the reduction of the M100 Band3 SV data set using these 'for' loops. We will not be able to show every diagnostic plot but we give an example of each and the syntax to generate the rest. Also please be aware that even on a very fast machine this whole process can take a while, we are simply dealing with a lot of data.
A Priori Flagging
Even before we look in detail, we know that there are some data that we wish to exclude. We will start by flagging "shadowed" data where one antenna blocks the line of sight of another. We will also flag scans that were used to carry out pointing and atmospheric calibration, identified by their scan intent. Finally, we'll flag the autocorrelation data (the correlation of the signal from an antenna with itself) as we are only interested in cross-correlation data to make an interferometric image.
Start by defining our list of MS files:
# In CASA
basename=['uid___A002_X5e971a_X124','uid___A002_X5e971a_X2e7','uid___A002_X5e9ff1_X3f3','uid___A002_X5e9ff1_X5b3', 'uid___A002_X60b415_X44','uid___A002_X62f759_X4eb']
You may want to reset the flagging if you have tried this step before and are starting over though this is not necessary on your first time through. Do so using flagdata:
# In CASA
for asdm in basename:
print "Resetting flags for "+asdm
flagdata(vis=asdm+'.ms', mode='unflag', flagbackup=F)
Then flag shadowed data using the command flagdata:
# In CASA
for asdm in basename:
print "Flagging shadowed data for "+asdm
flagdata(vis=asdm+'.ms',mode = 'shadow', flagbackup = F)
In the flagdata task we choose:
- vis = asdm+'.ms' : each measurement set
- mode = 'shadow': flag shadowed data
- flagbackup = F: Do not automatically back up the flag files. We will save all of the a priori flags together using flagmanager at the end of this subsection and save some space and time.
The relevant calibration information has already been extracted from the pointing and atmospheric scans and we will not need them below. Now flag the pointing scans using flagdata in 'manualflag' mode and selecting on 'intent':
# In CASA
for asdm in basename:
print "Flagging calibration scans for "+asdm
flagdata(vis=asdm+'.ms', mode='manual', intent='*POINTING*,*SIDEBAND_RATIO*,*ATMOSPHERE*', flagbackup = F)
Note that because the atmospheric calibration scans contain only TDM spectral windows, they will be removed automatically when we separate out the FDM data below.
Now flag the autocorrelation data:
# In CASA
for asdm in basename:
print "Flagging autocorrelation data for "+asdm
flagdata(vis=asdm+'.ms',autocorr=True,flagbackup=F)
# In CASA
for asdm in basename:
print "Flagging shadow for "+asdm
flagmanager(vis = asdm+'.ms', mode = 'restore', versionname = 'shadow')
Finally store the current flags information using flagmanager:
# In CASA
for asdm in basename:
print "Backing up 'a priori' flags for "+asdm
flagmanager(vis = asdm+'.ms', mode = 'save', versionname = 'Apriori')
The flagmanager task will also allow you to view the saved flagging versions, including those created by running flagdata with flagbackup=T. For example try flagmanager(vis='uid___A002_X5e971a_X124.ms', mode='list') The output in the logger should list the Apriori flagging that we have applied. It will also indicate versions associated with any flagdata command where you did not set flagbackup=F. Other tasks, for example applycal, will also create flag version tables.
Create and Apply Tsys and Antenna Position Calibration Tables
#In CASA
basename=['uid___A002_X5e971a_X124','uid___A002_X5e971a_X2e7','uid___A002_X5e9ff1_X3f3','uid___A002_X5e9ff1_X5b3', 'uid___A002_X60b415_X44','uid___A002_X62f759_X4eb']
Tsys
The Tsys calibration gives a first-order correction for the atmospheric opacity as a function of time and frequency and associates weights with each visibility that persists through imaging.
Use gencal to create the Tsys calibration tables from the spectral windows with CALIBRATE_ATMOSPHERE intents in listobs.
#In CASA
#Removing existing Tsys information
os.system('rm -rf *tdm.tsys')
for asdm in basename_all:
print "Creating TDM Tsys Table for "+asdm
gencal(vis=asdm+'.ms',caltable=asdm+'.tdm.tsys',spw='5,7',caltype='tsys')
Later in the applycal stage this TDM Tsys table will be interpolated to the FDM (3840 channels per spw) science spectral windows 1 and 3.
Next we inspect the Tsys tables for the spectral window spw=5 with the task plotcal. We want to check that Tsys data have reasonable values and identify any unexpected features as a function of either time or frequency. To get an idea of sensible Tsys under average atmospheric observations consult the ALMA sensitivity calculator, accessible from http://www.almascience.org (via the "Documents & Tools" link).
We start by plotting the Tsys for all the antennas and polarizations (XX and YY) as a function of time for each. Here and throughout we focus on spw 1, which contains CO(3-2): <figure id="uid___A002_X1ff7b0_X1c8.tsys_vs_time.page1.png">
</figure> <figure id="uid___A002_X1ff7b0_X1c8.tsys_vs_time.page2.png">
</figure>
#In CASA
basename=['uid___A002_X5e971a_X124','uid___A002_X5e971a_X2e7','uid___A002_X5e9ff1_X3f3','uid___A002_X5e9ff1_X5b3', 'uid___A002_X60b415_X44','uid___A002_X62f759_X4eb']
<source lang="python">
#In CASA
for name in basename:
os.system('rm -rf name+'.ms.tsys')
gencal(vis = name+'.ms',
caltable=name+'.ms.tsys',
caltype = 'tsys')
This sequence loops over all of our files and plots Tsys as a function of time for channel 50 in spectral window 5. In the call to plotcal:
- subplot=421 parameter sets up a 4 x 2 panel grid.
- iteration tells plotcal to make a separate plot for each antenna.
- spw '5:50~50' selects spw '5' channel 50-50. This allows us to cleanly separate time variations from frequency variations.
Because 8 panels (2 panels for each antenna - LSB and USB) is not enough to show all antennas on one page, there are two plotcal calls: one for the first 8 antennas (antenna=0~7), and then for the remaining antennas (antenna=8~15). The fontsize needs to be set to a small value or the text overlaps.
The 'raw_input' commands will wait for you to hit Enter before issuing the next plot command. In the example above these are commented out (the leading "#" means that CASA will ignore them). If you would like to interactively cycle through the plots, uncomment them by removing the "#". Otherwise, the figfile parameter directs the output to .png files for later inspection. The easiest way to look at the 20 plots produced here is to simply inspect the .png files using your favorite viewer.
The Tsys values in <xr id="uid___A002_X1ff7b0_X1c8.tsys_vs_time.page1.png"/> and <xr id="uid___A002_X1ff7b0_X1c8.tsys_vs_time.page2.png"/> look reliable, with typical values ~150 K except for some large values of Tsys at ~400 and 500 K for DV04. We will flag the data for that antenna later.
We will also want to look at Tsys as a function of frequency. This will use the analysisutils package mentioned at the beginning of this guide (called by the au. command)
#In CASA
basename_all=["uid___A002_X1ff7b0_Xb","uid___A002_X207fe4_X3a","uid___A002_X207fe4_X3b9",
"uid___A002_X2181fb_X49","uid___A002_X1ff7b0_X1c8","uid___A002_X207fe4_X1f7",
"uid___A002_X207fe4_X4d7","uid___A002_X215db8_X18","uid___A002_X215db8_X1d5",
"uid___A002_X215db8_X392"]
for asdm in basename_all:
os.system('rm -rf cal_plots/Tsys_plots/'+asdm+'.tdm.tsys*')
tsysfields=['3c279','Titan','Antennae']
caltable=asdm+'.tdm.tsys'
for field in tsysfields:
au.plotbandpass(caltable=caltable,yaxis='amp',field=field,xaxis='freq',
showatm=True,overlay='time',
figfile='cal_plots/Tsys_plots/'+caltable+'.'+field,buildpdf=False,
interactive=False,chanrange='8~120',subplot=42)
<figure id="Uid___A002_X1ff7b0_Xb.tdm.tsys.3c279.DV02.spw5.CASA3_4.png">
</figure> <figure id="Uid___A002_X1ff7b0_Xb.tdm.tsys.3c279.DV08.spw5.CASA3_4.png">
</figure> <figure id="Uid___A002_X1ff7b0_Xb.tdm.tsys.3c279.PM01.spw5.CASA3_4.png">
</figure>
<figure id="Uid___A002_X215db8_X392.tdm.tsys.3c279.DV11.spw5.CASA3_4.png">
</figure>
Now have a look at the Tsys vs. frequency plots or see <xr id="Uid___A002_X1ff7b0_Xb.tdm.tsys.3c279.DV02.spw5.CASA3_4.png"/>, <xr id="Uid___A002_X1ff7b0_Xb.tdm.tsys.3c279.DV08.spw5.CASA3_4.png"/>, and <xr id="Uid___A002_X1ff7b0_Xb.tdm.tsys.3c279.PM01.spw5.CASA3_4.png"/> for examples on the first data set. You can see the effect of a close pair of atmospheric ozone absorption lines at about 343.2 GHz that makes Tsys larger near that frequency in all antennas. Applying the Tsys calibration tables will minimize the contribution of these atmospheric lines. Again DV04 stands out with its very high Tsys. Although not present in the first data sets, Antenna DV12 exhibits periodic spikes in Tsys vs. frequency for one polarization (see <xr id="Uid___A002_X215db8_X392.tdm.tsys.3c279.DV11.spw5.CASA3_4.png"/> for an example from a later data set). It may or may not be possible to calibrate that behavior out. We will make a note to look carefully at DV12 further on in the calibration process.
Antenna Positions
The antenna position table reflects refinements in the measured positions of the antennas from those stored in the data. gencal will now be used put antenna position data into each observation. Again, gencal will merely append to existing antenna position data, ruining any subsequent results. We start by removing any existing antenna position refinements, followed by defining the antenna names, then their refinements (both as arrays), finally running gencal to create the information CASA can refer to for antenna positions.
#In CASA
os.system('rm -rf name+'.ms.antpos')
gencal(vis = 'X2e7.ms',
caltable = 'X2e7.ms.antpos',
caltype = 'antpos',
antenna = 'CM02,CM03,CM04,CM05,CM06,CM07,CM09,CM12',
parameter = [-1.04341656e-04,4.29447740e-04,4.12447378e-04,1.04838982e-05,4.57765535e-04,3.53057869e-04,1.38600077e-03,-6.59998506e-04,-4.26100381e-03, -8.91945325e-04,4.27036546e-04,1.40665658e-03,-1.16256997e-04,2.12460477e-03,-5.08893328e-03,-3.65406508e-03,1.86459431e-02,5.67199755e-03,8.04639747e-03,4.01791865e-02,1.46969082e-03,-5.75850718e-05,6.55882061e-04,7.88089819e-05])
#In CASA
gencal(vis = 'X3f3.ms',
caltable = 'X3f3.ms.antpos',
caltype = 'antpos',
antenna = 'CM02,CM03,CM04,CM05,CM06,CM07,CM09,CM12',
parameter = [-1.04341656e-04,4.29447740e-04,4.12447378e-04,1.04838982e-05,4.57765535e-04,3.53057869e-04,1.38600077e-03,-6.59998506e-04,-4.26100381e-03,-8.91945325e-04, 4.27036546e-04,1.40665658e-03,-1.16256997e-04,2.12460477e-03,-5.08893328e-03,-3.65406508e-03,1.86459431e-02,5.67199755e-03,8.04639747e-03,4.01791865e-02,1.46969082e-03,-5.75850718e-05,6.55882061e-04,7.88089819e-05])
#In CASA
gencal(vis = 'X5b3.ms',
caltable = 'X5b3.ms.antpos',
caltype = 'antpos',
antenna = 'CM02,CM03,CM04,CM05,CM06,CM09,CM12',
parameter = [-1.04341656e-04,4.29447740e-04,4.12447378e-04,1.04838982e-05,4.57765535e-04,3.53057869e-04,1.38600077e-03,-6.59998506e-04,-4.26100381e-03,-8.91945325e-04,4.27036546e-04,1.40665658e-03,-1.16256997e-04,2.12460477e-03,-5.08893328e-03,8.04639747e-03,4.01791865e-02,1.46969082e-03,-5.75850718e-05,6.55882061e-04,7.88089819e-05])
#In CASA
gencal(vis = 'X44.ms',
caltable = 'X44.ms.antpos',
caltype = 'antpos',
antenna = 'CM12,CM02,CM03,CM05',
parameter = [5.70082944295e-05,-0.00065711393962,-7.91980095891e-05,0.000104837426825,-0.000430660050663,-0.000411915081903,-1.1060689293e-05,-0.000458996548728,-0.00035344706733,
0.000982235185802,-0.000412690453231,-0.00145998690277])
gencal(vis = 'X44.ms',
caltable = 'X44.ms.antpos',
caltype = 'antpos',
antenna = 'CM02',
parameter = [0.0,0.0,0.0])
#In CASA
gencal(vis = 'X124.ms',
caltable = 'X124.ms.antpos',
caltype = 'antpos',
antenna = 'CM02,CM03,CM04,CM05,CM06,CM07,CM09,CM12',
parameter = [-1.04341656e-04,4.29447740e-04,4.12447378e-04,1.04838982e-05,4.57765535e-04,3.53057869e-04,1.38600077e-03,-6.59998506e-04,-4.26100381e-03,-8.91945325e-04,4.27036546e-04,1.40665658e-03,-1.16256997e-04,2.12460477e-03,-5.08893328e-03,-3.65406508e-03,1.86459431e-02,5.67199755e-03,8.04639747e-03,4.01791865e-02,1.46969082e-03,-5.75850718e-05,6.55882061e-04, 7.88089819e-05])
gencal(vis = 'X124.ms',
caltable = 'X124.ms.antpos',
caltype = 'antpos',
antenna = 'CM02',
parameter = [0.0,0.0,0.0])