En algunos casos, el pipeline puede escoger una antena de referencia que no es ideal para los propósitos de calibración. El algoritmo de pipeline escoge una antena (de hecho hay una lista de clasificación) que no esta fuertemente flagueada y esta cerca del centro del arreglo. Otros factores, es decir, brincos de fases, o "deformattors" que no fueron captados en la etapa hifv_flagbaddef que puede estar presente en la referencia de la antena y entonces que pueda ser reflejado en todas las soluciones. Cuando esto sucede, es aconsejable decirle al pipeline no usar una antena específica. Esto puede ser guardado por un parametro casa_pipescript.py puede ser modificado como sigue (los cambios se muestran en rojo hifv_testBPdcals, hifv_semiFinalBPdcals, hifv_solint, hifv_fluxboot, hifv_finalcals):
__rethrow_casa_exceptions = True
context = h_init()
context.set_state('ProjectSummary', 'observatory', 'Karl G. Jansky Very Large Array')
context.set_state('ProjectSummary', 'telescope', 'EVLA')
try:
hifv_importdata(ocorr_mode='co', nocopy=False, vis=['mySDM'], \
createmms='automatic', asis='Receiver CalAtmosphere', \
overwrite=False)
hifv_hanning(pipelinemode="automatic")
hifv_flagdata(intents='*POINTING*,*FOCUS*,*ATMOSPHERE*,*SIDEBAND_RATIO*, \
*UNKNOWN*, *SYSTEM_CONFIGURATION*, *UNSPECIFIED#UNSPECIFIED*', \
flagbackup=False, scan=True, baseband=True, clip=True, autocorr=True, \
hm_tbuff='1.5int', template=True, online=True, tbuff=0.0, \
fracspw=0.05, hhadow=True, quack=True, edgespw=True)
hifv_vlasetjy(fluxdensity=-1, scalebychan=True, reffreq='1GHz', spix=0)
hifv_priorcals(tecmaps=False)
hifv_testBPdcals(weakbp=False, refantignore='ea28')
hifv_flagbaddef(pipelinemode="automatic")
hifv_checkflag(pipelinemode="automatic")
hifv_semiFinalBPdcals(weakbp=False, refantignore='ea28')
hifv_checkflag(checkflagmode='semi')
hifv_semiFinalBPdcals(weakbp=False, refantignore='ea28')
hifv_solint(pipelinemode="automatic", refantignore='ea28')
hifv_fluxboot(pipelinemode="automatic", refantignore='ea28')
hifv_finalcals(weakbp=False, refantignore='ea28')
hifv_applycals(flagdetailedsum=True, flagbackup=True, calwt=[True], \
flagsum=True, gainmap=False)
hifv_targetflag(intents='*CALIBRATE*,*TARGET*')
hifv_statwt(pipelinemode="automatic")
hifv_plotsummary(pipelinemode="automatic")
hif_makeimlist(nchan=-1, calmaxpix=300, intent='PHASE,BANDPASS')
hif_makeimages(tlimit=2.0, hm_negativethreshold=-999.0, \
subcontms=False, hm_masking='none', masklimit=4, \
maxncleans=1, hm_growiterations=-999, cleancontranges=False, \
noise='1.0Jy', hm_minbeamfrac=-999.0, target_list={}, robust=-999.0, \
parallel='automatic', weighting='briggs', hm_noisethreshold=-999.0, \
hm_lownoisethreshold=-999.0, npixels=0, hm_sidelobethreshold=-999.0)
finally:
h_save()In some cases, the pipeline may chose a reference antenna that is not ideal for calibration purposes. The pipeline algorithm picks an antenna (actually a ranked list of antennas) that is not heavily flagged and that is close to the center of the array. Other factors, e.g. phase jumps, or bad deformattors that are not caught in the hifv_flagbaddef stage may still be present on the reference antenna and then be reflected on all solutions. When this happens, it is advisable to tell the pipeline not to use a specific antenna as a reference antenna. This can be achieved by the parameter refantignore that is available in some hifv tasks. E.g. if we want to avoid that the pipeline uses antenna 'ea28' as a reference antenna, the casa_pipescript.py can be modified as follows (changes are shown in red in hifv_testBPdcals, hifv_semiFinalBPdcals, hifv_solint, hifv_fluxboot, hifv_finalcals):
__rethrow_casa_exceptions = True
context = h_init()
context.set_state('ProjectSummary', 'observatory', 'Karl G. Jansky Very Large Array')
context.set_state('ProjectSummary', 'telescope', 'EVLA')
try:
hifv_importdata(ocorr_mode='co', nocopy=False, vis=['mySDM'], \
createmms='automatic', asis='Receiver CalAtmosphere', \
overwrite=False)
hifv_hanning(pipelinemode="automatic")
hifv_flagdata(intents='*POINTING*,*FOCUS*,*ATMOSPHERE*,*SIDEBAND_RATIO*, \
*UNKNOWN*, *SYSTEM_CONFIGURATION*, *UNSPECIFIED#UNSPECIFIED*', \
flagbackup=False, scan=True, baseband=True, clip=True, autocorr=True, \
hm_tbuff='1.5int', template=True, online=True, tbuff=0.0, \
fracspw=0.05, hhadow=True, quack=True, edgespw=True)
hifv_vlasetjy(fluxdensity=-1, scalebychan=True, reffreq='1GHz', spix=0)
hifv_priorcals(tecmaps=False)
hifv_testBPdcals(weakbp=False, refantignore='ea28')
hifv_flagbaddef(pipelinemode="automatic")
hifv_checkflag(pipelinemode="automatic")
hifv_semiFinalBPdcals(weakbp=False, refantignore='ea28')
hifv_checkflag(checkflagmode='semi')
hifv_semiFinalBPdcals(weakbp=False, refantignore='ea28')
hifv_solint(pipelinemode="automatic", refantignore='ea28')
hifv_fluxboot(pipelinemode="automatic", refantignore='ea28')
hifv_finalcals(weakbp=False, refantignore='ea28')
hifv_applycals(flagdetailedsum=True, flagbackup=True, calwt=[True], \
flagsum=True, gainmap=False)
hifv_targetflag(intents='*CALIBRATE*,*TARGET*')
hifv_statwt(pipelinemode="automatic")
hifv_plotsummary(pipelinemode="automatic")
hif_makeimlist(nchan=-1, calmaxpix=300, intent='PHASE,BANDPASS')
hif_makeimages(tlimit=2.0, hm_negativethreshold=-999.0, \
subcontms=False, hm_masking='none', masklimit=4, \
maxncleans=1, hm_growiterations=-999, cleancontranges=False, \
noise='1.0Jy', hm_minbeamfrac=-999.0, target_list={}, robust=-999.0, \
parallel='automatic', weighting='briggs', hm_noisethreshold=-999.0, \
hm_lownoisethreshold=-999.0, npixels=0, hm_sidelobethreshold=-999.0)
finally:
h_save()