from __future__ import absolute_import
from casatasks.private.casa_transition import *
from .parallel.parallel_task_helper import ParallelTaskHelper
from casatools import calibrater, quanta
from casatools import table as tbtool
from casatools import ms as mstool
from casatasks import casalog
from .mstools import write_history
from mstools import write_history
from parallel.parallel_task_helper import ParallelTaskHelper
def concat(vislist,concatvis,freqtol,dirtol,respectname,timesort,copypointing,
visweightscale, forcesingleephemfield):
"""concatenate visibility datasets
The list of data sets given in the vis argument are chronologically concatenated
into an output data set in concatvis, i.e. the data sets in vis are first ordered
by the time of their earliest integration and then concatenated.
If there are fields whose direction agrees within the direction tolerance
(parameter dirtol), the actual direction in the resulting, merged output field
will be the one from the chronologically first input MS.
If concatvis already exists (e.g., it is the same as the first input data set),
then the other input data sets will be appended to the concatvis data set.
There is no limit to the number of input data sets.
If none of the input data sets have any scratch columns (model and corrected
columns), none are created in the concatvis. Otherwise these columns are
created on output and initialized to their default value (1 in model column,
data in corrected column) for those data with no input columns.
Spectral windows for each data set with the same chanelization, and within a
specified frequency tolerance of another data set will be combined into one
A field position in one data set that is within a specified direction tolerance
of another field position in any other data set will be combined into one
field. The field names need not be the same---only their position is used.
Each appended dataset is assigned a new observation id (provided the entries
in the observation table are indeed different).
vis -- Name of input visibility files to be combined
default: none; example: vis = ['src2.ms','ngc5921.ms','ngc315.ms']
concatvis -- Name of visibility file that will contain the concatenated data
note: if this file exits on disk then the input files are
added to this file. Otherwise the new file contains
the concatenated data. Be careful here when concatenating to
default: none; example: concatvis='src2.ms'
example: concatvis='outvis.ms'
concat(vis=['src2.ms','ngc5921.ms'], concatvis='src2.ms')
will concatenate 'ngc5921.ms' into 'src2.ms', and the original
concat(vis=['src2.ms','ngc5921.ms'], concatvis='out.ms')
will concatenate 'ngc5921.ms' and 'src2.ms' into a file named
'out.ms'; the original 'ngc5921.ms' and 'src2.ms' are untouched.
concat(vis=['v1.ms','v2.ms'], concatvis = 'vall.ms')
concat(vis=['v3.ms','v4.ms'], concatvis = 'vall.ms')
vall.ms will contains v1.ms+v2.ms+v3.ms+v4.ms
Note: run flagmanager to save flags in the concatvis
freqtol -- Frequency shift tolerance for considering data to be in the same
spwid. The number of channels must also be the same.
example: freqtol='10MHz' will not combine spwid unless they are
Note: This option is useful to combine spectral windows with very slight