Calibrator pipeline¶
Note
If you are running the deprecated genericpipeline version of the pipeline (prefactor 3.2 or older), please check the old instructions page.
This pipeline processes the calibrator data in order to derive direction-independent corrections. It will take into account the correct order of distortions to be calibrated for. This chapter will present the specific steps of the calibrator pipeline in more detail.
All results (diagnostic plots and calibration solutions) will be stored usually in the --outdir
directory specified with your cwltool
or toil
command.
Prepare calibrator, incl. “demixing” (prep
)¶
This part of the pipeline prepares the calibrator data in order to be calibration-ready. This mainly includes mitigation of bad data (RFI, bad antennas, contaminations from A-Team sources), selection of the data to be calibrated, and some averaging to reduce data size and enhance the signal-to-noise ratio. The user can specify whether to do raw data or pre-processed data flagging and whether demixing should be performed.
The basic workflows are:
preparation of data (
prep
)correcting for polarization alignment (
PA
)correcting for Faraday Rotation (
FR
)correcting for bandpass (
BP
)correcting for ionospheric disturbances (
ion
)
- The workflow
prep
consists of: determining suitable calibrator skymodel (steps
find_skymodel_cal
,make_sourcedb
)checking for nearby A-Team sources (step
check_Ateam_separation
)creating a model of A-Team sources to be subtracted (step
make_sourcedb_ateam
)- basic flagging and averaging (subworkflow
dp3_prep_cal
) edges of the band (
flagedge
) – only used ifraw_data : true
statistical flagging (
aoflag
) – only used inraw_data : true
baseline flagging (
flagbaseline
)low elevation flagging (below 15 degress elevation) (
flagelev
)low amplitude flagging (below 1e-30) (
flagamp
)demix A-Team sources (
demix
) – only used if specifieddemix : true
averaging of the data in time and frequency
- basic flagging and averaging (subworkflow
wide-band statistical flagging (steps
ms_concat
andaoflag
)write the calibrator skymodel into the
MODEL_DATA
column (steppredict
) and perform direction-independent phase-only calibration (diagonal terms + common rotation angle, stepcalib_cal
) (subworkflowpredict_cal
, baseline-dependent smoothing (stepBLsmooth
) if specifieddo_smooth : true
)
Calibration of the polarization alignment (PA
)¶
The phase solutions derived from the preparation step are now collected and loaded into LoSoTo.
LoSoTo will derive the polarizion alignment and provide diagnostic plots under inspection/
:
polalign_ph_pol??.png
: matrix plot of the phase solutions for the XX and YY polarization
polalign_ph_poldif.png
: matrix plot of the phase solutions from XX-YY
polalign_rotangle.png
: matrix plot of the common rotation angle solutions
polalign_amp_pol??.png
: matrix plot of the amplitude solutions for the XX and YY polarization
polalign.png
: matrix plot of the derived polarization alignment between XX and YY
polalign_ph-res_pol??.png
: matrix plot of the residual phase solutions for the XX and YY polarization after subtraction the derived polarization alignmentpolalign_ph-res_poldif.png
: matrix plot of the residual phase solutions for XX-YY after subtraction of the derived polarization alignment
- The workflow
PA
consists of: deriving the polarization alignment from the calibration solutions (subworkflow
PolAlign
)creating diagnostic plots (steps
losoto_plot
)applying polarization alignment solutions (step
applyPA
) and the element beam correction (stepapplybeam
) to the original data and re-calibrate (diagonal terms + common rotation angle, stepcalib_cal
) (subworkflowapply_calibrate_pa
, baseline-dependend smoothing (stepBLsmooth
) if specifieddo_smooth : true
)
Calibration of the Faraday Rotation (FR
)¶
The outcome of the re-calibration after correcting for the polarization alignment is again loaded into LoSoTo in order to derive corrections for Faraday Rotation. The following diagnostic plots are created:
fr_ph_pol??.png
: matrix plot of the phase solutions for the XX and YY polarizationfr_ph_poldif.png
: matrix plot of the phase solutions from XX-YYfr_rotangle.png
: matrix plot of the common rotation angle solutionsfr_amp_pol??.png
: matrix plot of the amplitude solutions for the XX and YY polarizationfr
: matrix plot of the derived differential Rotation Measure from Faraday Rotation
- The workflow
FR
consists of: deriving the Faraday Rotation from the calibration solutions (subworkflow
FaradayRot
)creating diagnostic plots (steps
losoto_plot
)applying Faraday Rotation solutions (step
applyFR
) and re-calibrate (diagonal terms + common rotation angle, stepcalib_cal
) (subworkflowapply_calibrate_fr
, baseline-dependend smoothing (stepBLsmooth
) if specifieddo_smooth : true
)
Calibration of the Bandpass (BP
)¶
The outcome of the re-calibration after correcting for the polarization alignment and Faraday Rotation is loaded into LoSoTo in order to derive corrections for the bandpass. A robust flagging on the amplitude solutions as well as a Savitzky-Golay filter is applied in order to reject bad solutions and smooth the outcome. Frequency regimes up to a certain maximum width (parameter max2interpolate
) will be interpolated if flagged.
The following diagnostic plots are created:
ampBFlag_??.png
: matrix plot of the amplitude solutions for the XX and YY polarizationbefore
flagging
ampAFlag_??.png
: matrix plot of the amplitude solutions for the XX and YY polarizationafter
flagging
bandpass_pol??.png
: the derived bandpass of all stations in the XX and YY polarizationbandpass_time??.png
: matrix plot of the derived bandpass, where both polarizations are colorcoded
bandpass_time??_pol??.png
: plot of the derived bandpass of the XX and YY polarization, where all stations are colorcoded
- The workflow
BP
consists of: deriving the bandpass from the calibration solutions (subworkflow
bandpass
)creating diagnostic plots (steps
losoto_plot
)transfer solutions for international stations for non-trusted calibrator sources (step
transfer_solutions
), see parametersdo_transfer
andtrusted_sources
applying polarization alignment solutions (step
applyPA
), the bandpass (stepapplyBP
), the element beam correction (stepapplybeam
) and the Faraday Rotation solutions (applyFR
) to the original data and calibrate (only single scalar phase, stepcalib_cal
) (subworkflowapply_calibrate_bp
, baseline-dependend smoothing (stepBLsmooth
) if specifieddo_smooth : true
)deriving final amount of flags applied to the data (step
final_flags
)
Calibration of the instrumental and ionospheric delays (ion
)¶
The outcome of the re-calibration after correcting for the polarization alignment, the bandpass and the Faraday Rotation is loaded into LoSoTo in order to derive corrections for the instrumental and ionospheric delays. A robust flagging on the amplitude solutions is applied in order to reject bad solutions. These flags are applied to the phase solutions. These phase solutions should be mainly affected by instrumental (clock) and ionospheric (TEC) delays. This LoSoTo step will aim to separate both effects (clock-TEC separation). The following diagnostic plots are created:
ion_ph.png
: matrix plot of the phase solutionsclock.png
: matrix plot of the derived (instrumental) clock offsets in seconds
tec.png
: matrix plot of the derived differential TEC in TECU
ion_ph-res.png
: matrix plot of the residual phase solutions after the subtraction of the derived instrumental and ionospheric delays
- The workflow
ion
consists of: performing clock-TEC-separation from the calibration solutions (subworkflow
clocktec
)creating diagnostic plots (steps
losoto_plot
)create a summary file (step
summary
)
Note
All solutions are written in the h5parm file format via the steps H5parm_collector
and called during all the workflows.
The solutions are stored in the final calibrator solution set cal_solutions.h5
.
Further diagnostics¶
- The results directory will contain all relevant outputs of the current LINC run, once the pipeline has finished:
logfiles in
logs
summary file (JSON format) in
??_LINC_calibrator_summary.json
calibration solutions in
cal_solutions.h5
inspection plots in
inspection
Ateam_separation.png
shows the distance and the elevation of A-Team sources with respect to the analyzed observation.
You can also check the calibration solutions for more details:
$ losoto -i cal_solutions.h5
Summary of cal_solutions.h5
Solution set 'calibrator':
==========================
Directions: 3c286
Stations: CS001HBA0 CS001HBA1 CS002HBA0 CS002HBA1
CS003HBA0 CS003HBA1 CS004HBA0 CS004HBA1
CS005HBA0 CS005HBA1 CS006HBA0 CS006HBA1
CS007HBA0 CS007HBA1 CS011HBA0 CS011HBA1
CS017HBA0 CS017HBA1 CS021HBA0 CS021HBA1
CS024HBA0 CS024HBA1 CS026HBA0 CS026HBA1
CS028HBA0 CS028HBA1 CS030HBA0 CS030HBA1
CS031HBA0 CS031HBA1 CS032HBA0 CS032HBA1
CS101HBA0 CS101HBA1 CS103HBA0 CS103HBA1
CS201HBA0 CS201HBA1 CS301HBA0 CS301HBA1
CS302HBA0 CS302HBA1 CS401HBA0 CS401HBA1
CS501HBA0 CS501HBA1 RS106HBA RS205HBA
RS208HBA RS210HBA RS305HBA RS306HBA
RS307HBA RS310HBA RS406HBA RS407HBA
RS409HBA RS503HBA RS508HBA RS509HBA
Solution table 'bandpass' (type: amplitude): 120 times, 11 freqs, 60 ants, 2 pols
Flagged data: 0.000%
Solution table 'clock' (type: clock): 120 times, 60 ants
Flagged data: 0.000%
Solution table 'faraday' (type: rotationmeasure): 60 ants, 120 times
Flagged data: 0.222%
Solution table 'polalign' (type: phase): 120 times, 60 ants, 40 freqs, 2 pols
Flagged data: 0.000%
For an overall summary it is advised to check the summary logfile:
$ cat logs/3c286_summary.log
****************************************
*** LINC calibrator pipeline summary ***
****************************************
Field name: 3c286
User-specified baseline filter: *&
Additional antennas removed from the data: NONE
A-Team sources close to the phase reference center: VirA
Of which were demixed: NONE
Of which were clipped: NONE
Amount of flagged solutions per station and solution table:
Station bandpass clock faraday polalign
CS001HBA0 9.08% 100.00% 0.00% 0.00%
CS001HBA1 9.08% 100.00% 0.00% 0.00%
CS002HBA0 9.08% 100.00% 0.00% 0.00%
CS002HBA1 9.08% 100.00% 0.00% 0.00%
CS003HBA0 9.08% 100.00% 0.00% 0.00%
CS003HBA1 9.08% 100.00% 0.00% 0.00%
Amount of flagged data per station at a given state:
Station initial final
CS001HBA0 3.18% 3.96%
CS001HBA1 2.98% 3.97%
CS002HBA0 3.18% 4.42%
CS002HBA1 2.95% 3.67%
CS003HBA0 2.96% 3.94%
CS003HBA1 3.10% 4.21%
**********
Summary file is written to: 3c286_LINC_calibrator_summary.json
Summary has been created.
User-defined parameter configuration¶
Parameters you will need to adjust
Location of the calibrator solutions
msin
: location of the input calibrator data, for instructions look at the configuration instructions page
Parameters you may need to adjust
Data selection and calibration options
refant
: regular expression of the stations that are allowed to be selected as a reference antenna by the pipeline (default:CS00.*
)flag_baselines
: DP3-compatible pattern for baselines or stations to be flagged (may be an empty list, i.e.:[]
)process_baselines_cal
: performs A-Team-clipping/demixing and direction-independent phase-only self-calibration only on these baselines. Choose[CR]S*&
if you want to process only cross-correlations and remove international stations (default:*&
)filter_baselines
: selects only this set of baselines to be processed. Choose[CR]S*&
if you want to process only cross-correlations and remove international stations (default:*&
)do_smooth
: enable or disable baseline-based smoothing (default:false
)rfistrategy
: strategy to be applied with the statistical flagger (AOFlagger, default:$LINC_DATA_ROOT/rfistrategies/lofar-hba-wideband.lua
)max2interpolate
: amount of channels in which interpolation should be performed for deriving the bandpass (default: 30)fit_offset_PA
: assume that together with a delay each station has also a differential phase offset (important for old LBA observations, default:false
)interp_windowsize
: size of the window over which a value is interpolated. Should be odd. (default: 15)ampRange
: range of median amplitudes accepted per station (default:[0,0]
)skip_international
: skip fitting the bandpass for international stations (this avoids flagging them in many cases, default:true
)raw_data
: use autoweight, set to True in case you are using raw data (default:false
)propagatesolutions
: use already derived solutions as initial guess for the upcoming time slot (default:true
)flagunconverged
: flag solutions for solves that did not converge (if they were also detected to diverge, default:false
)maxStddev
: maximum allowable standard deviation when outlier clipping is done. For phases, this should value should be in radians, for amplitudes in log(amp). If None (or negative), a value of 0.1 rad is used for phases and 0.01 for amplitudes (default:-1.0
)solutions2transfer
: provide own solutions from a reference calibrator observation in case calibrator source is not trustedantennas2transfer
: DP3-compatible baseline pattern for those stations who should get calibration solutions from a reference solution set in case calibrator source is not trusted (default:[FUSPID].*
)do_transfer
: enable solutions transfer for non-trusted calibrator sources (default:false
)trusted_sources
: comma-separated list of trusted calibrator sources. Solutions are only transferred from a reference solution set in case the observed calibrator is not among them (default:3C48,3C147,3C196,3C295,3C380
)ion_3rd
: take into account also 3rd-order effects for the clock-TEC separation (ionospheric calibration, default:false
)clock_smooth
: only take the median of the derived clock solutions (enable this in case of non-joint observations, default:true
)remove_phase_wraps
: detect and remove phase wraps in the clock-TEC separation (default:false
)
A comprehensive explanation of the baseline selection syntax can be found here.
Demixing options (only used if demix step is added to the prep_cal_strategy
variable)
demix_sources
: choose sources to demix (provided as list), e.g.,[CasA,CygA]
demix_freqres
: frequency resolution used when demixing (default: 48.82kHz, which translates to 4 channels per subband)demix_timeres
: time resolution used when demixing in seconds (default: 10)demix
: iftrue
force demixing using all sources ofdemix_sources
, iffalse
do not demix (default:null
, automatically determines sources to be demixed according tomin_separation
)lbfgs_historysize
: for the LBFGS solver: the history size, specified as a multiple of the parameter vector, to use to approximate the inverse Hessian (default: 10)lbfgs_robustdof
: for the LBFGS solver: the degrees of freedom (DOF) given to the noise model (default: 200)
Further pipeline options
min_separation
: minimum accepted distance to an A-team source on the sky in degrees (will raise a WARNING, default: 30)tables2export
: choose which tables to export to the solutions file after the ionospheric calibration (default:clock
)
Parameters for pipeline performance
max_dp3_threads
: number of threads per process for DP3 (default: 10)memoryperc
: maximum of memory used for aoflagger in raw_flagging mode in percent (default: 20)aoflag_reorder
: make aoflagger reorder the measurement set before running the detection. This prevents that aoflagger will use its memory reading mode, which is faster but uses more memory (default: false, see the AOFlagger manual`_)aoflag_chunksize
: this will split the set into intervals with the given maximum size, and flag each interval independently. This lowers the amount of memory required (default: 2000)
Parameters you may want to adjust
Skymodel directory
calibrator_path_skymodel
: location of the calibrator skymodelsmax_separation_arcmin
: maximum separation between phase center of the observation and the patch of a calibrator skymodel which is accepted to be chosen as a skymodel (default: 1.0)A-Team_skymodel
: location of the A-Team skymodels
Averaging for the calibrator data
avg_timeresolution
: final time resolution of the data in seconds after averaging (default: 4)avg_freqresolution
: final frequency resolution of the data after averaging (default: 48.82kHz, which translates to 4 channels per subband)bandpass_freqresolution
: frequency resolution of the bandpass solution table (default: 195.3125kHz, which translates to 1 channel per subband)