def waitForCASA():
    os.system('sleep 2')
    clearstat()

bpSource = '3c273'
gcSource = '0851+202'
scienceSource='cwleosma'
refAnt = 'SMA6'

os.system('date')
execfile('smaImportFix.py')
waitForCASA()
os.system('rm -r -f Upper*')
os.system('rm -r -f Lower*')
vis ='MyDataLower'
ms.open(vis)
ms.split(outputms=vis+'.tile',tileshape=[1,256,54])
ms.done()
waitForCASA()
vis ='MyDataLower.tile'
# Process the two IF halves separately
for first in (1, 25):
    last = first+23
    print 'Processing chunks %02d through %02d' % (first, last)
    ext = '.s%02d-s%02d' % (first, last)
    spwList = '%d~%d' % (first, last)
    spwMap = [first]
    gaincal(vis=vis,caltable=vis+ext+'.bpPhaseGC',field=bpSource,spw=spwList,minsnr=2.0,refant=refAnt,calmode='p',solint='int',combine='spw')
    waitForCASA()
    bandpass(vis=vis,caltable=vis+ext+'.bpBPCal',field=bpSource,spw=spwList,bandtype='B',solint=['inf','3.25MHz'],combine='scan',refant=refAnt,gaintable=vis+ext+'.bpPhaseGC',spwmap=spwMap)
    waitForCASA()
    gaincal(vis=vis,caltable=vis+ext+'.bpPhaseGC2',field=bpSource,spw=spwList,gaintype='G',minsnr=2.0,refant=refAnt,calmode='p',solint='int',combine='spw',gaintable=[vis+ext+'.bpBPCal'])
    waitForCASA()
    gaincal(vis=vis,caltable=vis+ext+'.apcal',field=bpSource,spw=spwList,gaintype='G',minsnr=2.0,refant=refAnt,calmode='a',solint='300s',combine='spw',gaintable=[vis+ext+'.bpPhaseGC2',vis+ext+'.bpBPCal'],spwmap=[spwMap,[]])
    waitForCASA()
    blcal(vis=vis,caltable=vis+ext+'.blcal1',field=bpSource,spw=spwList,solint='inf',combine='spw,scan',gaintable=[vis+ext+'.bpPhaseGC2',vis+ext+'.apcal',vis+ext+'.bpBPCal'],spwmap=[spwMap,spwMap,[]],calmode='a')
    waitForCASA()
    blcal(vis=vis,caltable=vis+ext+'.blcal2',field=bpSource,spw=spwList,solint=['inf'],combine='scan',gaintable=[vis+ext+'.bpPhaseGC2',vis+ext+'.apcal',vis+ext+'.blcal1',vis+ext+'.bpBPCal'],spwmap=[spwMap,spwMap,spwMap,[]],calmode='a')
    waitForCASA()
    setjy(vis=vis,scalebychan=False,spw=spwList,field=gcSource,fluxdensity=[6.26,0.0,0.0,0.0])
    waitForCASA()
    gaincal(vis=vis,caltable=vis+ext+'.finalGC',field=gcSource,calmode='ap',solint='inf',spw=spwList,combine='spw',refant=refAnt,gaintype='G',minsnr=2.0,gaintable=[vis+ext+'.bpBPCal',vis+ext+'.blcal2'],spwmap=[[],[]],gainfield=[bpSource,bpSource])
    waitForCASA()
    applycal(vis=vis,spw=spwList,field=gcSource+','+scienceSource+','+bpSource,gaintable=[vis+ext+'.bpBPCal',vis+ext+'.blcal2',vis+ext+'.finalGC'],spwmap=[[],[],spwMap],gainfield=[bpSource,bpSource,gcSource])
    waitForCASA()
split(vis=vis,outputvis='IRC10216_02Feb09_LSB_Calibrated',field='cwleosma')
waitForCASA()
clean(cell=[0.5],imagename='02Feb09_LSB_Cube',imsize=[128],mode='channel',width=1,start=0,stokes='I',threshold='100.0mJy',vis='IRC10216_02Feb09_LSB_Calibrated',usescratch=True,spw='>0')
waitForCASA()
uvcontsub(vis='IRC10216_02Feb09_LSB_Calibrated',fitspw='*:294.345~294.4GHz;294.725~294.917GHz;295.038~295.16GHz;295.285~295.415GHz;295.473~295.532GHz;295.643~295.759GHz;296.026~296.105GHz;296.206~296.268GHz;297.045~297.148GHz;297.326~297.445GHz;297.81~297.827GHz;297.841~297.888GHz',solint='inf',fitorder=1,want_cont=True,combine='spw,scan',spw='1~48')
waitForCASA()
clean(cell=[0.5],imagename='02Feb09_LSB_Cube_Freq_Lines',imsize=[128],mode='frequency',width='1.0MHz',stokes='I',threshold='50.0mJy',vis='IRC10216_02Feb09_LSB_Calibrated.contsub',usescratch=True,spw='>0')
waitForCASA()
clean(cell=[0.5],imagename='IRC10216_SiCC',imsize=[128],mode='frequency',width='28.5MHz',start='297.7GHz',nchan=1,stokes='I',threshold='500.0mJy',vis='IRC10216_02Feb09_LSB_Calibrated.contsub',usescratch=True,spw='>0')
waitForCASA()
clean(cell=[0.5],imagename='IRC10216_C4H',imsize=[128],mode='frequency',width='28.5MHz',start='294.9653GHz',nchan=1,stokes='I',threshold='500.0mJy',vis='IRC10216_02Feb09_LSB_Calibrated.contsub',usescratch=True,spw='>0')
os.system('date')