diff --git a/lisainstrument/instrument.py b/lisainstrument/instrument.py index a636fbe130010357ff78643dd9f66c256268810f..3c6929591e83ef72bd33bc073fd43c31cbcc5b9d 100755 --- a/lisainstrument/instrument.py +++ b/lisainstrument/instrument.py @@ -1030,10 +1030,11 @@ class Instrument: logger.info("Propagating local beams to distant MOSAs") logger.debug("Propagating carrier offsets to distant MOSAs") + delayed_distant_carrier_offsets = self.local_carrier_offsets.distant() \ + .transformed(lambda mosa, x: self.interpolate(x, -self.pprs[mosa]), concurrent=self.concurrent) self.distant_carrier_offsets = \ -self.d_pprs * self.central_freq \ - + (1 - self.d_pprs) * self.local_carrier_offsets.distant() \ - .transformed(lambda mosa, x: self.interpolate(x, -self.pprs[mosa]), concurrent=self.concurrent) + + (1 - self.d_pprs) * delayed_distant_carrier_offsets logger.debug("Propagating carrier fluctuations to distant MOSAs") carrier_fluctuations = \ @@ -1044,14 +1045,15 @@ class Instrument: .transformed(lambda mosa, x: self.interpolate(x, -self.pprs[mosa]), concurrent=self.concurrent) self.distant_carrier_fluctuations = \ propagated_carrier_fluctuations \ - - (self.central_freq + self.local_carrier_offsets) * self.gws \ + - (self.central_freq + delayed_distant_carrier_offsets) * self.gws \ - (self.central_freq + self.local_carrier_offsets) * self.local_ttls / c logger.debug("Propagating upper sideband offsets to distant MOSAs") + delayed_distant_usb_offsets = self.local_usb_offsets.distant() \ + .transformed(lambda mosa, x: self.interpolate(x, -self.pprs[mosa]), concurrent=self.concurrent) self.distant_usb_offsets = \ -self.d_pprs * self.central_freq \ - + (1 - self.d_pprs) * self.local_usb_offsets.distant() \ - .transformed(lambda mosa, x: self.interpolate(x, -self.pprs[mosa]), concurrent=self.concurrent) + + (1 - self.d_pprs) * delayed_distant_usb_offsets logger.debug("Propagating upper sideband fluctuations to distant MOSAs") usb_fluctuations = \ @@ -1062,7 +1064,7 @@ class Instrument: .transformed(lambda mosa, x: self.interpolate(x, -self.pprs[mosa]), concurrent=self.concurrent) self.distant_usb_fluctuations = \ propagated_usb_fluctuations \ - - (self.central_freq + self.local_usb_offsets) * self.gws \ + - (self.central_freq + delayed_distant_usb_offsets) * self.gws \ - (self.central_freq + self.local_usb_offsets) * self.local_ttls / c logger.debug("Propagating local THEs with respect to TPS to distant MOSAs")