@mjanssen2308 @freekroelofs @rdeane This commit adds station-based time and frequency varying polarization leakage effects to the leakage branch, along with station-based time-varying G-Jones terms.
I have checked the implementation by numerically comparing the visibilities and D-Jones terms over time and frequency and everything seems OK. Some preliminary tests using PolSolve v1.5 work fine when parang_corrected=1. More eyeballs on the implementation would be helpful. I haven't tagged this version yet for usage in Symba.
Some things to note:
1) When parang rotation correction is not requested (parang_corrected=0), PolSolve v1.5 does not estimate the D-terms correctly. I managed to find some old log files in which, interestingly, PolSolve v1.0 had returned the correct estimates in this case. The equations used in MeqSilhouette look fine to me (and these were the same ones used to generate the synthetic data in the old log files, so this may need to be clarified with Ivan. Until then, writing out parang corrected visibilities is recommended. Any thoughts on the parang_corrected=0 implementation are welcome.
2) I am not sure how to interpret the frequency-dependent D-terms returned by PolSolve. It seems to return independent CASA tables with '.Dterms' extension for each channel, but only the D-term values in the "first" of these tables make sense. Something else to clarify with Ivan, unless someone has any idea how to interpret the values returned.
3) If we are implementing beam squint as full 2x2 E-Jones terms, then parallactic angle rotation needs to be applied to it. So they might need to be combined with the P and D Jones terms in this module so that we don't end up performing the same rotation more than once. More thought is required here.
@mjanssen2308 @freekroelofs @rdeane This commit adds station-based time and frequency varying polarization leakage effects to the leakage branch, along with station-based time-varying G-Jones terms.
I have checked the implementation by numerically comparing the visibilities and D-Jones terms over time and frequency and everything seems OK. Some preliminary tests using PolSolve v1.5 work fine when
parang_corrected=1
. More eyeballs on the implementation would be helpful. I haven't tagged this version yet for usage in Symba.Some things to note:
1) When parang rotation correction is not requested (
parang_corrected=0
), PolSolve v1.5 does not estimate the D-terms correctly. I managed to find some old log files in which, interestingly, PolSolve v1.0 had returned the correct estimates in this case. The equations used in MeqSilhouette look fine to me (and these were the same ones used to generate the synthetic data in the old log files, so this may need to be clarified with Ivan. Until then, writing out parang corrected visibilities is recommended. Any thoughts on theparang_corrected=0
implementation are welcome.2) I am not sure how to interpret the frequency-dependent D-terms returned by PolSolve. It seems to return independent CASA tables with '.Dterms' extension for each channel, but only the D-term values in the "first" of these tables make sense. Something else to clarify with Ivan, unless someone has any idea how to interpret the values returned.
3) If we are implementing beam squint as full 2x2 E-Jones terms, then parallactic angle rotation needs to be applied to it. So they might need to be combined with the P and D Jones terms in this module so that we don't end up performing the same rotation more than once. More thought is required here.