Scripts for Step 4 - Prepare the lines:

Create Final Line Measurement Sets#

Finally, we split out the individual spectral windows from each EB, and then combine them across EBs. We do this for both the continuum-subtracted and non-continuum-subtracted data, accounting for the new SPW-indexing in the former:

""" First do non-continuum-subtracted ms's """
for spwi,molecule in enumerate(molecules):
    ms_list_to_concatenate = []
    for EB in data_dict['EBs']:
        ms_list_to_concatenate.append(data_dict['NRAO_path']+data_dict[EB]['_initlines_selfcal.ms'].replace('.ms', '_spw'+str(spwi)+'.ms'))

    print('For molecule: ', molecule)
    print('Combining spectral window '+str(spwi)+' across these measurement sets:', ms_list_to_concatenate)

    final_line_ms = 'ABAur_'+molecule+'.bin30s.ms'

    os.system('rm -rf %s*' % final_line_ms)
    concat(vis          = ms_list_to_concatenate,
           concatvis    = final_line_ms,
           dirtol       = '0.1arcsec',
           copypointing = False)
    listobs(vis=final_line_ms, listfile=final_line_ms+'.listobs.txt')
    os.system('tar cvzf backups/' + final_line_ms+'.tgz ' + final_line_ms)

""" Second do continuum-subtracted ms's (contains spws 0,1,2,3) """
for spwi,molecule in enumerate(molecules):
    ms_list_to_concatenate = []
    for EB in data_dict['EBs']:
        ms_list_to_concatenate.append(data_dict['NRAO_path']+data_dict[EB]['_initlines_selfcal.ms'].replace('.ms', '_spw'+str(spwi)+'.ms')+'.contsub')

    print('For molecule: ', molecule)
    print('Combining spectral window '+str(spwi)+' across these measurement sets:', ms_list_to_concatenate)

    final_line_ms = 'ABAur_'+molecule+'.bin30s.ms.contsub'

    os.system('rm -rf %s*' % final_line_ms)
    concat(vis          = ms_list_to_concatenate,
           concatvis    = final_line_ms,
           dirtol       = '0.1arcsec',
           copypointing = False)
    listobs(vis=final_line_ms, listfile=final_line_ms+'.listobs.txt')
    os.system('tar cvzf backups/' + final_line_ms+'.tgz ' + final_line_ms)