ALMA interferometry imaging workflow
- minimum task parameters:
- intent (default to 'TARGET')
- spw (defaults to science spws)
- specmode (defaults to 'cube' for 'TARGET', else 'mfs')
- create list of imaging targets with these parameters per target set:
- spw (for specmode='cont' remove spws without data -> re-use for VLASS)
- cell (common size for all targets of one hif_makeimlist call (min of all))
- imsize (common size for all targets of one hif_makeimlist call (max of all))
- LSRK spw selection if cont.dat / lines.dat exists
- nbin (if set by hif_checkproductsize)
- gridder ('standard' or 'mosaic')
- start (task parameter if set)
- uvrange (task parameter if set)
- set additional parameters via task interface:
- hm_masking ('centralregion' or 'auto')
- run hif_tclean per imaging target (HPC: one job per calibrator image or parallel=True for tclean for intent='TARGET')
- calculate PB limits to define annuli (start with 0.2/0.3, adjust to imsize)
- determine deconvolver ('mtmfs' for 'cont' if fractional bandwidth > 10% else 'hogbom')
- determine nterms (2 for deconvolver='mtmfs' else None)
- determine start, width, nchan for 'cube' (uses LSRK overlap and skips edge channels)
- determine TOPO spw selections per MS
- determine aggregate LSRK and TOPO bandwidths
- median of field ID sensitivities because sensitivity calculator takes only one ID at a time
- corrections for effective channel width and mosaic overlap
- calculate initial threshold estimate as tlimit * sensitivity
- make pb based mask using annuli if not 'auto'
- calculate dirty cube statistics using annuli
- calculate dirty dynamic range (max(residual) / sensitivity)
- adjust threshold using dirty dynamic range heuristics
- caclulate niter using beam / mask size heuristics
- copy iter0 products to iter1 names
- calculate clean cube statistics using annuli