Build: #2 failed Changes by Josh Marvil

Stages & jobs

  1. Default Stage

  2. Test

Code commits

Casa6

  • Josh Marvil

    Josh Marvil ccc8e22d56c064d76daaca8e6126a842b5c40d48

    CAS-14874: Derive briggsbwtaper fracBW from the full selection, not the sub-cube image
    The briggsbwtaper uv-taper amplitude is set from the fractional bandwidth
    of the entire cube (CAS-13021), but SynthesisImagerVi2::weight() derived it
    from the spectral extent of the image defined in this process whenever
    fracbw was left at its default (-1.0 -> 0.0, i.e. "auto").

    For cube imaging parallelized across frequency (MPI sub-cubes, or
    chanchunks) that image is only a sub-range of the cube, so each process
    derived fracBW ~= fracBW_cube/nprocs, with the exact value also changing
    when nchan was not divisible by the number of processes. The taper, and
    with it the gridded weights, PSF and flux scale, therefore differed from
    sub-cube to sub-cube, which showed up as frequency discontinuities at the
    sub-cube boundaries of the concatenated cube that varied with the number of
    MPI processes.

    Use the frequency range of the data selection as the reference band
    instead. It is identical on every process that grids a sub-cube, because
    the sub-cube selections are restored to the full selection so that all
    sub-cubes share one weight density (imager_parallel_cube), so all processes
    now derive the same fracBW as a serial run of the same cube, independent of
    how the cube was partitioned. The selection range is also expressed on the
    first/last selected channel centers in the selection frame, i.e. the same
    convention and the same frame that the image based calculation used, so
    serial results are unchanged.

    The image based calculation is kept as a fallback for cases where no usable
    frequency selection was recorded, and an explicitly provided fracbw is
    still used as-is. No interface change; this is internal to
    SynthesisImagerVi2.