Build: #1 failed

Job: Test Tasks Many Linux 2.28 Py3.12 failed

Code commits

CASA6

  • Rui Xue <rx.astro@gmail.com>

    Rui Xue <rx.astro@gmail.com> 41c7dc77b583148c0117cf38598bd91a2884a594

    CAS-14759: skip redundant normalizeprimarybeam() for cube+standard
    For the standard gridder with specmode=cube, each worker in
    CubeMajorCycleAlgorithm::task() already normalizes the primary beam
    per-subcube during PSF making and writes the result back to the full
    image. The subsequent master-side normalizeprimarybeam() loop over all
    (pol x chan) planes was therefore redundant and, for a 7500-channel
    8000x8000 cube, accounted for ~31 minutes of wall time after
    "Time for making PSF and PB".

    Changes:
    - Extract the cube+standard guard into isCubeStandard bool for clarity.
    - Skip the normalizeprimarybeam() loop when isCubeStandard is True.
    - makePBCore() is unchanged and still skipped for cube+standard as before.
    - Add a timing log entry "***Time for normalizeprimarybeam: <s> (skipped=<bool>)"
      at INFO3 so the optimisation is observable in tclean logs.

    This path is safe to skip only for standard+cube because mosaicft and
    awproject gridders derive PB from sqrt(weight)/pbmax and require the
    fully-assembled weight image, which is only available on the master
    after all subcubes have been written back.