def run_load_sort(pwd, data_prefix, delete, disk): ## Load the data into AIPS fitld = AIPSTask('FITLD') fitld.datain = pwd + data_prefix + '_1_1.IDI' fitld.outdisk = disk fitld.digicor = -1 fitld.doconcat = 1 fitld.outname = data_prefix fitld.ncount = 3 fitld.go() #Load the TASAV file which contains the pipelined tables fitld = AIPSTask('FITLD') fitld.datain = pwd + data_prefix + '_1.tasav.FITS' fitld.outdisk = disk fitld.digicor = -1 fitld.outname = 'pipe_TSAV' fitld.ncount = 1 fitld.go() #sort the data into time-baseline order uvdata = WizAIPSUVData(data_prefix, 'UVDATA', disk, 1) tasav = WizAIPSUVData('pipe_TSAV', 'TASAV', disk, 1) uvsrt = AIPSTask('UVSRT') uvsrt.indata = uvdata uvsrt.outdata = uvdata uvsrt.sort = 'TB' uvsrt.go() dqual = AIPSTask('DQUAL') dqual.indata = uvdata dqual.fqcenter = -1 dqual.go() if delete == True: uvdata.zap() uvdata = WizAIPSUVData(data_prefix, 'DQUAL', disk, 1) indxr = AIPSTask('INDXR') uvdata.zap_table('CL', 1) indxr.indata = uvdata indxr.cparm[3] = 0.25 indxr.go() if delete == True: uvdata.rename(data_prefix, 'UVDATA', 1) else: uvdata.rename(data_prefix, 'UVDATA', 2)
### which hold the names of data. It is of the form WizAIPSUVData(name,class,disk,seq) look at AIPS catalogue using command pcat ## Uvsrt sorts it in time-baseline order uvsrt = AIPSTask('UVSRT') uvsrt.indata = uvdata ##special input of <taskname>.indata is equivalent to the AIPS getn <num> command but you use the WizAIPSUVData type i.e. uvdata in this case uvsrt.outdata = uvdata ## same as above but AIPS command geton <num> uvsrt.sort = 'TB' uvsrt.go() ## dont worry about this dqual = AIPSTask('DQUAL') dqual.indata = uvdata dqual.fqcenter = -1 dqual.go() if delete == True: uvdata.zap( ) ### zap command deletes files in AIPS so be careful! e.g. this one will delete WizAIPSUVData(data_prefix,'UVDATA',disk,1) uvdata = WizAIPSUVData(data_prefix, 'DQUAL', disk, 1) ## redefined as DQUAL makes another copy ## Index the data to make sure tables are in order indxr = AIPSTask('INDXR') uvdata.zap_table( 'CL', 1 ) ## Zap_table command deletes table. Command is of form .zap_table(<table type>,<table number>) and this one deletes the calibration table (CL) number 1 as we want indxr to make a new one with a different time intervals (indxr.cparm[3] = 0.25) indxr.indata = uvdata indxr.cparm[3] = 0.25 ## Some AIPS variables have multiple inputs so need to be a python list or an AIPS list. BUT AIPS in 1 indexed and python is 0 indexed therefore the first value in a list needs to be None. Aips has special ways of doing this as follows e.g. if i want to set cparm 1 2 and 3 all to 0.25 i can either do: # indxr.cparm[1:] = 0.25,0.25,0.25 # indxr.cparm = AIPSList([0.25,0.25,0.25]) indxr.go() if delete == True: