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)
Esempio n. 2
0
    ### 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: