Source
xxxxxxxxxx
from __future__ import absolute_import
import os
import re
import string
import time
import shutil
import numpy as np
from casatasks.private.casa_transition import *
if is_CASA6:
from . import flaghelper as fh
from .update_spw import update_spwchan
from .parallel.parallel_data_helper import ParallelDataHelper
from .mstools import write_history
from casatasks import casalog
from casatools import quanta
from casatools import table as tbtool
from casatools import ms as mstool
from casatools import mstransformer as mttool
_qa = quanta( )
else:
import flaghelper as fh
from update_spw import update_spwchan
from parallel.parallel_data_helper import ParallelDataHelper
from mstools import write_history
from taskinit import casalog, mttool, qatool, mstool, tbtool
_qa = qatool()
def split(vis,
outputvis,
keepmms,
field,
spw,
scan,
antenna,
correlation,
timerange,
intent,
array,
uvrange,
observation,
feed,
datacolumn,
keepflags,
width,
timebin,
combine
):
"""Create a visibility subset from an existing visibility set"""
casalog.origin('split')
# Initialize the helper class
pdh = ParallelDataHelper("split", locals())
# Validate input and output parameters
pdh.setupIO()
# Input vis is an MMS
if pdh.isMMSAndNotServer(vis) and keepmms:
retval = pdh.validateInputParams()
if not retval['status']:
raise Exception('Unable to continue with MMS processing')
pdh.setupCluster('split')
# Execute the jobs
pdh.go()
return
try:
mtlocal = mttool()
# Gather all the parameters in a dictionary.
config = {}
if keepflags:
taqlstr = ''
else:
taqlstr = "NOT (FLAG_ROW OR ALL(FLAG))"
if type(correlation) == list:
correlation = ', '.join(correlation)
correlation = correlation.upper()
config = pdh.setupParameters(inputms=vis, outputms=outputvis, field=str(field),
spw=str(spw), array=str(array), scan=str(scan), antenna=str(antenna), correlation=correlation,