caracal-pipeline / caracal

Containerized Automated Radio Astronomy Calibration (CARACal) pipeline
GNU General Public License v2.0
28 stars 6 forks source link

selfcal: Table DataManager error: Invalid operation: TSM: no array in row 62829 of column CORRECTED_DATA #1471

Open rramij opened 1 year ago

rramij commented 1 year ago

I am getting the below error on the selfcal step in the pipeline. It is a VLA L band data. The pipeline runs smoothly up to 1st initial selfcal image (i.e., image_1) but after the cubical calibration, the below error pops up.

# | Independent group:
# +-+-J- 0  I   0  0  0  0  0  0  1008-1288 (76)
#   +-J- 1  I   1  0  1  1  0  0  1288-1442 (77)
#   +-J- 2  I   2  0  2  2  0  0  1442-1724 (77)
#   +-J- 3  I   3  0  3  3  0  0  1724-1878 (77)
#   +-J- 4  I   4  0  4  4  0  0  1878-2032 (77)
# Reordering /stimela_mount/msdir/15A-270-ABELL2163-corr.ms into 16 x 1 parts.
# Reordering: 0%....10%....20%....30%....40%....50%....60%....70%....80%....90%....100%
# + + + + + + + + + + + + + + + + + + +
# + An exception occured:
# + >>> Table DataManager error: Invalid operation: TSM: no array in row 62829 of column CORRECTED_DATA in /stimela_mount/msdir/15A-270-ABELL2163-corr.ms/table.f27
# + + + + + + + + + + + + + + + + + + +
# Traceback (most recent call last):
#   File "/stimela_mount/code/run.py", line 69, in <module>
#     subprocess.check_call(shlex.split(_runc))
#   File "/usr/lib/python3.8/subprocess.py", line 364, in check_call
#     raise CalledProcessError(retcode, cmd)

Here is the log file. log-caracal.txt

JSKenyon commented 1 year ago

This looks like the result a configuration error in CubiCal. Looking at the config, I can see that CubiCal has only calibrated the first spectral window (see the options in the [sel] section of the config). The wsclean command is trying to use all the spectral windows, but only one of them has been written, hence the message about a missing array in a specific row. The fix should be as simple setting the ddid parameter in the [sel] section of CubiCal to None or the stimela equivalent. Alternatively, if the intention was to only image a single SPW, the -spws parameter of wsclean should help.