From ff8409e7cb557339b5f92b5859c26cdc9f372dcc Mon Sep 17 00:00:00 2001
From: Jean-Baptiste Bayle <j2b.bayle@gmail.com>
Date: Tue, 13 Dec 2022 15:30:39 +0100
Subject: [PATCH] Rename TCB sync noise to MOC time correlation

---
 lisainstrument/instrument.py | 28 ++++++++++++++++------------
 lisainstrument/noises.py     | 13 +++++++------
 2 files changed, 23 insertions(+), 18 deletions(-)

diff --git a/lisainstrument/instrument.py b/lisainstrument/instrument.py
index cfb0339..e05d46b 100755
--- a/lisainstrument/instrument.py
+++ b/lisainstrument/instrument.py
@@ -87,8 +87,8 @@ class Instrument:
                  # Optical pathlength noises
                  backlink_asds=3E-12, backlink_fknees=2E-3, testmass_asds=2.4E-15, testmass_fknees=0.4E-3,
                  oms_asds=(6.35E-12, 1.25E-11, 1.42E-12, 3.38E-12, 3.32E-12, 7.90E-12), oms_fknees=2E-3,
-                 # TCB synchronization
-                 sync_asds=0.42,
+                 # MOC time correlation
+                 moc_time_correlation_asds=0.42,
                  # Tilt-to-length (TTL)
                  ttl_coeffs='default',
                  sc_jitter_asds=(5E-9, 5E-9, 5E-9), sc_jitter_fknees=(8E-4, 8E-4, 8E-4),
@@ -155,8 +155,9 @@ class Instrument:
             testmass_fknees: dictionary of cutoff frequencies for test-mass noise [Hz]
             oms_asds: tuple of dictionaries of amplitude spectral densities for OMS noise [m/sqrt(Hz)],
                 ordered as (isi_carrier, isi_usb, tmi_carrier, tmi_usb, rfi_carrier, rfi_usb)
-            sync_asds: dictionary of amplitude spectral densities for TCB synchronization noise [s/sqrt(Hz)],
-                the default ASD seems rather high, this is due to the small sampling rate (default 1 / 86400s)
+            moc_time_correlation_asds: dictionary of amplitude spectral densities for MOC time
+                correlation noise [s/sqrt(Hz)], the default ASD seems rather high, this is due
+                to the small sampling rate (default 1 / 86400s)
             oms_fknees: dictionary of cutoff frequencies for OMS noise
             ttl_coeffs: tuple (local_phi, distant_phi, local_eta, distant_eta) of dictionaries of
                 tilt-to-length coefficients on each MOSA [m/rad], 'default' for a default set of
@@ -318,8 +319,8 @@ class Instrument:
         else:
             self.clock_freqquaddrifts = ForEachSC(clock_freqquaddrifts)
 
-        # TCB synchronization
-        self.sync_asds = ForEachSC(sync_asds)
+        # MOC time correlation
+        self.moc_time_correlation_asds = ForEachSC(moc_time_correlation_asds)
 
         # Clock-noise inversion
         self.clockinv_tolerance = float(clockinv_tolerance)
@@ -940,7 +941,7 @@ class Instrument:
 
         logger.debug("Computing MOC time correlations")
         physics_to_telemetry = lambda _, x: x[::self.physics_upsampling * self.telemetry_downsampling]
-        self.moc_time_correlations = self.tcb_sync_noises \
+        self.moc_time_correlations = self.moc_time_correlation_noises \
             + self.the_wrt_tcb_withinitial.transformed(physics_to_telemetry)
 
         ## TDIR tone
@@ -1546,10 +1547,13 @@ class Instrument:
             noises.dws(self.physics_fs, self.physics_size, self.dws_asds[mosa])
         )
 
-        ## TCB synchronization noise
+        ## MOC time correlation noise
 
-        self.tcb_sync_noises = ForEachSC(lambda sc:
-            noises.tcb_sync(self.telemetry_fs, self.telemetry_size, self.sync_asds[sc])
+        self.moc_time_correlation_noises = ForEachSC(lambda sc:
+            noises.moc_time_correlation(
+                self.telemetry_fs,
+                self.telemetry_size,
+                self.moc_time_correlation_asds[sc])
         )
 
         ## Angular jitters
@@ -1902,8 +1906,8 @@ class Instrument:
                 self.oms_rfi_carrier_noises.write(hdf5, 'oms_rfi_carrier_noises')
                 self.oms_rfi_usb_noises.write(hdf5, 'oms_rfi_usb_noises')
 
-                logger.debug("Writing TCB synchronization noise to '%s'", output)
-                self.tcb_sync_noises.write(hdf5, 'tcb_sync_noises')
+                logger.debug("Writing MOC time correlation noise to '%s'", output)
+                self.moc_time_correlation_noises.write(hdf5, 'moc_time_correlation_noises')
 
                 logger.debug("Writing spacecraft angular jitter to '%s'", output)
                 self.sc_jitter_phis.write(hdf5, 'sc_jitter_phis')
diff --git a/lisainstrument/noises.py b/lisainstrument/noises.py
index 57b854b..a49ff2e 100644
--- a/lisainstrument/noises.py
+++ b/lisainstrument/noises.py
@@ -321,19 +321,20 @@ def dws(fs, size, asd):
     logger.debug("Generating DWS measurement (fs=%s Hz, size=%s, asd=%s rad/sqrt(Hz))", fs, size, asd)
     return violet(fs, size, 2 * pi * asd)
 
-def tcb_sync(fs, size, asd):
-    """TCB synchronization noise.
+def moc_time_correlation(fs, size, asd):
+    """MOC time correlation noise.
 
-    High-level noise model for the uncertainty we have in estimating
-    the TCB timer deviations, i.e., the equivalent TCB times for the
+    High-level noise model for the uncertainty we have in computing the MOC
+    time correlation (or time couples), i.e., the equivalent TCB times for the
     equally-sampled TPS timestamps.
 
     Assumed to be a white noise in timing,
 
-        S_tcbsnc(f) [s] = asd^2.
+        S_moc(f) [s] = asd^2.
 
     Args:
         asd: amplitude spectral density [s/sqrt(Hz)]
     """
-    logger.debug("Generating TCB synchronization noise (fs=%s Hz, size=%s, asd=%s s/sqrt(Hz))", fs, size, asd)
+    logger.debug("Generating MOC time correlation noise (fs=%s Hz, size=%s, "
+                 "asd=%s s/sqrt(Hz))", fs, size, asd)
     return white(fs, size, asd)
-- 
GitLab