Make applycal.correction key consistent for h5parm / parmdb
Created by: tammojan
It would be nice if the key applycal.correction
takes just the effect name. Currently, for H5parm, it expects the name of the soltab. In the new behavior, applycal would look for any soltab with the given correction. If there is more than one soltab with the given effect, Applycal should look at a new key applycal.soltab
or give an error if it is not specified.
Extra user service would that applycal.soltab
can be specified instead of applycal.correction
which will then look up the correction type in the soltab (as currently).
For complex (amplitude+phase) and full jones solutions, the soltab should be a list with the two soltabs (in arbitrary order, or first amplitude then phase).
Examples of new behavior:
applycal.correction = fulljones
applycal.soltab = [amplitude000, phase003]
// Full jones solution with amplitude000, phase000
---
applycal.correction = diagonal
// Diagonal correction with the unique two soltabs that contain amplitude and phase (error if there are more)
---
applycal.correction = diagonal
applycal.soltab = [amplitude042, phase001]
// Diagonal correction with amplitude042, phase001
---
applycal.correction = phaseonly
// Phase-only correction with unique phase soltab, otherwise error
---
applycal.correction = phaseonly
applycal.soltab = phase002
// Phase-only with soltab phase002
---
applycal.soltab = phase002
// Phase-only correction with soltab phase002 (type deduced from soltab)
---
applycal.soltab = [amplitude000, phase001]
// Diagonal or full-jones correction with soltabs amplitude000, phase001 (type deduced from soltab)