Closed gigjozsa closed 4 years ago
PPS: To reproduce please run a master caracal together with carateConfig and the "standard" input files measurement sets 1524929477.ms 1524947605.ms 1532022061.ms.
@gigjozsa So do you have a model in image 4?
@PeterKamphuis sorry we were discussing this offline. Brief recap:
Up to image3 all is good. Then cubical3 flags >99% of the data, and image4 is empty (even the dirty image). NO wonder the source list is empty. This is all in the log attached by Josh above.
@paoloserra Ah, can you try adding
cal_cubical:
madmax_flagging: false
to the config and see what happens? Looks like the last timescale is too short.
well, @gigjozsa would have to try that, I'm fine! :)
@gigjozsa This seems to run fine with the following settings for selfcal:
selfcal:
enable: true
overwrite_flag_versions: true
label: cont
ncpu: 12
img_npix: 3600
img_cell: 2
img_niter: 1000000
img_nchans: 6
img_robust: -1.0
cal_niter: 3
cal_cubical:
channel_chunk: 0
shared_memory: 250GB
max_post_error: 0.25
cal_timeslots_chunk: 360
image:
enable: true
clean_mask_threshold: [15,10,5,5]
clean_threshold: [0.5,0.5,0.5,0.5]
calibrate:
enable: true
model: ['1','2','3']
gain_matrix_type: ['GainDiagPhase', 'GainDiagPhase', 'GainDiagPhase']
Gsols_channel: [0, 0, 0]
Gsols_timeslots: [120, 60, 20]
transfer_apply_gains:
enable: true
interpolate:
timeslots_int: 20
timeslots_chunk: 360
channel_int: 0
channel_chunk: 0
transfer_to_label: corr
transfer_model:
enable: true
num_workers: 12
memory_fraction: 0.45
transfer_to_label: corr
I'm not sure what you want to do about this as it is basically a bad data set with bad config settings. We have discussed it before but I'm not sure we arrived to a conclusion. If you use pybdsm the pipeline will already gracefully exit if it finds no sources. Obviously we need to adjust the carateConfig.yml to something sensible but whether we do anything else when the model field is empty is another question.
BTW In my original test the trip up was already in the first iteration, however it then recovered in the second and went flagging mental again in the third (i.e. images 1 and 3 were fine, 2 and 4 were empty).
I don't understand why this has changed recently and can only think of a change in the inner workings of cubical or that it has always been a close call and the new crosscal has changed things slightly in the input image. I don't think the default in the selfcal worker have changed recently. But as I said I'm just guessing on that.
Thank you, yes, I was playing around with that, too. Let us for now push an adjusted carateConfig file. I will sneak it in and retest. But the discussion to have representative config files together with data sets to test is of course open.
Well I was more wondering about the question whether we should exit the pipeline when a image is empty.
We should if a data set gets fully flagged with a note.
This is using the standard suite of test data sets. Using the carateConfig.yml: carateConfig-docker.yml.txt I get the following report: carateConfig-docker-log-caracal.txt The selfcal worker tries to transfer the model and suddenly fails, likely because of an empty source list.
This has been run with the following configuration: carateConfig-docker-sysinfo.txt
And these are the relevant lines: