Skip to content

Phase referencing

Jack Radcliffe edited this page Jul 22, 2022 · 8 revisions

Multi-band delay and phase referencing (phase_referencing)

Parameters

    "phase_referencing":{        
        "select_calibrators": [["J1011+0106"]], #select which calibrators to be used (maps to other 5 parameters w/ nested lists)
        "cal_type"          : [[  "f",  "f",  "f",  "p",   "p", "ap", "ap", "ap",  "ap", "f",   "p"]],  #type of calibration loops to perform
        "sol_interval"      : [["inf","inf","inf","inf","1min","inf","inf","inf","1min","inf","1min"]], #solution interval for each loop
        "combine"           : [["spw","spw",   "",   "",    "","spw",   "",   "", "spw","",    ""]], #combine data across what axes
        "interp_flagged"    : [[ true, true, true, true,  true, true, true, true,  true,  true, true]], #if true, interpolate across failed solutoons
        "pass_ants"         : [[]], #specify which antennae to not be flagged by application
        "do_disp_delays"    : true, #if true, derive disperive delays when fringe fitting (cal_type="f")
        "cal_weights"       : true, #if true, rescale weights based upon calibration corrections
        "fringe_niter"      :  300, #number of iterations for global fringe fitting (default ok!)
        "min_snr"           :  5.0, #min S/N for calibration solutions
        "imager"            :  "tclean", #which imager to use to generate model for self-calibration. Options: "tclean|wsclean"
        "imaging_params"    :  "auto", #if "auto", calculate correct cell size, otherwise specify e.g., "0.001arcsec"
        "masking"           :  "peak", #type of masking to use. Options "peak|auto"
        "thresholding"      :  "offset", #method of determining when to stop deconvolving. Options "offset|box|none"
        "hpc_options":{
            "partition"     :  "default",
            "walltime"      :  "default",
            "nodes"         :    -1,
            "cpus"          :    -1,
            "mpiprocs"      :    -1,
            "nodetype"      :  "default"
        }

Recommended use: This section is the most involved step of the entire pipeline and needs significant user input. The following sub-sections will give you an idea on how this step works and how to select the right parameters.

How this step works

This step derives the time-dependent delay, rates, phases and amplitude corrections that are required to be able to image the target field (as the phase reference source should be near the target). The first loop should always be a multi-band delay ("cal_type"=["f"] and "combine"=["spw"]) to derive the time-dependent phase corrections. After this, multiple loops of self-calibration is performed (via imaging of the phase reference source) to then provide a model to refine and correct the initial solutions and the amplitude fluctuations. This requires the user to set a parameters which are then executed. For examples, see the section below

Setting the calibration parameters

This section regards the selection of calibration parameters for "select_calibrators", "cal_type","sol_interval", "combine", "interp_flags" and "pass_ants". The information on these parameters are below.

  • "select_calibrators" - specifies the phase reference sources. The use of nested lists are used to map the needed parameters to the fields specified by the "select_calibrators" entries and should also map (i.e., have the same shape) to the other parameters with nested lists (i.e.,"cal_type","sol_interval", "combine", "interp_flags" and "pass_ants").

    • If two lists of phase calibrators are entered e.g., "select_calibrators":[["J1011+0106"],["J0239+0242"]] then the pipeline will assume that we are phase referencing from one phase calibrator ("J1011+0106") to the next ("J0239+0242") and then all are applied to the target field in the next step. This is often used if a bright phase calibrator is not near a target field and you need to move from a bight compact source to a fainter one and then to the target field.
    • If the phase calibrators are given within the same nested list e.g., "select_calibrators":[["J1011+0106","J0239+0242"]], then the pipeline will assume that you have multiple phase calibrator / target pairs in the measurement set and attempt to derive solutions to both fields simultaneously.
  • "cal_type" - specifies what sort of calibration is performed at each step. The options are as follows: "f" - global fringe fitting (correct for rate, delay & phase), "k" - delay calibration (baseline-based; corrects for delay / phase only), "p" - phase calibration, "ap" - amplitude and phase calibration, "a" - amplitude calibration only.

  • "combine" - specifies what axes of the data should be combined. Most commonly used is the "spw" which combines the frequency axis to increase S/N of solutions. Other options include "obs", "scan", and/or "field" and multiple can be specified e.g., "combine":["spw,field"] will combine spectral windows and fields.

  • "interp_flagged" - specifies whether a linear interpolation should be conducted where no solutions can be found. Generally it is good to keep this as true but you should ensure that data where the telescopes are off source are already flagged.

  • "pad_ants" - this parameter allows you to prevent antennae which may not observe all phase calibrator scans to not be flagged. CASA normally flags data when there's no data to be found but you may have the situation where, due to telescope restrictions, an antenna observed a secondary phase calibrator only rather than both. If you derive solutions to the primary, then apply to the secondary, you'd flag this antenna. For example, if we have "select_calibrators":[["J1011+0106"],["J0239+0242"]] and a telescope (say Effelsberg - EF) doesn't observe the first phase calibrator due to slewing restrictions; the pipeline will derive solutions on "J1011+0106" and then apply this to "J0239+0242". This will flag EF in the process. To fix this, we set "pad_ants":[["EF"],[]], which will prevent the flagging of EF at from first phase calibrator calibration.

Imaging parameters

After each round of calibration, this step will produce an image of the source in order to generate a model for self-calibration and refinement of the solutions. The method of imaging is controlled by the "imaging_params", "masking" and "thresholding" parameters. The default parameters are normally ok but how they work and the options available are outlined below:

  • "imager" - the pipeline supports the use of CASA's in house "tclean" imager or the standalone "wsclean" imager. The "wsclean" imager is generally quicker but has not been fully commissioned for use in the pipeline. You must also ensure that it is executable through a python os.system() command. The wsclean execute command can be specified in the global parameters. tclean has been fully commissioned and should generally be used most of the time.

  • "masking" - complex masking of VLBI phase reference sources is often not needed as most are point-like. However, the point-spread functions (PSFs) are quite complex making it easy for the deconvolution to go haywire as side-lobes can be targeted. This has been seen to happen sometimes with the automatic masking within CASA task tclean ("masking":"auto"). A more reliable method of peak thresholding is available ("masking":"peak"). This makes an uncleaned image and searches for the peak emission. It then creates a mask around this peak pixel which is the ~size of the restoring beam for use in deconvolution. This generally prevents side-lobes from being deconvolved and ensures the model is fairly accurate.

  • "thresholding" - the thresholding decides when the deconvolution stops. It is important as deconvolving too deep can cause the self-calibration model to have too much noise and prevent better solutions. The first option "offset", generally works best. It creates an image of the field two arcseconds north in Declination and then measures the noise of this field. This is normally far enough so that side-lobes from the phase calibrator do not affect this field. Then 1.2*noise is used for the threshold for when the deconvolution stops. The option "box" generates a deep deconvolved image of the phase calibrator, and measures the noise away from the source. This normally takes longer as you need to image twice.

Examples

  1. Two phase calibrators, bootstrap solutions from phase calibrator 1 to 2 and then to target.
        "select_calibrators": [["J1241+602"],["J1234+619"]],
        "cal_type"          : [[  "f",  "f"  "p",   "ap", "p"],[ "f", "p"]],  
        "sol_interval"      : [["inf","inf","inf","inf","1min"],["inf", "inf"]], 
        "combine"           : [["spw","spw",   "",   "",    ""],["spw", "spw"],
        "interp_flagged"    : [[ true, true, true, true, true],[true, true]], 
        "pass_ants"         : [["JB"],[]],

This will perform a multi-band delay fringe fitting to start and then create a model of the source to then refine the multi-band delay (each with a solution derived per scan). Then a per-scan, per-spw phase, then amplitude self-calibration is performed and a final phase-only (per spw with 1 min solution interval) performed. J1241+602 was not observed by antenna JB so pad_ants was specified so that this antenna is not flagged when these solutions are applied.

These solutions are then applied to the secondary phase calibrator and an initial image and odel is made of this calibrator. Using this model a self-calibration of the multi-band delays are derived and a final phase self-calibration per scan and all spw combined is made. The following outputs are expected:

Calibration tables:

  • <project_code>-J1241+602.f0 - first multi-band delay calibration
  • <project_code>-J1241+602.f1 - self-calibration of fringe solutions using J1241+602-f0.model
  • <project_code>-J1241+602.p2 - self-calibration of phases solutions using J1241+602-f1.model etc.
  • <project_code>-J1241+602.ap3
  • <project_code>-J1241+602.p4
  • <project_code>-J1234+619.f0 - self-calibration of fringe solutions using J1234+619-initmodel.model
  • <project_code>-J1234+619.p1

Images (also .model, .sumwt, .residual, .mask, .pb and .psf will exist):

  • J1241+602-f0.image
  • J1241+602-f1.image
  • J1241+602-p2.image
  • J1241+602-ap3.image
  • J1241+602-p4.image
  • J1234+619.initmodel.image - initial image of second phase calibrator from phase referencing from J1241+602
  • J1234+619.f0.image
  • J1234+619.p1.image

Expected inputs

  • Measurement set (<project_code>.ms)

Expected outputs

  • Bunch of images and calibration tables (see Examples!)