diff --git a/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Filters/O3/GDSFilters/.svn/entries b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Filters/O3/GDSFilters/.svn/entries
new file mode 100644
index 0000000000000000000000000000000000000000..48082f72f087ce7e6fa75b9c41d7387daecd447b
--- /dev/null
+++ b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Filters/O3/GDSFilters/.svn/entries
@@ -0,0 +1 @@
+12
diff --git a/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Filters/O3/GDSFilters/.svn/format b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Filters/O3/GDSFilters/.svn/format
new file mode 100644
index 0000000000000000000000000000000000000000..48082f72f087ce7e6fa75b9c41d7387daecd447b
--- /dev/null
+++ b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Filters/O3/GDSFilters/.svn/format
@@ -0,0 +1 @@
+12
diff --git a/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Filters/O3/GDSFilters/.svn/pristine/1c/1c1b9328cbc74a4048f8c8e511b3af93e71c5ecd.svn-base b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Filters/O3/GDSFilters/.svn/pristine/1c/1c1b9328cbc74a4048f8c8e511b3af93e71c5ecd.svn-base
new file mode 100644
index 0000000000000000000000000000000000000000..0bc4489eb9c7c9db65bd776b253133bf7751b4f8
--- /dev/null
+++ b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Filters/O3/GDSFilters/.svn/pristine/1c/1c1b9328cbc74a4048f8c8e511b3af93e71c5ecd.svn-base
@@ -0,0 +1,404 @@
+[InputConfigurations]
+# Filters file containing calibration FIR filters
+FiltersFileName: /home/calibration/svncommon/CalSVN/O3/GDSFilters/L1GDS_1237770582.npz
+# Data source should be set to frames or lvshm
+DataSource: lvshm
+FileChecksum: No
+# Right now, SkipBadFiles needs to be off when reading from frames
+SkipBadFiles: No
+############################################
+# If reading from frames use these options #
+############################################
+# None
+
+###################################################
+# If reading from shared memory use these options #
+###################################################
+SHMPartition: LLO_Online
+# Assumed duration of input frames in seconds
+InputFrameDuration: 1
+
+[OutputConfigurations]
+CompressionScheme: 6
+CompressionLevel: 3
+ChanPrefix: GDS-
+# Set to "None" if you do not want a channel suffix
+ChanSuffix: _TEST
+# Data sink should be set to frames or lvshm
+DataSink: lvshm
+#################################################
+# If writing to shared memory use these options #
+#################################################
+OutputSHMPartition: LLO_hoft
+BufferMode: 2
+# Use this to approximate the frame size (in bytes) when writing to shared memory
+FrameSize: 405338
+NumBuffers: 10
+###############################################
+# If writing to frame files use these options #
+###############################################
+FrameType: L1GDS_TEST
+
+[CalibrationConfigurations]
+IFO: L1
+# Set calibration mode to Full or Partial
+CalibrationMode: Partial
+ComputeCalibStateVector: Yes
+
+[DebuggingConfigurations]
+# If you want to write a pipeline graph, provide the graph name.  Otherwise, set name equal to None
+PipelineGraphFilename: None
+Verbose: No
+# Turn this on to write data presentation timestamps and real-time unix timestamps to file at the beginning and end of the pipeline, to measure latency
+TestLatency: No
+# Turn this on to compute transfer functions for the filters by comparing output data to input data
+TestFilters: No
+
+[TDCFConfigurations]
+#########################################################
+# Options related to time dependent correction  factors #
+#########################################################
+ComputeKappaTST: Yes
+ApplyKappaTST: No
+# Set this to have the \kappa_tst factors filter the actuation chain with an adaptive filter that corrects for both magnitude and phase errors.
+ApplyComplexKappaTST: Yes
+
+ComputeKappaPU: No
+ApplyKappaPU: No
+# Set this to have the \kappa_pu factors the actuation chain with an adaptive filter that corrects for both magnitude and phase errors
+ApplyComplexKappaPU: No
+
+ComputeKappaPUM: Yes
+ApplyKappaPUM: No
+# Set this to have the \kappa_p factors the actuation chain with an adaptive filter that corrects for both magnitude and phase errors.
+ApplyComplexKappaPUM: Yes
+
+ComputeKappaUIM: Yes
+ApplyKappaUIM: No
+# Set this to have the \kappa_u factors the actuation chain with an adaptive filter that corrects for both magnitude and phase errors.
+ApplyComplexKappaUIM: Yes
+
+ComputeKappaC: Yes
+ApplyKappaC: Yes
+
+ComputeFcc: Yes
+ApplyFcc: Yes
+
+ComputeSRCQ: Yes
+ApplySRCQ: No
+
+ComputeFs: Yes
+ApplyFs: No
+
+###########################################
+# Options related to the coherence gating #
+###########################################
+UseCoherence: Yes
+CoherenceUncThreshold: 0.02
+# Amount of time used in front-end to compute coherence
+CoherenceTime: 130
+###################################################################
+# Options related to the computation configurations for the TDCFs #
+###################################################################
+ComputeFactorsSR: 16
+RecordFactorsSR: 16
+# Length in seconds of low-pass FIR filter used in demodulation of the calibration lines
+DemodulationFilterTime: 20
+# Time (in seconds) to smooth out \kappas with a median-like method
+MedianSmoothingTime: 128
+TDCFAveragingTime: 10
+#If set to yes, bad computed kappas will be replaced by the previous computed median in the running median array. Otherwise, they are replaced with the default value
+TDCFDefaultToMedian: Yes
+# If using Y-end Pcal, we need a minus sign, so set this to -1.0
+PcalSign: 1.0
+##################################################
+# Options related to updating cavity pole filter #
+##################################################
+# Duration of the Fcc filter in the time domain in seconds
+FccFilterDuration: 0.01
+# Number of seconds to average Fcc values before creating a new Fcc filter
+FccAveragingTime: 60 
+# Number of samples to be used when tapering old filter and ramping in new filter
+FccFilterTaperLength: 32768
+############################
+# Nominal values for TDCFs #
+############################
+ExpectedKappaTSTReal: 1.0
+ExpectedKappaTSTImag: 0.0
+ExpectedKappaPUMReal: 1.0
+ExpectedKappaPUMImag: 0.0
+ExpectedKappaUIMReal: 1.0
+ExpectedKappaUIMImag: 0.0
+ExpectedKappaPUReal: 1.0
+ExpectedKappaPUImag: 0.0
+ExpectedKappaC: 1.0
+# FIXME: Need to fix code to deal with imaginary fs from pyDARM
+ExpectedFs_Squared: 5.253
+################################
+# Acceptable variance in TDCFs #
+################################
+KappaTSTRealVar: 0.2
+KappaTSTImagVar: 0.2
+KappaPURealVar: 0.2
+KappaPUImagVar: 0.2
+KappaPUMRealVar: 0.2
+KappaPUMImagVar: 0.2
+KappaUIMRealVar: 0.2
+KappaUIMImagVar: 0.2
+KappaCVar: 0.2
+FccVar: 50.0
+FsVar: 5.0
+SRCQInvMin: 0.0
+SRCQInvMax: 0.5
+#######################
+# EPICS records input #
+#######################
+# Set to Yes if EPICS records for TDCF computations should be read from filters file.  If set to No, they will be read from frames
+FactorsFromFiltersFile: No
+##############################################################################################
+# Updating Sensing and Actuation filters with all frequency-dependent corrections parameters #
+##############################################################################################
+# Length of time (in seconds) between when inverse-sensing FIR filter is updated
+SensingFilterUpdateTime: 64
+# Length of time (in seconds) over which the smoothed time-dependent parameters of the sensing function are averaged before updating the filter
+SensingFilterAveragingTime: 1
+# Number of samples to be used when tapering old inverse sensing filter and ramping in new filter
+SensingFilterTaperLength: 32768
+# Length of time (in seconds) between when the actuation FIR filters are updated
+ActuationFilterUpdateTime: 64
+# Length of time (in seconds) over which the smoothed time-dependent parameters of the actuation function are averaged before updating the filter
+ActuationFilterAveragingTime: 1
+# Number of samples to be used when tapering old actuation filters and ramping in new filters
+ActuationFilterTaperLength: 32768
+
+[ChannelNames]
+#############################
+# Calibration Channel Names #
+#############################
+DARMCtrlChannel: CAL-DARM_CTRL_DBL_DQ
+DARMErrChannel: CAL-DARM_ERR_DBL_DQ
+DeltaLTSTChannel: CAL-DELTAL_CTRL_TST_DBL_DQ
+DeltaLPUMChannel: CAL-DELTAL_CTRL_PUM_DBL_DQ
+DeltaLUIMChannel: CAL-DELTAL_CTRL_UIM_DBL_DQ
+DeltaLResChannel: CAL-DELTAL_RESIDUAL_DBL_DQ
+####################################
+# Data Quality Vector Channel Name #
+####################################
+LowNoiseStateChannel: GRD-IFO_READY
+HWInjChannel: CAL-INJ_STATUS_OUT_DQ
+ObsIntentChannel: GRD-IFO_INTENT
+FilterClockChannelList: GRD-ISC_LOCK_OK
+##################################
+# Calibration Line Channel Names #
+##################################
+DARMExcChannel: CAL-CS_LINE_SUM_DQ
+TSTExcChannel: SUS-ETMY_L3_CAL_LINE_OUT_DQ
+PUMExcChannel: SUS-ETMX_L2_CAL_LINE_OUT_DQ 
+UIMExcChannel: SUS-ETMX_L1_CAL_LINE_OUT_DQ
+PCALChannel: CAL-PCALY_RX_PD_OUT_DQ
+############################################
+# Calibration Line Frequency Channel Names #
+############################################
+DARMExcLineFreqChannel: CAL-CS_TDEP_DARM_LINE1_COMPARISON_OSC_FREQ
+TSTExcLineFreqChannel: CAL-CS_TDEP_SUS_LINE3_COMPARISON_OSC_FREQ
+PUMExcLineFreqChannel: CAL-CS_TDEP_SUS_LINE2_COMPARISON_OSC_FREQ
+UIMExcLineFreqChannel: CAL-CS_TDEP_SUS_LINE1_COMPARISON_OSC_FREQ
+PCALLine1FreqChannel: CAL-CS_TDEP_PCAL_LINE1_COMPARISON_OSC_FREQ
+PcalLine1CorrRealChannel: CAL-CS_TDEP_PCAL_LINE1_CORRECTION_REAL
+PcalLine1CorrImagChannel: CAL-CS_TDEP_PCAL_LINE1_CORRECTION_IMAG
+PCALLine2FreqChannel: CAL-CS_TDEP_PCAL_LINE2_COMPARISON_OSC_FREQ
+PcalLine2CorrRealChannel: CAL-CS_TDEP_PCAL_LINE2_CORRECTION_REAL
+PcalLine2CorrImagChannel: CAL-CS_TDEP_PCAL_LINE2_CORRECTION_IMAG
+PCALLine3FreqChannel: CAL-CS_TDEP_PCAL_LINE3_COMPARISON_OSC_FREQ
+PcalLine3CorrRealChannel: CAL-CS_TDEP_PCAL_LINE3_CORRECTION_REAL
+PcalLine3CorrImagChannel: CAL-CS_TDEP_PCAL_LINE3_CORRECTION_IMAG
+PCALLine4FreqChannel: CAL-CS_TDEP_PCAL_LINE4_COMPARISON_OSC_FREQ
+PcalLine4CorrRealChannel: CAL-CS_TDEP_PCAL_LINE4_CORRECTION_REAL
+PcalLine4CorrImagChannel: CAL-CS_TDEP_PCAL_LINE4_CORRECTION_IMAG
+#######################################
+# Coherence Uncertainty Channel Names #
+#######################################
+CohUncSusLine1Channel: CAL-CS_TDEP_SUS_LINE1_UNCERTAINTY
+CohUncSusLine2Channel: CAL-CS_TDEP_SUS_LINE2_UNCERTAINTY
+CohUncSusLine3Channel: CAL-CS_TDEP_SUS_LINE3_UNCERTAINTY
+CohUncPcalyLine1Channel: CAL-CS_TDEP_PCAL_LINE1_UNCERTAINTY
+CohUncPcalyLine2Channel: CAL-CS_TDEP_PCAL_LINE2_UNCERTAINTY
+CohUncPcalyLine4Channel: CAL-CS_TDEP_PCAL_LINE4_UNCERTAINTY
+CohUncDARMLine1Channel: CAL-CS_TDEP_DARM_LINE1_UNCERTAINTY
+###################################
+# Noise Subtraction Channel Names #
+###################################
+# Semicolon-separated list of comma-separated lists of witness channels to use to subtract lines from h(t)
+# Semicolons separate channels to be handled separately (in series), and commas separate channels to be handled in parallel.
+#Set to None if no line witness channels are to be used
+LineWitnessChannelList: SUS-ETMX_L1_CAL_LINE_OUT_DQ;SUS-ETMX_L2_CAL_LINE_OUT_DQ;SUS-ETMY_L3_CAL_LINE_OUT_DQ;CAL-PCALY_RX_PD_OUT_DQ;PEM-EY_MAINSMON_EBAY_1_DQ
+# Semicolon-separated list of comma-separated lists of witness channels to use to subtract noise from h(t)
+# Set to None if no witness channels are to be used
+WitnessChannelList: ASC-DHARD_P_OUT_DQ,ASC-DHARD_Y_OUT_DQ,ASC-CHARD_P_OUT_DQ,ASC-CHARD_Y_OUT_DQ,LSC-SRCL_IN1_DQ,LSC-MICH_IN1_DQ,LSC-PRCL_IN1_DQ
+# What channel should we use to gate the noise subtraction and 60-Hz line subtraction
+NoiseSubGateChannel: GRD-ISC_LOCK_OK
+###############################
+# EPICS Records Channel Names #
+###############################
+EP1RealChannel: CAL-CS_TDEP_SUS_LINE3_REF_INVA_TST_RESPRATIO_REAL
+EP1ImagChannel: CAL-CS_TDEP_SUS_LINE3_REF_INVA_TST_RESPRATIO_IMAG
+EP2RealChannel: CAL-CS_TDEP_REF_CLGRATIO_CTRL_REAL
+EP2ImagChannel: CAL-CS_TDEP_REF_CLGRATIO_CTRL_IMAG
+EP3RealChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_USUM_INV_REAL
+EP3ImagChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_USUM_INV_IMAG
+EP4RealChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_TST_REAL
+EP4ImagChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_TST_IMAG
+EP5RealChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_USUM_REAL
+EP5ImagChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_USUM_IMAG
+EP6RealChannel: CAL-CS_TDEP_PCAL_LINE2_REF_C_NOCAVPOLE_REAL
+EP6ImagChannel: CAL-CS_TDEP_PCAL_LINE2_REF_C_NOCAVPOLE_IMAG
+EP7RealChannel: CAL-CS_TDEP_PCAL_LINE2_REF_D_REAL
+EP7ImagChannel: CAL-CS_TDEP_PCAL_LINE2_REF_D_IMAG
+EP8RealChannel: CAL-CS_TDEP_PCAL_LINE2_REF_A_TST_REAL
+EP8Imagchannel: CAL-CS_TDEP_PCAL_LINE2_REF_A_TST_IMAG
+EP9RealChannel: CAL-CS_TDEP_PCALY_LINE2_REF_A_USUM_REAL
+EP9ImagChannel: CAL-CS_TDEP_PCALY_LINE2_REF_A_USUM_IMAG
+EP10RealChannel: CAL-CS_TDEP_SUS_LINE3_REF_A_TST_NOLOCK_REAL
+EP10ImagChannel: CAL-CS_TDEP_SUS_LINE3_REF_A_TST_NOLOCK_IMAG
+EP11RealChannel: CAL-CS_TDEP_PCAL_LINE1_REF_C_NOCAVPOLE_REAL
+EP11ImagChannel: CAL-CS_TDEP_PCAL_LINE1_REF_C_NOCAVPOLE_IMAG
+EP12RealChannel: CAL-CS_TDEP_PCAL_LINE1_REF_D_REAL
+EP12ImagChannel: CAL-CS_TDEP_PCAL_LINE1_REF_D_IMAG
+EP13RealChannel: CAL-CS_TDEP_PCAL_LINE1_REF_A_TST_REAL
+EP13ImagChannel: CAL-CS_TDEP_PCAL_LINE1_REF_A_TST_IMAG
+EP14RealChannel: CAL-CS_TDEP_PCALY_LINE1_REF_A_USUM_REAL
+EP14ImagChannel: CAL-CS_TDEP_PCALY_LINE1_REF_A_USUM_IMAG
+EP15RealChannel: CAL-CS_TDEP_SUS_LINE2_REF_INVA_PUM_RESPRATIO_REAL
+EP15Imagchannel: CAL-CS_TDEP_SUS_LINE2_REF_INVA_PUM_RESPRATIO_IMAG
+EP16RealChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_UIM_INV_REAL
+EP16ImagChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_UIM_INV_IMAG
+EP17RealChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_PUM_REAL
+EP17ImagChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_PUM_IMAG
+EP18RealChannel: CAL-CS_TDEP_PCAL_LINE2_REF_A_PUM_REAL
+EP18ImagChannel: CAL-CS_TDEP_PCAL_LINE2_REF_A_PUM_IMAG
+EP19RealChannel: CAL-CS_TDEP_PCAL_LINE2_REF_A_UIM_REAL
+EP19ImagChannel: CAL-CS_TDEP_PCAL_LINE2_REF_A_UIM_IMAG
+EP20RealChannel: CAL-CS_TDEP_PCAL_LINE1_REF_A_PUM_REAL
+EP20ImagChannel: CAL-CS_TDEP_PCAL_LINE1_REF_A_PUM_IMAG
+EP21RealChannel: CAL-CS_TDEP_PCAL_LINE1_REF_A_UIM_REAL
+EP21ImagChannel: CAL-CS_TDEP_PCAL_LINE1_REF_A_UIM_IMAG
+EP22RealChannel: CAL-CS_TDEP_SUS_LINE1_REF_INVA_UIM_RESPRATIO_REAL
+EP22ImagChannel: CAL-CS_TDEP_SUS_LINE1_REF_INVA_UIM_RESPRATIO_IMAG
+EP23RealChannel: CAL-CS_TDEP_SUS_LINE2_REF_A_PUM_NOLOCK_REAL
+EP23ImagChannel: CAL-CS_TDEP_SUS_LINE2_REF_A_PUM_NOLOCK_IMAG
+EP24RealChannel: CAL-CS_TDEP_SUS_LINE1_REF_A_UIM_NOLOCK_REAL
+EP24ImagChannel: CAL-CS_TDEP_SUS_LINE1_REF_A_UIM_NOLOCK_IMAG
+
+[SampleRates]
+# Sample rate at which to compute h(t)
+HoftSR: 16384
+# Sample rate at which to compute CALIB_STATE_VECTOR
+CalibStateSR: 16
+# Sample rate of control channel
+# Should be 16384 if using DARM_CTRL and 4096 if using DELTAL_CTRL 
+CtrlSR: 4096
+# Sample rate of low noise state channel
+LowNoiseSR: 16
+# Sample rate of HW injection channel
+HWInjSR: 16384
+# Sample rate of observation intent channel
+ObsIntentSR: 16
+# Sample rate list for chanels being used to trigger filter settling clock
+FilterClockSRList: 16
+# Sample rate of TST excitation channel
+TSTExcSR: 512
+# Sample rate of PUM excitation channel
+PUMExcSR: 512
+# Sample rate of UIM excitation channel
+UIMExcSR: 512
+# Sample rate of coherence channels
+CohSR: 16
+# Sample rate for the EPICS reference channels
+EPICSRefSR: 16
+# Sample rates at which transfer functions will be computed and witness channels will be filtered, given as a semicolon-separated list, e.g., 2048;2048;512;2048. This must be given if WitnessChannelList is not None, and it must be the same length.
+WitnessChannelSR: 512
+# Sample rates at which to compute and record TDCFs
+ComputeFactorsSR: 16
+RecordFactorsSR: 16
+
+[Bitmasks]
+ObsReadyBitmask: 1
+ObsIntentBitmask: 1
+FilterClockBitmaskList: 1
+CBCHWInjOffBitmask: 9
+BurstHWInjOffBitmask: 17
+DetCharHWInjOffBitmask: 33
+StochHWInjOffBitmask: 65
+NoiseSubGateBitmask: 1
+
+[PipelineConfigurations]
+BufferLength: 1.0
+FrequencyDomainFiltering: No
+Dewhitening: No
+# Latency of all filtering/averaging/median processes (other than calibration model filters) as a fraction of filter length. Value should be set between 0.0 and 1.0.
+FilterLatency: 0.0
+
+[DataCleaningConfigurations]
+# Remove the DC component from the residual and control channels before filtering
+RemoveDC: No
+# Subtract the calibration lines from the h(t) spectrum
+RemoveCalLines: No
+###############################################################
+# Options for running line subtraction using witness channels #
+###############################################################
+# Semicolon-separated list of comma-separated lists of frequencies (same number of semicolons as LineWitnessChannelList)
+LineWitnessFreqs: 15.1;15.7;16.9;16.3,434.9,1083.1;60.0,120.0,180.0,240.0,300.0
+# Time over which to take a median of transfer functions
+LineWitnessTFMedianTime: 128
+# Time over which to average transfer functions
+LineWitnessTFAveragingTime: 1
+# Semicolon-separated list of typical frequency fluctuations in lines being subtracted (same number of semicolons as LineWitnessChannelList)
+LineWitnessFreqVars: 0.0;0.0;0.0;0.0;0.02
+#######################################
+# Options for broadband noise removal #
+#######################################
+# The length in seconds of the fast Fourier transforms used to compute transfer functions between witness channels and h(t). The fft's are windowed with Hann windows and overlapped.
+WitnessChannelFFTTime: 4.0
+# The number of ffts to take before averaging the witness -> h(t) transfer functions calculation. The average is taken after the ratio h(f) / witness(f).
+NumWitnessFFTs: 1000
+# Sets the minimum number of FFTs necessary to produce the first transfer functions and clean data after data flow starts.
+MinWitnessFFTs: 300
+# The length in seconds of the filters applied to the witness channels before subtracting from h(t)
+WitnessFIRLength: 1.0
+# The frequency resolution of the filters applied to the witness channels before subtracting from h(t). It can be advantageous to lower the frequency resolution in order to average over excess noise.
+WitnessFrequencyResolution: 0.5
+# List of minima and maxima of frequency ranges where the Fourier transform of h(t) will be replaced by a straight line in the calculation of transfer functions between witness channels and h(t) for noise subtraction. Semicolons separate lists for different sets of witness channels. If no notches are desired, use zeros, e.g., \'0;0;0\'. Here is an example using the expected format: \'495.0,515.0,985.0,1015.0;59,60,119,121;0\' This can be useful, e.g., if there are loud lines in the signal that are not present in the witness channels.
+WitnessNotchFrequencies: 0
+# Cutoff frequencies for high-pass filters for witness channels
+WitnessHighPasses: 10
+# The amount of time after transfer functions between witness channels and h(t) are finished to begin the calculation of the next set of transfer functions
+WitnessTFUpdateTime: 4
+# If lock-loss lasts at least this many seconds, transfer functions will revert to those computed at the beginning of a lock stretch. Set to zero to disbale.
+CriticalLockLossTime: 1800
+# The amount of time to use to taper in newly computed FIR filters for witness channels being used for noise subtraction.
+WitnessFilterTaperTime: 2
+# If writing transfer functions to file, this sets the name. If transfer functions should not be written to file, this should be set to None
+WitnessTFFilename: None
+# Should the transfer function calculation use a median? If not, an average (mean) is used.
+WitnessTFUseMedian: Yes
+# Should transfer functions be computed on a fixed schedule, so that the output does not depend on start time?  This is useful for running jobs in parallel.  Otherwise, they are computed asap.
+WitnessTFParallelMode: No
+# When using parallel mode, how many seconds later should we shift the time when transfer functions start being computed from a multiple of the cycle period?
+WitnessTFTimeShift: 360
+# To write only one strain channel, and pick whichever is less noisy, set this option to 'Yes'. This way, if a problem arises with the noise subtraction it will not affect the output strain channel.
+PickCleanestStrainChannel: No
+# A half Hann window is used for transitions between cleaned and uncleaned data.  This is the length of that window in seconds.
+StrainChannelTransitionTime: 10.0
+###############################
+# Options for HOFT_CLEAN bits #
+###############################
+# The amount of data from h(t) and cleaned h(t) that is used to compute and compare the rms. This comparison between cleaned and uncleaned h(t) determines whether the HOFT_CLEAN bits of the calibration state vector are on or off.
+CleaningCheckRMSTime: 30.0
+# Minimum of a range of frequencies in which we expect line/noise subtraction to be impactful. The HOFT_CLEAN_LOWFREQ_OK bit of the calibration state vector is determined based on whether rms of the cleaned data is less than that of uncleaned h(t) in this range.
+CleaningCheckRangeLowMin: 15
+# Maximum of a range of frequencies in which we expect line/noise subtraction to be impactful. The HOFT_CLEAN_LOWFREQ_OK bit of the calibration state vector is determined based on whether rms of the cleaned data is less than that of uncleaned h(t) in this range.
+CleaningCheckRangeLowMax: 20
+# Minimum of a range of frequencies in which we expect line/noise subtraction to be impactful. The HOFT_CLEAN_MIDFREQ_OK bit of the calibration state vector is determined based on whether rms of the cleaned data is less than that of uncleaned h(t) in this range.
+CleaningCheckRangeMidMin: 20
+# Maximum of a range of frequencies in which we expect line/noise subtraction to be impactful. The HOFT_CLEAN_MIDFREQ_OK bit of the calibration state vector is determined based on whether rms of the cleaned data is less than that of uncleaned h(t) in this range.
+CleaningCheckRangeMidMax: 200
diff --git a/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Filters/O3/GDSFilters/.svn/pristine/65/6547db2f90c149e3c79259d1d65faa4cc95ce041.svn-base b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Filters/O3/GDSFilters/.svn/pristine/65/6547db2f90c149e3c79259d1d65faa4cc95ce041.svn-base
new file mode 100644
index 0000000000000000000000000000000000000000..646b34efa4852d40a0cdbd9c1134f9aa1a3e3d03
--- /dev/null
+++ b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Filters/O3/GDSFilters/.svn/pristine/65/6547db2f90c149e3c79259d1d65faa4cc95ce041.svn-base
@@ -0,0 +1,389 @@
+[InputConfigurations]
+# Track what "version" of config file this is, so that the pipeline knows which options are present in this file
+ConfigVersion: 1
+# Filters file containing calibration FIR filters
+FiltersFileName: /home/calibration/svncommon/CalSVN/O3/GDSFilters/L1GDS_1231616859.npz
+# Data source should be set to frames or lvshm
+DataSource: lvshm
+FileChecksum: No
+# Right now, SkipBadFiles needs to be off when reading from frames
+SkipBadFiles: No
+############################################
+# If reading from frames use these options #
+############################################
+# None
+
+###################################################
+# If reading from shared memory use these options #
+###################################################
+SHMPartition: LLO_Online
+# Assumed duration of input frames in seconds
+InputFrameDuration: 1
+
+[OutputConfigurations]
+CompressionScheme: 6
+CompressionLevel: 3
+ChanPrefix: GDS-
+# Set to "None" if you do not want a channel suffix
+ChanSuffix: None
+# Data sink should be set to frames or lvshm
+DataSink: lvshm
+#################################################
+# If writing to shared memory use these options #
+#################################################
+OutputSHMPartition: LLO_hoft
+BufferMode: 2
+# Use this to approximate the frame size (in bytes) when writing to shared memory
+FrameSize: 405338
+NumBuffers: 10
+###############################################
+# If writing to frame files use these options #
+###############################################
+FrameType: L1_HOFT_C00
+
+[CalibrationConfigurations]
+IFO: L1
+# Set calibration mode to Full or Partial
+CalibrationMode: Partial
+ComputeCalibStateVector: Yes
+
+[DebuggingConfigurations]
+# If you want to write a pipeline graph, provide the graph name.  Otherwise, set name equal to None
+PipelineGraphFilename: None
+Verbose: No
+# Turn this on to write data presentation timestamps and real-time unix timestamps to file at the beginning and end of the pipeline, to measure latency
+TestLatency: No
+
+[TDCFConfigurations]
+#########################################################
+# Options related to time dependent correction  factors #
+#########################################################
+ComputeKappaTST: Yes
+ApplyKappaTST: No
+# Set this to have the \kappa_tst factors filter the actuation chain with an adaptive filter that corrects for both magnitude and phase errors.
+ApplyComplexKappaTST: No
+
+ComputeKappaPU: No
+ApplyKappaPU: No
+# Set this to have the \kappa_pu factors the actuation chain with an adaptive filter that corrects for both magnitude and phase errors
+ApplyComplexKappaPU: No
+
+ComputeKappaPUM: Yes
+ApplyKappaPUM: No
+# Set this to have the \kappa_p factors the actuation chain with an adaptive filter that corrects for both magnitude and phase errors.
+ApplyComplexKappaPUM: No
+
+ComputeKappaUIM: Yes
+ApplyKappaUIM: No
+# Set this to have the \kappa_u factors the actuation chain with an adaptive filter that corrects for both magnitude and phase errors.
+ApplyComplexKappaUIM: No
+
+ComputeKappaC: Yes
+ApplyKappaC: No
+
+ComputeFcc: Yes
+ApplyFcc: No
+
+ComputeSRCQ: No
+ApplySRCQ: No
+
+ComputeFs: No
+ApplyFs: No
+
+###########################################
+# Options related to the coherence gating #
+###########################################
+UseCoherence: Yes
+CoherenceUncThreshold: 0.02
+# Amount of time used in front-end to compute coherence
+CoherenceTime: 130
+###################################################################
+# Options related to the computation configurations for the TDCFs #
+###################################################################
+ComputeFactorsSR: 16
+RecordFactorsSR: 16
+# Length in seconds of low-pass FIR filter used in demodulation of the calibration lines
+DemodulationFilterTime: 20
+# Time (in seconds) to smooth out \kappas with a median-like method
+MedianSmoothingTime: 128
+TDCFAveragingTime: 10
+#If set to yes, bad computed kappas will be replaced by the previous computed median in the running median array. Otherwise, they are replaced with the default value
+TDCFDefaultToMedian: Yes
+# If using X-end Pcal, we need a minus sign, so set this to -1.0
+PcalSign: 1.0
+##################################################
+# Options related to updating cavity pole filter #
+##################################################
+# Duration of the Fcc filter in the time domain in seconds
+FccFilterDuration: 0.01
+# Number of seconds to average Fcc values before creating a new Fcc filter
+FccAveragingTime: 60 
+# Number of samples to be used when tapering old filter and ramping in new filter
+FccFilterTaperLength: 32768
+############################
+# Nominal values for TDCFs #
+############################
+ExpectedKappaTSTReal: 1.0
+ExpectedKappaTSTImag: 0.0
+ExpectedKappaPUMReal: 1.0
+ExpectedKappaPUMImag: 0.0
+ExpectedKappaUIMReal: 1.0
+ExpectedKappaUIMImag: 0.0
+ExpectedKappaPUReal: 1.0
+ExpectedKappaPUImag: 0.0
+ExpectedKappaC: 1.0
+# FIXME: Check if the code uses these if they're read in from the filers file
+ExpectedFcc: 445.0
+ExpectedFs: 0.35
+ExpectedSRCQ: 10
+################################
+# Acceptable variance in TDCFs #
+################################
+KappaTSTRealVar: 0.2
+KappaTSTImagVar: 0.2
+KappaPURealVar: 0.2
+KappaPUImagVar: 0.2
+KappaPUMRealVar: 0.2
+KappaPUMImagVar: 0.2
+KappaUIMRealVar: 0.2
+KappaUIMImagVar: 0.2
+KappaCVar: 0.2
+FccVar: 50.0
+FsVar: 5.0
+SRCQInvMin: 0.0
+SRCQInvMax: 0.5
+#######################
+# EPICS records input #
+#######################
+# Set to Yes if EPICS records for TDCF computations should be read from filters file.  If set to No, they will be read from frames
+FactorsFromFiltersFile: No
+##############################################################################################
+# Updating Sensing and Actuation filters with all frequency-dependent corrections parameters #
+##############################################################################################
+# Length of time (in seconds) between when inverse-sensing FIR filter is updated
+SensingFilterUpdateTime: 64
+# Length of time (in seconds) over which the smoothed time-dependent parameters of the sensing function are averaged before updating the filter
+SensingFilterAveragingTime: 1
+# Number of samples to be used when tapering old inverse sensing filter and ramping in new filter
+SensingFilterTaperLength: 32768
+# Length of time (in seconds) between when the actuation FIR filters are updated
+ActuationFilterUpdateTime: 64
+# Length of time (in seconds) over which the smoothed time-dependent parameters of the actuation function are averaged before updating the filter
+ActuationFilterAveragingTime: 1
+# Number of samples to be used when tapering old actuation filters and ramping in new filters
+ActuationFilterTaperLength: 32768
+
+[ChannelNames]
+#############################
+# Calibration Channel Names #
+#############################
+DARMCtrlChannel: CAL-DARM_CTRL_DBL_DQ
+DARMErrChannel: CAL-DARM_ERR_DBL_DQ
+DeltaLTSTChannel: CAL-DELTAL_CTRL_TST_DBL_DQ
+DeltaLPUMChannel: CAL-DELTAL_CTRL_PUM_DBL_DQ
+DeltaLUIMChannel: CAL-DELTAL_CTRL_UIM_DBL_DQ
+DeltaLResChannel: CAL-DELTAL_RESIDUAL_DBL_DQ
+####################################
+# Data Quality Vector Channel Name #
+####################################
+InputDQChannel: ODC-MASTER_CHANNEL_OUT_DQ
+##################################
+# Calibration Line Channel Names #
+##################################
+DARMExcChannel: CAL-CS_LINE_SUM_DQ
+TSTExcChannel: SUS-ETMY_L3_CAL_LINE_OUT_DQ
+PUMExcChannel: SUS-ETMY_L2_CAL_LINE_OUT_DQ 
+UIMExcChannel: SUS-ETMY_L1_CAL_LINE_OUT_DQ
+PCALChannel: CAL-PCALY_TX_PD_OUT_DQ
+############################################
+# Calibraiton Line Frequency Channel Names #
+############################################
+DARMExcLineFreqChannel: None
+TSTExcLineFreqChannel: SUS-ETMY_L3_CAL_LINE_FREQ
+PUMExcLineFreqChannel: SUS-ETMY_L2_CAL_LINE_FREQ
+UIMExcLineFreqChannel: SUS-ETMY_L1_CAL_LINE_FREQ
+PCALLine1FreqChannel: None
+PCALLine2FreqChannel: CAL-CS_TDEP_CAVITY_POLE_PCAL_FREQ
+PCALLine3FreqChannel: None
+PCALLine4FreqChannel: CAL-CS_TDEP_D2N_SPRING_PCAL_FREQ
+# Coherence Uncertainty Channel Names #
+#######################################
+CohUncSusLine1Channel: CAL-CS_TDEP_SUS_LINE1_UNCERTAINTY
+CohUncSusLine2Channel: CAL-CS_TDEP_SUS_LINE2_UNCERTAINTY
+CohUncSusLine3Channel: CAL-CS_TDEP_SUS_LINE3_UNCERTAINTY
+CohUncPcalyLine1Channel: CAL-CS_TDEP_PCAL_LINE1_UNCERTAINTY
+CohUncPcalyLine2Channel: CAL-CS_TDEP_PCAL_LINE2_UNCERTAINTY
+CohUncPcalyLine4Channel: CAL-CS_TDEP_PCAL_LINE4_UNCERTAINTY
+CohUncDARMLine1Channel: CAL-CS_TDEP_DARM_LINE1_UNCERTAINTY
+###################################
+# Noise Subtraction Channel Names #
+###################################
+PowerLinesChannel: PEM-EY_MAINSMON_EBAY_1_DQ
+# Comma-separated list of witness channels to use to subtract noise from h(t)
+# Set to None if no witness channels are to be used
+#WitnessChannelList: IMC-WFS_A_DC_PIT_OUT_DQ,IMC-WFS_B_DC_PIT_OUT_DQ,IMC-WFS_A_DC_YAW_OUT_DQ,IMC-WFS_B_DC_YAW_OUT_DQ,PSL-DIAG_BULLSEYE_YAW_OUT_DQ,PSL-DIAG_BULLSEYE_WID_OUT_DQ,PSL-DIAG_BULLSEYE_PIT_OUT_DQ;ASC-DHARD_P_OUT_DQ,ASC-DHARD_Y_OUT_DQ,ASC-CHARD_P_OUT_DQ,ASC-CHARD_Y_OUT_DQ,LSC-SRCL_IN1_DQ,LSC-MICH_IN1_DQ,LSC-PRCL_IN1_DQ
+WitnessChannelList: None
+#IMC-WFS_A_DC_PIT_OUT_DQ,IMC-WFS_B_DC_PIT_OUT_DQ,IMC-WFS_A_DC_YAW_OUT_DQ,IMC-WFS_B_DC_YAW_OUT_DQ;PSL-DIAG_BULLSEYE_YAW_OUT_DQ,PSL-DIAG_BULLSEYE_WID_OUT_DQ,PSL-DIAG_BULLSEYE_PIT_OUT_DQ;ASC-DHARD_P_OUT_DQ,ASC-DHARD_Y_OUT_DQ,ASC-CHARD_P_OUT_DQ,ASC-CHARD_Y_OUT_DQ;LSC-SRCL_IN1_DQ,LSC-MICH_IN1_DQ,LSC-PRCL_IN1_DQ
+# What channel should we use to gate the noise subtraction and 60-Hz line subtraction
+NoiseSubGateChannel: ODC-MASTER_CHANNEL_OUT_DQ
+###############################
+# EPICS Records Channel Names #
+###############################
+EP1RealChannel: CAL-CS_TDEP_SUS_LINE3_REF_INVA_TST_RESPRATIO_REAL
+EP1ImagChannel: CAL-CS_TDEP_SUS_LINE3_REF_INVA_TST_RESPRATIO_IMAG
+EP2RealChannel: CAL-CS_TDEP_REF_CLGRATIO_CTRL_REAL
+EP2ImagChannel: CAL-CS_TDEP_REF_CLGRATIO_CTRL_IMAG
+EP3RealChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_USUM_INV_REAL
+EP3ImagChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_USUM_INV_IMAG
+EP4RealChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_TST_REAL
+EP4ImagChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_TST_IMAG
+EP5RealChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_USUM_REAL
+EP5ImagChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_USUM_IMAG
+EP6RealChannel: CAL-CS_TDEP_PCAL_LINE2_REF_C_NOCAVPOLE_REAL
+EP6ImagChannel: CAL-CS_TDEP_PCAL_LINE2_REF_C_NOCAVPOLE_IMAG
+EP7RealChannel: CAL-CS_TDEP_PCAL_LINE2_REF_D_REAL
+EP7ImagChannel: CAL-CS_TDEP_PCAL_LINE2_REF_D_IMAG
+EP8RealChannel: CAL-CS_TDEP_PCAL_LINE2_REF_A_TST_REAL
+EP8Imagchannel: CAL-CS_TDEP_PCAL_LINE2_REF_A_TST_IMAG
+EP9RealChannel: CAL-CS_TDEP_PCALY_LINE2_REF_A_USUM_REAL
+EP9ImagChannel: CAL-CS_TDEP_PCALY_LINE2_REF_A_USUM_IMAG
+EP10RealChannel: CAL-CS_TDEP_SUS_LINE3_REF_A_TST_NOLOCK_REAL
+EP10ImagChannel: CAL-CS_TDEP_SUS_LINE3_REF_A_TST_NOLOCK_IMAG
+EP11RealChannel: CAL-CS_TDEP_PCAL_LINE4_REF_C_NOCAVPOLE_REAL
+EP11ImagChannel: CAL-CS_TDEP_PCAL_LINE4_REF_C_NOCAVPOLE_IMAG
+EP12RealChannel: CAL-CS_TDEP_PCAL_LINE4_REF_D_REAL
+EP12ImagChannel: CAL-CS_TDEP_PCAL_LINE4_REF_D_IMAG
+EP13RealChannel: CAL-CS_TDEP_PCAL_LINE4_REF_A_TST_REAL
+EP13ImagChannel: CAL-CS_TDEP_PCAL_LINE4_REF_A_TST_IMAG
+EP14RealChannel: CAL-CS_TDEP_PCALY_LINE4_REF_A_USUM_REAL
+EP14ImagChannel: CAL-CS_TDEP_PCALY_LINE4_REF_A_USUM_IMAG
+EP15RealChannel: CAL-CS_TDEP_SUS_LINE2_REF_INVA_PUM_RESPRATIO_REAL
+EP15Imagchannel: CAL-CS_TDEP_SUS_LINE2_REF_INVA_PUM_RESPRATIO_IMAG
+EP16RealChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_UIM_INV_REAL
+EP16ImagChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_UIM_INV_IMAG
+EP17RealChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_PUM_REAL
+EP17ImagChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_PUM_IMAG
+EP18RealChannel: CAL-CS_TDEP_PCAL_LINE2_REF_A_PUM_REAL
+EP18ImagChannel: CAL-CS_TDEP_PCAL_LINE2_REF_A_PUM_IMAG
+EP19RealChannel: CAL-CS_TDEP_PCAL_LINE2_REF_A_UIM_REAL
+EP19ImagChannel: CAL-CS_TDEP_PCAL_LINE2_REF_A_UIM_IMAG
+EP20RealChannel: CAL-CS_TDEP_PCAL_LINE4_REF_A_PUM_REAL
+EP20ImagChannel: CAL-CS_TDEP_PCAL_LINE4_REF_A_PUM_IMAG
+EP21RealChannel: CAL-CS_TDEP_PCAL_LINE4_REF_A_UIM_REAL
+EP21ImagChannel: CAL-CS_TDEP_PCAL_LINE4_REF_A_UIM_IMAG
+EP22RealChannel: CAL-CS_TDEP_SUS_LINE1_REF_INVA_UIM_RESPRATIO_REAL
+EP22ImagChannel: CAL-CS_TDEP_SUS_LINE1_REF_INVA_UIM_RESPRATIO_IMAG
+EP23RealChannel: CAL-CS_TDEP_SUS_LINE2_REF_A_PUM_NOLOCK_REAL
+EP23ImagChannel: CAL-CS_TDEP_SUS_LINE2_REF_A_PUM_NOLOCK_IMAG
+EP24RealChannel: CAL-CS_TDEP_SUS_LINE1_REF_A_UIM_NOLOCK_REAL
+EP24ImagChannel: CAL-CS_TDEP_SUS_LINE1_REF_A_UIM_NOLOCK_IMAG
+
+[SampleRates]
+# Sample rate at which to compute h(t)
+HoftSR: 16384
+# Sample rate at which to compute CALIB_STATE_VECTOR
+CalibStateSR: 16
+# Sample rate of control channel
+# Should be 16384 if using DARM_CTRL and 4096 if using DELTAL_CTRL 
+CtrlSR: 4096
+# Sample rate of ODC channel
+ODCSR: 16384
+# Sample rate of TST excitation channel
+TSTExcSR: 512
+# Sample rate of PUM excitation channel
+PUMExcSR: 512
+# Sample rate of UIM excitation channel
+UIMExcSR: 512
+# Sample rate of coherence channels
+CohSR: 16
+# Sample rate for the EPICS reference channels
+EPICSRefSR: 16
+# Sample rate for power lines channel
+PowerLinesChannelSR: 1024
+# Sample rates at which transfer functions will be computed and witness channels will be filtered, given as a semicolon-separated list, e.g., 2048;2048;512;2048. This must be given if WitnessChannelList is not None, and it must be the same length.
+WitnessChannelSR: 2048;512
+# Sample rates at which to compute and record TDCFs
+ComputeFactorsSR: 16
+RecordFactorsSR: 16
+
+[Bitmasks]
+ObsReadyBitmask: 2
+ObsIntentBitmask: 2
+CBCHWInjBitmask: 16777216
+BurstHWInjBitmask: 33554432
+DetCharHWInjBitmask: 67108864
+StochHWInjBitmask: 8388608
+NoiseSubGateBitmask: 4
+
+[PipelineConfigurations]
+BufferLength: 1.0
+FrequencyDomainFiltering: No
+Dewhitening: No
+# Latency of all filtering/averaging/median processes (other than calibration model filters) as a fraction of filter length. Value should be set between 0.0 and 1.0.
+FilterLatency: 0.0
+
+[DataCleaningConfigurations]
+####################################################
+# Options for turning on and off noise subtraction #
+####################################################
+# Remove the DC component from the residual and control channels before filtering
+RemoveDC: No
+# Subtract the calibration lines from the h(t) spectrum
+RemoveCalLines: Yes
+# Subtract the power lines from the h(t) spectrum
+RemovePowerLines: Yes
+###################################################
+# Options for runing power mains line subtraction #
+###################################################
+PowerLinesTFMedianTime: 1
+#########################################
+# Options for running noise subtraction #
+#########################################
+# Amount by which frequency of power lines varies with time
+PowerLinesFreqVar: 0.02
+# Time over which to average the transfer function between the power mains witness channel and h(t) at 60 Hz and harmonics
+PowerLinesTFAveragingTime: 128
+#######################################
+# Options for broadband noise removal #
+#######################################
+# The length in seconds of the fast Fourier transforms used to compute transfer functions between witness channels and h(t). The fft's are windowed with Hann windows and overlapped.
+WitnessChannelFFTTime: 4.0
+# The number of ffts to take before averaging the witness -> h(t) transfer functions calculation. The average is taken after the ratio h(f) / witness(f).
+NumWitnessFFTs: 509
+# Sets the minimum number of FFTs necessary to produce the first transfer functions and clean data after data flow starts.
+MinWitnessFFTs: 200
+# The length in seconds of the filters applied to the witness channels before subtracting from h(t)
+WitnessFIRLength: 1.0
+# The frequency resolution of the filters applied to the witness channels before subtracting from h(t). It can be advantageous to lower the frequency resolution in order to average over excess noise.
+WitnessFrequencyResolution: 0.5
+# List of minima and maxima of frequency ranges where the Fourier transform of h(t) will be replaced by a straight line in the calculation of transfer functions between witness channels and h(t) for noise subtraction. Semicolons separate lists for different sets of witness channels. If no notches are desired, use zeros, e.g., \'0;0;0\'. Here is an example using the expected format: \'495.0,515.0,985.0,1015.0;59,60,119,121;0\' This can be useful, e.g., if there are loud lines in the signal that are not present in the witness channels.
+WitnessNotchFrequencies: 12.0,15.0,485.0,515.0,985.0,1015.0;0
+# Cutoff frequencies for high-pass filters for witness channels
+WitnessHighPasses: 12;10
+# The amount of time after transfer functions between witness channels and h(t) are finished to begin the calculation of the next set of transfer functions
+WitnessTFUpdateTime: 4
+# If lock-loss lasts at least this many seconds, transfer functions will revert to those computed at the beginning of a lock stretch. Set to zero to disbale.
+CriticalLockLossTime: 1800
+# The amount of time to use to taper in newly computed FIR filters for witness channels being used for noise subtraction.
+WitnessFilterTaperTime: 2
+# If writing transfer functions to file, this sets the name. If transfer functions should not be written to file, this should be set to None
+WitnessTFFilename: None
+# Should the transfer function calculation use a median? If not, an average (mean) is used.
+WitnessTFUseMedian: Yes
+# Should transfer functions be computed on a fixed schedule, so that the output does not depend on start time?  This is useful for running jobs in parallel.  Otherwise, they are computed asap.
+WitnessTFParallelMode: No
+# When using parallel mode, how many seconds later should we shift the time when transfer functions start being computed from a multiple of the cycle period?
+WitnessTFTimeShift: 360
+###############################
+# Options for HOFT_CLEAN bits #
+###############################
+# The amount of data from h(t) and cleaned h(t) that is used to compute and compare the rms. This comparison between cleaned and uncleaned h(t) determines whether the HOFT_CLEAN bits of the calibration state vector are on or off.
+CleaningCheckRMSTime: 20.0
+# Minimum of a range of frequencies in which we expect line/noise subtraction to be impactful. The HOFT_CLEAN_LOWFREQ_OK bit of the calibration state vector is determined based on whether rms of the cleaned data is less than that of uncleaned h(t) in this range.
+CleaningCheckRangeLowMin: 15
+# Maximum of a range of frequencies in which we expect line/noise subtraction to be impactful. The HOFT_CLEAN_LOWFREQ_OK bit of the calibration state vector is determined based on whether rms of the cleaned data is less than that of uncleaned h(t) in this range.
+CleaningCheckRangeLowMax: 40
+# Minimum of a range of frequencies in which we expect line/noise subtraction to be impactful. The HOFT_CLEAN_MIDFREQ_OK bit of the calibration state vector is determined based on whether rms of the cleaned data is less than that of uncleaned h(t) in this range.
+CleaningCheckRangeMidMin: 100
+# Maximum of a range of frequencies in which we expect line/noise subtraction to be impactful. The HOFT_CLEAN_MIDFREQ_OK bit of the calibration state vector is determined based on whether rms of the cleaned data is less than that of uncleaned h(t) in this range.
+CleaningCheckRangeMidMax: 500
diff --git a/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Filters/O3/GDSFilters/.svn/pristine/ad/ad9b7280a7df139cd726e5295c71b11820d9951b.svn-base b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Filters/O3/GDSFilters/.svn/pristine/ad/ad9b7280a7df139cd726e5295c71b11820d9951b.svn-base
new file mode 100644
index 0000000000000000000000000000000000000000..8ceed13f02357a3989ef7a17c85f6d02b8917554
Binary files /dev/null and b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Filters/O3/GDSFilters/.svn/pristine/ad/ad9b7280a7df139cd726e5295c71b11820d9951b.svn-base differ
diff --git a/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Filters/O3/GDSFilters/.svn/pristine/bb/bbb63eb59f00e6ed34864a914a332a6522d3fd5e.svn-base b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Filters/O3/GDSFilters/.svn/pristine/bb/bbb63eb59f00e6ed34864a914a332a6522d3fd5e.svn-base
new file mode 100644
index 0000000000000000000000000000000000000000..d1e16ce90d647c1a80897d9cbde2a57c2f808a9a
--- /dev/null
+++ b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Filters/O3/GDSFilters/.svn/pristine/bb/bbb63eb59f00e6ed34864a914a332a6522d3fd5e.svn-base
@@ -0,0 +1,400 @@
+[InputConfigurations]
+# Track what "version" of config file this is, so that the pipeline knows which options are present in this file
+ConfigVersion: 1
+# Filters file containing calibration FIR filters
+FiltersFileName: /home/calibration/svncommon/CalSVN/O3/GDSFilters/L1GDS_TEST_1231616859.npz
+# Data source should be set to frames or lvshm
+DataSource: lvshm
+FileChecksum: No
+# Right now, SkipBadFiles needs to be off when reading from frames
+SkipBadFiles: No
+############################################
+# If reading from frames use these options #
+############################################
+# None
+
+###################################################
+# If reading from shared memory use these options #
+###################################################
+SHMPartition: LLO_Online
+# Assumed duration of input frames in seconds
+InputFrameDuration: 1
+
+[OutputConfigurations]
+CompressionScheme: 6
+CompressionLevel: 3
+ChanPrefix: GDS-
+# Set to "None" if you do not want a channel suffix
+ChanSuffix: _TEST
+# Data sink should be set to frames or lvshm
+DataSink: lvshm
+#################################################
+# If writing to shared memory use these options #
+#################################################
+OutputSHMPartition: LLO_hoft
+BufferMode: 2
+# Use this to approximate the frame size (in bytes) when writing to shared memory
+FrameSize: 405338
+NumBuffers: 10
+###############################################
+# If writing to frame files use these options #
+###############################################
+FrameType: L1GDS_TEST
+
+[CalibrationConfigurations]
+IFO: L1
+# Set calibration mode to Full or Partial
+CalibrationMode: Partial
+ComputeCalibStateVector: Yes
+
+[DebuggingConfigurations]
+# If you want to write a pipeline graph, provide the graph name.  Otherwise, set name equal to None
+PipelineGraphFilename: None
+Verbose: No
+# Turn this on to write data presentation timestamps and real-time unix timestamps to file at the beginning and end of the pipeline, to measure latency
+TestLatency: No
+
+[TDCFConfigurations]
+#########################################################
+# Options related to time dependent correction  factors #
+#########################################################
+ComputeKappaTST: Yes
+ApplyKappaTST: No
+# Set this to have the \kappa_tst factors filter the actuation chain with an adaptive filter that corrects for both magnitude and phase errors.
+ApplyComplexKappaTST: No
+
+ComputeKappaPU: No
+ApplyKappaPU: No
+# Set this to have the \kappa_pu factors the actuation chain with an adaptive filter that corrects for both magnitude and phase errors
+ApplyComplexKappaPU: No
+
+ComputeKappaPUM: Yes
+ApplyKappaPUM: No
+# Set this to have the \kappa_p factors the actuation chain with an adaptive filter that corrects for both magnitude and phase errors.
+ApplyComplexKappaPUM: Yes
+
+ComputeKappaUIM: Yes
+ApplyKappaUIM: No
+# Set this to have the \kappa_u factors the actuation chain with an adaptive filter that corrects for both magnitude and phase errors.
+ApplyComplexKappaUIM: Yes
+
+ComputeKappaC: Yes
+ApplyKappaC: Yes
+
+ComputeFcc: Yes
+ApplyFcc: Yes
+
+ComputeSRCQ: Yes
+ApplySRCQ: Yes
+
+ComputeFs: Yes
+ApplyFs: Yes
+
+###########################################
+# Options related to the coherence gating #
+###########################################
+UseCoherence: Yes
+CoherenceUncThreshold: 0.02
+# Amount of time used in front-end to compute coherence
+CoherenceTime: 130
+###################################################################
+# Options related to the computation configurations for the TDCFs #
+###################################################################
+ComputeFactorsSR: 16
+RecordFactorsSR: 16
+# Length in seconds of low-pass FIR filter used in demodulation of the calibration lines
+DemodulationFilterTime: 20
+# Time (in seconds) to smooth out \kappas with a median-like method
+MedianSmoothingTime: 128
+TDCFAveragingTime: 10
+#If set to yes, bad computed kappas will be replaced by the previous computed median in the running median array. Otherwise, they are replaced with the default value
+TDCFDefaultToMedian: Yes
+# If using X-end Pcal, we need a minus sign, so set this to -1.0
+PcalSign: 1.0
+##################################################
+# Options related to updating cavity pole filter #
+##################################################
+# Duration of the Fcc filter in the time domain in seconds
+FccFilterDuration: 0.01
+# Number of seconds to average Fcc values before creating a new Fcc filter
+FccAveragingTime: 60 
+# Number of samples to be used when tapering old filter and ramping in new filter
+FccFilterTaperLength: 32768
+############################
+# Nominal values for TDCFs #
+############################
+ExpectedKappaTSTReal: 1.0
+ExpectedKappaTSTImag: 0.0
+ExpectedKappaPUMReal: 1.0
+ExpectedKappaPUMImag: 0.0
+ExpectedKappaUIMReal: 1.0
+ExpectedKappaUIMImag: 0.0
+ExpectedKappaPUReal: 1.0
+ExpectedKappaPUImag: 0.0
+ExpectedKappaC: 1.0
+# FIXME: Check if the code uses these if they're read in from the filers file
+ExpectedFcc: 445.0
+ExpectedFs: 0.35
+ExpectedSRCQ: 10
+################################
+# Acceptable variance in TDCFs #
+################################
+KappaTSTRealVar: 0.2
+KappaTSTImagVar: 0.2
+KappaPURealVar: 0.2
+KappaPUImagVar: 0.2
+KappaPUMRealVar: 0.2
+KappaPUMImagVar: 0.2
+KappaUIMRealVar: 0.2
+KappaUIMImagVar: 0.2
+KappaCVar: 0.2
+FccVar: 50.0
+FsVar: 5.0
+SRCQInvMin: 0.0
+SRCQInvMax: 0.5
+#######################
+# EPICS records input #
+#######################
+# Set to Yes if EPICS records for TDCF computations should be read from filters file.  If set to No, they will be read from frames
+FactorsFromFiltersFile: No
+##############################################################################################
+# Updating Sensing and Actuation filters with all frequency-dependent corrections parameters #
+##############################################################################################
+# Length of time (in seconds) between when inverse-sensing FIR filter is updated
+SensingFilterUpdateTime: 64
+# Length of time (in seconds) over which the smoothed time-dependent parameters of the sensing function are averaged before updating the filter
+SensingFilterAveragingTime: 1
+# Number of samples to be used when tapering old inverse sensing filter and ramping in new filter
+SensingFilterTaperLength: 32768
+# Length of time (in seconds) between when the actuation FIR filters are updated
+ActuationFilterUpdateTime: 64
+# Length of time (in seconds) over which the smoothed time-dependent parameters of the actuation function are averaged before updating the filter
+ActuationFilterAveragingTime: 1
+# Number of samples to be used when tapering old actuation filters and ramping in new filters
+ActuationFilterTaperLength: 32768
+
+[ChannelNames]
+#############################
+# Calibration Channel Names #
+#############################
+DARMCtrlChannel: CAL-DARM_CTRL_DBL_DQ
+DARMErrChannel: CAL-DARM_ERR_DBL_DQ
+DeltaLTSTChannel: CAL-DELTAL_CTRL_TST_DBL_DQ
+DeltaLPUMChannel: CAL-DELTAL_CTRL_PUM_DBL_DQ
+DeltaLUIMChannel: CAL-DELTAL_CTRL_UIM_DBL_DQ
+DeltaLResChannel: CAL-DELTAL_RESIDUAL_DBL_DQ
+####################################
+# Data Quality Vector Channel Name #
+####################################
+LowNoiseStateChannel: GRD-IFO_OK
+HWInjChannel: ODC-MASTER_CHANNEL_OUT_DQ
+ObsIntentChannel: ODC-MASTER_CHANNEL_OUT_DQ
+FilterClockChannelList: GRD-IFO_OK
+##################################
+# Calibration Line Channel Names #
+##################################
+DARMExcChannel: CAL-CS_LINE_SUM_DQ
+TSTExcChannel: SUS-ETMX_L3_CAL_LINE_OUT_DQ
+PUMExcChannel: SUS-ETMX_L2_CAL_LINE_OUT_DQ 
+UIMExcChannel: SUS-ETMX_L1_CAL_LINE_OUT_DQ
+PCALChannel: CAL-PCALY_TX_PD_OUT_DQ
+############################################
+# Calibraiton Line Frequency Channel Names #
+############################################
+#DARMExcLineFreqChannel: None
+#TSTExcLineFreqChannel: CAL-CS_TDEP_SUS_LINE3_COMPARISON_OSC_FREQ
+#PUMExcLineFreqChannel: CAL-CS_TDEP_SUS_LINE2_COMPARISON_OSC_FREQ
+#UIMExcLineFreqChannel: CAL-CS_TDEP_SUS_LINE1_COMPARISON_OSC_FREQ
+#PCALLine1FreqChannel: CAL-CS_TDEP_PCAL_LINE1_COMPARISON_OSC_FREQ
+#PCALLine2FreqChannel: CAL-CS_TDEP_PCAL_LINE2_COMPARISON_OSC_FREQ
+#PCALLine3FreqChannel: CAL-CS_TDEP_PCAL_LINE3_COMPARISON_OSC_FREQ
+#PCALLine4FreqChannel: CAL-CS_TDEP_PCAL_LINE4_COMPARISON_OSC_FREQ
+#######################################
+# Coherence Uncertainty Channel Names #
+#######################################
+CohUncSusLine1Channel: CAL-CS_TDEP_SUS_LINE1_UNCERTAINTY
+CohUncSusLine2Channel: CAL-CS_TDEP_SUS_LINE2_UNCERTAINTY
+CohUncSusLine3Channel: CAL-CS_TDEP_SUS_LINE3_UNCERTAINTY
+CohUncPcalyLine1Channel: CAL-CS_TDEP_PCAL_LINE1_UNCERTAINTY
+CohUncPcalyLine2Channel: CAL-CS_TDEP_PCAL_LINE2_UNCERTAINTY
+CohUncPcalyLine4Channel: CAL-CS_TDEP_PCAL_LINE4_UNCERTAINTY
+CohUncDARMLine1Channel: CAL-CS_TDEP_DARM_LINE1_UNCERTAINTY
+###################################
+# Noise Subtraction Channel Names #
+###################################
+PowerLinesChannel: PEM-EY_MAINSMON_EBAY_1_DQ
+# Comma-separated list of witness channels to use to subtract noise from h(t)
+# Set to None if no witness channels are to be used
+#WitnessChannelList: IMC-WFS_A_DC_PIT_OUT_DQ,IMC-WFS_B_DC_PIT_OUT_DQ,IMC-WFS_A_DC_YAW_OUT_DQ,IMC-WFS_B_DC_YAW_OUT_DQ,PSL-DIAG_BULLSEYE_YAW_OUT_DQ,PSL-DIAG_BULLSEYE_WID_OUT_DQ,PSL-DIAG_BULLSEYE_PIT_OUT_DQ;ASC-DHARD_P_OUT_DQ,ASC-DHARD_Y_OUT_DQ,ASC-CHARD_P_OUT_DQ,ASC-CHARD_Y_OUT_DQ,LSC-SRCL_IN1_DQ,LSC-MICH_IN1_DQ,LSC-PRCL_IN1_DQ
+WitnessChannelList: None
+#IMC-WFS_A_DC_PIT_OUT_DQ,IMC-WFS_B_DC_PIT_OUT_DQ,IMC-WFS_A_DC_YAW_OUT_DQ,IMC-WFS_B_DC_YAW_OUT_DQ;PSL-DIAG_BULLSEYE_YAW_OUT_DQ,PSL-DIAG_BULLSEYE_WID_OUT_DQ,PSL-DIAG_BULLSEYE_PIT_OUT_DQ;ASC-DHARD_P_OUT_DQ,ASC-DHARD_Y_OUT_DQ,ASC-CHARD_P_OUT_DQ,ASC-CHARD_Y_OUT_DQ;LSC-SRCL_IN1_DQ,LSC-MICH_IN1_DQ,LSC-PRCL_IN1_DQ
+# What channel should we use to gate the noise subtraction and 60-Hz line subtraction
+NoiseSubGateChannel: GRD-IFO_OK
+###############################
+# EPICS Records Channel Names #
+###############################
+EP1RealChannel: CAL-CS_TDEP_SUS_LINE3_REF_INVA_TST_RESPRATIO_REAL
+EP1ImagChannel: CAL-CS_TDEP_SUS_LINE3_REF_INVA_TST_RESPRATIO_IMAG
+EP2RealChannel: CAL-CS_TDEP_REF_CLGRATIO_CTRL_REAL
+EP2ImagChannel: CAL-CS_TDEP_REF_CLGRATIO_CTRL_IMAG
+EP3RealChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_USUM_INV_REAL
+EP3ImagChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_USUM_INV_IMAG
+EP4RealChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_TST_REAL
+EP4ImagChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_TST_IMAG
+EP5RealChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_USUM_REAL
+EP5ImagChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_USUM_IMAG
+EP6RealChannel: CAL-CS_TDEP_PCAL_LINE2_REF_C_NOCAVPOLE_REAL
+EP6ImagChannel: CAL-CS_TDEP_PCAL_LINE2_REF_C_NOCAVPOLE_IMAG
+EP7RealChannel: CAL-CS_TDEP_PCAL_LINE2_REF_D_REAL
+EP7ImagChannel: CAL-CS_TDEP_PCAL_LINE2_REF_D_IMAG
+EP8RealChannel: CAL-CS_TDEP_PCAL_LINE2_REF_A_TST_REAL
+EP8Imagchannel: CAL-CS_TDEP_PCAL_LINE2_REF_A_TST_IMAG
+EP9RealChannel: CAL-CS_TDEP_PCALY_LINE2_REF_A_USUM_REAL
+EP9ImagChannel: CAL-CS_TDEP_PCALY_LINE2_REF_A_USUM_IMAG
+EP10RealChannel: CAL-CS_TDEP_SUS_LINE3_REF_A_TST_NOLOCK_REAL
+EP10ImagChannel: CAL-CS_TDEP_SUS_LINE3_REF_A_TST_NOLOCK_IMAG
+EP11RealChannel: CAL-CS_TDEP_PCAL_LINE4_REF_C_NOCAVPOLE_REAL
+EP11ImagChannel: CAL-CS_TDEP_PCAL_LINE4_REF_C_NOCAVPOLE_IMAG
+EP12RealChannel: CAL-CS_TDEP_PCAL_LINE4_REF_D_REAL
+EP12ImagChannel: CAL-CS_TDEP_PCAL_LINE4_REF_D_IMAG
+EP13RealChannel: CAL-CS_TDEP_PCAL_LINE4_REF_A_TST_REAL
+EP13ImagChannel: CAL-CS_TDEP_PCAL_LINE4_REF_A_TST_IMAG
+EP14RealChannel: CAL-CS_TDEP_PCALY_LINE4_REF_A_USUM_REAL
+EP14ImagChannel: CAL-CS_TDEP_PCALY_LINE4_REF_A_USUM_IMAG
+EP15RealChannel: CAL-CS_TDEP_SUS_LINE2_REF_INVA_PUM_RESPRATIO_REAL
+EP15Imagchannel: CAL-CS_TDEP_SUS_LINE2_REF_INVA_PUM_RESPRATIO_IMAG
+EP16RealChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_UIM_INV_REAL
+EP16ImagChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_UIM_INV_IMAG
+EP17RealChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_PUM_REAL
+EP17ImagChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_PUM_IMAG
+EP18RealChannel: CAL-CS_TDEP_PCAL_LINE2_REF_A_PUM_REAL
+EP18ImagChannel: CAL-CS_TDEP_PCAL_LINE2_REF_A_PUM_IMAG
+EP19RealChannel: CAL-CS_TDEP_PCAL_LINE2_REF_A_UIM_REAL
+EP19ImagChannel: CAL-CS_TDEP_PCAL_LINE2_REF_A_UIM_IMAG
+EP20RealChannel: CAL-CS_TDEP_PCAL_LINE4_REF_A_PUM_REAL
+EP20ImagChannel: CAL-CS_TDEP_PCAL_LINE4_REF_A_PUM_IMAG
+EP21RealChannel: CAL-CS_TDEP_PCAL_LINE4_REF_A_UIM_REAL
+EP21ImagChannel: CAL-CS_TDEP_PCAL_LINE4_REF_A_UIM_IMAG
+EP22RealChannel: CAL-CS_TDEP_SUS_LINE1_REF_INVA_UIM_RESPRATIO_REAL
+EP22ImagChannel: CAL-CS_TDEP_SUS_LINE1_REF_INVA_UIM_RESPRATIO_IMAG
+EP23RealChannel: CAL-CS_TDEP_SUS_LINE2_REF_A_PUM_NOLOCK_REAL
+EP23ImagChannel: CAL-CS_TDEP_SUS_LINE2_REF_A_PUM_NOLOCK_IMAG
+EP24RealChannel: CAL-CS_TDEP_SUS_LINE1_REF_A_UIM_NOLOCK_REAL
+EP24ImagChannel: CAL-CS_TDEP_SUS_LINE1_REF_A_UIM_NOLOCK_IMAG
+
+[SampleRates]
+# Sample rate at which to compute h(t)
+HoftSR: 16384
+# Sample rate at which to compute CALIB_STATE_VECTOR
+CalibStateSR: 16
+# Sample rate of control channel
+# Should be 16384 if using DARM_CTRL and 4096 if using DELTAL_CTRL 
+CtrlSR: 4096
+# Sample rate of low noise state channel
+LowNoiseSR: 16
+# Sample rate of HW injection channel
+HWInjSR: 16384
+# Sample rate of observation intent channel
+ObsIntentSR: 16384
+# Sample rate list for chanels being used to trigger filter settling clock
+FilterClockSRList: 16
+# Sample rate of TST excitation channel
+TSTExcSR: 512
+# Sample rate of PUM excitation channel
+PUMExcSR: 512
+# Sample rate of UIM excitation channel
+UIMExcSR: 512
+# Sample rate of coherence channels
+CohSR: 16
+# Sample rate for the EPICS reference channels
+EPICSRefSR: 16
+# Sample rate for power lines channel
+PowerLinesChannelSR: 1024
+# Sample rates at which transfer functions will be computed and witness channels will be filtered, given as a semicolon-separated list, e.g., 2048;2048;512;2048. This must be given if WitnessChannelList is not None, and it must be the same length.
+WitnessChannelSR: 2048;512
+# Sample rates at which to compute and record TDCFs
+ComputeFactorsSR: 16
+RecordFactorsSR: 16
+
+[Bitmasks]
+ObsReadyBitmask: 1
+ObsIntentBitmask: 2
+NoiseSubGateBitmask: 1
+FilterClockBitmaskList: 1
+CBCHWInjBitmask: 16777216
+BurstHWInjBitmask: 33554432
+DetCharHWInjBitmask: 67108864
+StochHWInjBitmask: 8388608
+
+[PipelineConfigurations]
+BufferLength: 1.0
+FrequencyDomainFiltering: No
+Dewhitening: No
+# Latency of all filtering/averaging/median processes (other than calibration model filters) as a fraction of filter length. Value should be set between 0.0 and 1.0.
+FilterLatency: 0.0
+
+[DataCleaningConfigurations]
+####################################################
+# Options for turning on and off noise subtraction #
+####################################################
+# Remove the DC component from the residual and control channels before filtering
+RemoveDC: No
+# Subtract the calibration lines from the h(t) spectrum
+RemoveCalLines: Yes
+# Subtract the power lines from the h(t) spectrum
+RemovePowerLines: Yes
+###################################################
+# Options for runing power mains line subtraction #
+###################################################
+PowerLinesTFMedianTime: 1
+#########################################
+# Options for running noise subtraction #
+#########################################
+# Amount by which frequency of power lines varies with time
+PowerLinesFreqVar: 0.02
+# Time over which to average the transfer function between the power mains witness channel and h(t) at 60 Hz and harmonics
+PowerLinesTFAveragingTime: 128
+#######################################
+# Options for broadband noise removal #
+#######################################
+# The length in seconds of the fast Fourier transforms used to compute transfer functions between witness channels and h(t). The fft's are windowed with Hann windows and overlapped.
+WitnessChannelFFTTime: 4.0
+# The number of ffts to take before averaging the witness -> h(t) transfer functions calculation. The average is taken after the ratio h(f) / witness(f).
+NumWitnessFFTs: 509
+# Sets the minimum number of FFTs necessary to produce the first transfer functions and clean data after data flow starts.
+MinWitnessFFTs: 200
+# The length in seconds of the filters applied to the witness channels before subtracting from h(t)
+WitnessFIRLength: 1.0
+# The frequency resolution of the filters applied to the witness channels before subtracting from h(t). It can be advantageous to lower the frequency resolution in order to average over excess noise.
+WitnessFrequencyResolution: 0.5
+# List of minima and maxima of frequency ranges where the Fourier transform of h(t) will be replaced by a straight line in the calculation of transfer functions between witness channels and h(t) for noise subtraction. Semicolons separate lists for different sets of witness channels. If no notches are desired, use zeros, e.g., \'0;0;0\'. Here is an example using the expected format: \'495.0,515.0,985.0,1015.0;59,60,119,121;0\' This can be useful, e.g., if there are loud lines in the signal that are not present in the witness channels.
+WitnessNotchFrequencies: 12.0,15.0,485.0,515.0,985.0,1015.0;0
+# Cutoff frequencies for high-pass filters for witness channels
+WitnessHighPasses: 12;10
+# The amount of time after transfer functions between witness channels and h(t) are finished to begin the calculation of the next set of transfer functions
+WitnessTFUpdateTime: 4
+# If lock-loss lasts at least this many seconds, transfer functions will revert to those computed at the beginning of a lock stretch. Set to zero to disbale.
+CriticalLockLossTime: 1800
+# The amount of time to use to taper in newly computed FIR filters for witness channels being used for noise subtraction.
+WitnessFilterTaperTime: 2
+# If writing transfer functions to file, this sets the name. If transfer functions should not be written to file, this should be set to None
+WitnessTFFilename: None
+# Should the transfer function calculation use a median? If not, an average (mean) is used.
+WitnessTFUseMedian: Yes
+# Should transfer functions be computed on a fixed schedule, so that the output does not depend on start time?  This is useful for running jobs in parallel.  Otherwise, they are computed asap.
+WitnessTFParallelMode: No
+# When using parallel mode, how many seconds later should we shift the time when transfer functions start being computed from a multiple of the cycle period?
+WitnessTFTimeShift: 360
+###############################
+# Options for HOFT_CLEAN bits #
+###############################
+# The amount of data from h(t) and cleaned h(t) that is used to compute and compare the rms. This comparison between cleaned and uncleaned h(t) determines whether the HOFT_CLEAN bits of the calibration state vector are on or off.
+CleaningCheckRMSTime: 20.0
+# Minimum of a range of frequencies in which we expect line/noise subtraction to be impactful. The HOFT_CLEAN_LOWFREQ_OK bit of the calibration state vector is determined based on whether rms of the cleaned data is less than that of uncleaned h(t) in this range.
+CleaningCheckRangeLowMin: 15
+# Maximum of a range of frequencies in which we expect line/noise subtraction to be impactful. The HOFT_CLEAN_LOWFREQ_OK bit of the calibration state vector is determined based on whether rms of the cleaned data is less than that of uncleaned h(t) in this range.
+CleaningCheckRangeLowMax: 40
+# Minimum of a range of frequencies in which we expect line/noise subtraction to be impactful. The HOFT_CLEAN_MIDFREQ_OK bit of the calibration state vector is determined based on whether rms of the cleaned data is less than that of uncleaned h(t) in this range.
+CleaningCheckRangeMidMin: 100
+# Maximum of a range of frequencies in which we expect line/noise subtraction to be impactful. The HOFT_CLEAN_MIDFREQ_OK bit of the calibration state vector is determined based on whether rms of the cleaned data is less than that of uncleaned h(t) in this range.
+CleaningCheckRangeMidMax: 500
diff --git a/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Filters/O3/GDSFilters/.svn/pristine/cf/cf61e4c43c11c67dd1c4ba5a1b09eef6b129d928.svn-base b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Filters/O3/GDSFilters/.svn/pristine/cf/cf61e4c43c11c67dd1c4ba5a1b09eef6b129d928.svn-base
new file mode 100644
index 0000000000000000000000000000000000000000..794f68d1759c28abc08b467a304bddef3ed20436
Binary files /dev/null and b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Filters/O3/GDSFilters/.svn/pristine/cf/cf61e4c43c11c67dd1c4ba5a1b09eef6b129d928.svn-base differ
diff --git a/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Filters/O3/GDSFilters/.svn/pristine/ed/ede958946b7d0d8a56bcd0219cf5cc201e306e10.svn-base b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Filters/O3/GDSFilters/.svn/pristine/ed/ede958946b7d0d8a56bcd0219cf5cc201e306e10.svn-base
new file mode 100644
index 0000000000000000000000000000000000000000..6bda1f5e90d61455e03b5a55f857056510a44e9b
--- /dev/null
+++ b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Filters/O3/GDSFilters/.svn/pristine/ed/ede958946b7d0d8a56bcd0219cf5cc201e306e10.svn-base
@@ -0,0 +1,389 @@
+[InputConfigurations]
+# Track what "version" of config file this is, so that the pipeline knows which options are present in this file
+ConfigVersion: 1
+# Filters file containing calibration FIR filters
+FiltersFileName: /home/calibration/svncommon/CalSVN/O3/GDSFilters/L1GDS_TEST_1231616859.npz
+# Data source should be set to frames or lvshm
+DataSource: lvshm
+FileChecksum: No
+# Right now, SkipBadFiles needs to be off when reading from frames
+SkipBadFiles: No
+############################################
+# If reading from frames use these options #
+############################################
+# None
+
+###################################################
+# If reading from shared memory use these options #
+###################################################
+SHMPartition: LLO_Online
+# Assumed duration of input frames in seconds
+InputFrameDuration: 1
+
+[OutputConfigurations]
+CompressionScheme: 6
+CompressionLevel: 3
+ChanPrefix: GDS-
+# Set to "None" if you do not want a channel suffix
+ChanSuffix: _TEST
+# Data sink should be set to frames or lvshm
+DataSink: lvshm
+#################################################
+# If writing to shared memory use these options #
+#################################################
+OutputSHMPartition: LLO_hoft
+BufferMode: 2
+# Use this to approximate the frame size (in bytes) when writing to shared memory
+FrameSize: 405338
+NumBuffers: 10
+###############################################
+# If writing to frame files use these options #
+###############################################
+FrameType: L1GDS_TEST
+
+[CalibrationConfigurations]
+IFO: L1
+# Set calibration mode to Full or Partial
+CalibrationMode: Partial
+ComputeCalibStateVector: Yes
+
+[DebuggingConfigurations]
+# If you want to write a pipeline graph, provide the graph name.  Otherwise, set name equal to None
+PipelineGraphFilename: None
+Verbose: No
+# Turn this on to write data presentation timestamps and real-time unix timestamps to file at the beginning and end of the pipeline, to measure latency
+TestLatency: No
+
+[TDCFConfigurations]
+#########################################################
+# Options related to time dependent correction  factors #
+#########################################################
+ComputeKappaTST: Yes
+ApplyKappaTST: No
+# Set this to have the \kappa_tst factors filter the actuation chain with an adaptive filter that corrects for both magnitude and phase errors.
+ApplyComplexKappaTST: No
+
+ComputeKappaPU: No
+ApplyKappaPU: No
+# Set this to have the \kappa_pu factors the actuation chain with an adaptive filter that corrects for both magnitude and phase errors
+ApplyComplexKappaPU: No
+
+ComputeKappaPUM: Yes
+ApplyKappaPUM: No
+# Set this to have the \kappa_p factors the actuation chain with an adaptive filter that corrects for both magnitude and phase errors.
+ApplyComplexKappaPUM: No
+
+ComputeKappaUIM: Yes
+ApplyKappaUIM: No
+# Set this to have the \kappa_u factors the actuation chain with an adaptive filter that corrects for both magnitude and phase errors.
+ApplyComplexKappaUIM: No
+
+ComputeKappaC: Yes
+ApplyKappaC: No
+
+ComputeFcc: Yes
+ApplyFcc: No
+
+ComputeSRCQ: No
+ApplySRCQ: No
+
+ComputeFs: No
+ApplyFs: No
+
+###########################################
+# Options related to the coherence gating #
+###########################################
+UseCoherence: Yes
+CoherenceUncThreshold: 0.02
+# Amount of time used in front-end to compute coherence
+CoherenceTime: 130
+###################################################################
+# Options related to the computation configurations for the TDCFs #
+###################################################################
+ComputeFactorsSR: 16
+RecordFactorsSR: 16
+# Length in seconds of low-pass FIR filter used in demodulation of the calibration lines
+DemodulationFilterTime: 20
+# Time (in seconds) to smooth out \kappas with a median-like method
+MedianSmoothingTime: 128
+TDCFAveragingTime: 10
+#If set to yes, bad computed kappas will be replaced by the previous computed median in the running median array. Otherwise, they are replaced with the default value
+TDCFDefaultToMedian: Yes
+# If using X-end Pcal, we need a minus sign, so set this to -1.0
+PcalSign: 1.0
+##################################################
+# Options related to updating cavity pole filter #
+##################################################
+# Duration of the Fcc filter in the time domain in seconds
+FccFilterDuration: 0.01
+# Number of seconds to average Fcc values before creating a new Fcc filter
+FccAveragingTime: 60 
+# Number of samples to be used when tapering old filter and ramping in new filter
+FccFilterTaperLength: 32768
+############################
+# Nominal values for TDCFs #
+############################
+ExpectedKappaTSTReal: 1.0
+ExpectedKappaTSTImag: 0.0
+ExpectedKappaPUMReal: 1.0
+ExpectedKappaPUMImag: 0.0
+ExpectedKappaUIMReal: 1.0
+ExpectedKappaUIMImag: 0.0
+ExpectedKappaPUReal: 1.0
+ExpectedKappaPUImag: 0.0
+ExpectedKappaC: 1.0
+# FIXME: Check if the code uses these if they're read in from the filers file
+ExpectedFcc: 445.0
+ExpectedFs: 0.35
+ExpectedSRCQ: 10
+################################
+# Acceptable variance in TDCFs #
+################################
+KappaTSTRealVar: 0.2
+KappaTSTImagVar: 0.2
+KappaPURealVar: 0.2
+KappaPUImagVar: 0.2
+KappaPUMRealVar: 0.2
+KappaPUMImagVar: 0.2
+KappaUIMRealVar: 0.2
+KappaUIMImagVar: 0.2
+KappaCVar: 0.2
+FccVar: 50.0
+FsVar: 5.0
+SRCQInvMin: 0.0
+SRCQInvMax: 0.5
+#######################
+# EPICS records input #
+#######################
+# Set to Yes if EPICS records for TDCF computations should be read from filters file.  If set to No, they will be read from frames
+FactorsFromFiltersFile: No
+##############################################################################################
+# Updating Sensing and Actuation filters with all frequency-dependent corrections parameters #
+##############################################################################################
+# Length of time (in seconds) between when inverse-sensing FIR filter is updated
+SensingFilterUpdateTime: 64
+# Length of time (in seconds) over which the smoothed time-dependent parameters of the sensing function are averaged before updating the filter
+SensingFilterAveragingTime: 1
+# Number of samples to be used when tapering old inverse sensing filter and ramping in new filter
+SensingFilterTaperLength: 32768
+# Length of time (in seconds) between when the actuation FIR filters are updated
+ActuationFilterUpdateTime: 64
+# Length of time (in seconds) over which the smoothed time-dependent parameters of the actuation function are averaged before updating the filter
+ActuationFilterAveragingTime: 1
+# Number of samples to be used when tapering old actuation filters and ramping in new filters
+ActuationFilterTaperLength: 32768
+
+[ChannelNames]
+#############################
+# Calibration Channel Names #
+#############################
+DARMCtrlChannel: CAL-DARM_CTRL_DBL_DQ
+DARMErrChannel: CAL-DARM_ERR_DBL_DQ
+DeltaLTSTChannel: CAL-DELTAL_CTRL_TST_DBL_DQ
+DeltaLPUMChannel: CAL-DELTAL_CTRL_PUM_DBL_DQ
+DeltaLUIMChannel: CAL-DELTAL_CTRL_UIM_DBL_DQ
+DeltaLResChannel: CAL-DELTAL_RESIDUAL_DBL_DQ
+####################################
+# Data Quality Vector Channel Name #
+####################################
+InputDQChannel: ODC-MASTER_CHANNEL_OUT_DQ
+##################################
+# Calibration Line Channel Names #
+##################################
+DARMExcChannel: CAL-CS_LINE_SUM_DQ
+TSTExcChannel: SUS-ETMY_L3_CAL_LINE_OUT_DQ
+PUMExcChannel: SUS-ETMY_L2_CAL_LINE_OUT_DQ 
+UIMExcChannel: SUS-ETMY_L1_CAL_LINE_OUT_DQ
+PCALChannel: CAL-PCALY_TX_PD_OUT_DQ
+############################################
+# Calibraiton Line Frequency Channel Names #
+############################################
+DARMExcLineFreqChannel: None
+TSTExcLineFreqChannel: SUS-ETMY_L3_CAL_LINE_FREQ
+PUMExcLineFreqChannel: SUS-ETMY_L2_CAL_LINE_FREQ
+UIMExcLineFreqChannel: SUS-ETMY_L1_CAL_LINE_FREQ
+PCALLine1FreqChannel: None
+PCALLine2FreqChannel: CAL-CS_TDEP_CAVITY_POLE_PCAL_FREQ
+PCALLine3FreqChannel: None
+PCALLine4FreqChannel: CAL-CS_TDEP_D2N_SPRING_PCAL_FREQ
+# Coherence Uncertainty Channel Names #
+#######################################
+CohUncSusLine1Channel: CAL-CS_TDEP_SUS_LINE1_UNCERTAINTY
+CohUncSusLine2Channel: CAL-CS_TDEP_SUS_LINE2_UNCERTAINTY
+CohUncSusLine3Channel: CAL-CS_TDEP_SUS_LINE3_UNCERTAINTY
+CohUncPcalyLine1Channel: CAL-CS_TDEP_PCAL_LINE1_UNCERTAINTY
+CohUncPcalyLine2Channel: CAL-CS_TDEP_PCAL_LINE2_UNCERTAINTY
+CohUncPcalyLine4Channel: CAL-CS_TDEP_PCAL_LINE4_UNCERTAINTY
+CohUncDARMLine1Channel: CAL-CS_TDEP_DARM_LINE1_UNCERTAINTY
+###################################
+# Noise Subtraction Channel Names #
+###################################
+PowerLinesChannel: PEM-EY_MAINSMON_EBAY_1_DQ
+# Comma-separated list of witness channels to use to subtract noise from h(t)
+# Set to None if no witness channels are to be used
+#WitnessChannelList: IMC-WFS_A_DC_PIT_OUT_DQ,IMC-WFS_B_DC_PIT_OUT_DQ,IMC-WFS_A_DC_YAW_OUT_DQ,IMC-WFS_B_DC_YAW_OUT_DQ,PSL-DIAG_BULLSEYE_YAW_OUT_DQ,PSL-DIAG_BULLSEYE_WID_OUT_DQ,PSL-DIAG_BULLSEYE_PIT_OUT_DQ;ASC-DHARD_P_OUT_DQ,ASC-DHARD_Y_OUT_DQ,ASC-CHARD_P_OUT_DQ,ASC-CHARD_Y_OUT_DQ,LSC-SRCL_IN1_DQ,LSC-MICH_IN1_DQ,LSC-PRCL_IN1_DQ
+WitnessChannelList: None
+#IMC-WFS_A_DC_PIT_OUT_DQ,IMC-WFS_B_DC_PIT_OUT_DQ,IMC-WFS_A_DC_YAW_OUT_DQ,IMC-WFS_B_DC_YAW_OUT_DQ;PSL-DIAG_BULLSEYE_YAW_OUT_DQ,PSL-DIAG_BULLSEYE_WID_OUT_DQ,PSL-DIAG_BULLSEYE_PIT_OUT_DQ;ASC-DHARD_P_OUT_DQ,ASC-DHARD_Y_OUT_DQ,ASC-CHARD_P_OUT_DQ,ASC-CHARD_Y_OUT_DQ;LSC-SRCL_IN1_DQ,LSC-MICH_IN1_DQ,LSC-PRCL_IN1_DQ
+# What channel should we use to gate the noise subtraction and 60-Hz line subtraction
+NoiseSubGateChannel: ODC-MASTER_CHANNEL_OUT_DQ
+###############################
+# EPICS Records Channel Names #
+###############################
+EP1RealChannel: CAL-CS_TDEP_SUS_LINE3_REF_INVA_TST_RESPRATIO_REAL
+EP1ImagChannel: CAL-CS_TDEP_SUS_LINE3_REF_INVA_TST_RESPRATIO_IMAG
+EP2RealChannel: CAL-CS_TDEP_REF_CLGRATIO_CTRL_REAL
+EP2ImagChannel: CAL-CS_TDEP_REF_CLGRATIO_CTRL_IMAG
+EP3RealChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_USUM_INV_REAL
+EP3ImagChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_USUM_INV_IMAG
+EP4RealChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_TST_REAL
+EP4ImagChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_TST_IMAG
+EP5RealChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_USUM_REAL
+EP5ImagChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_USUM_IMAG
+EP6RealChannel: CAL-CS_TDEP_PCAL_LINE2_REF_C_NOCAVPOLE_REAL
+EP6ImagChannel: CAL-CS_TDEP_PCAL_LINE2_REF_C_NOCAVPOLE_IMAG
+EP7RealChannel: CAL-CS_TDEP_PCAL_LINE2_REF_D_REAL
+EP7ImagChannel: CAL-CS_TDEP_PCAL_LINE2_REF_D_IMAG
+EP8RealChannel: CAL-CS_TDEP_PCAL_LINE2_REF_A_TST_REAL
+EP8Imagchannel: CAL-CS_TDEP_PCAL_LINE2_REF_A_TST_IMAG
+EP9RealChannel: CAL-CS_TDEP_PCALY_LINE2_REF_A_USUM_REAL
+EP9ImagChannel: CAL-CS_TDEP_PCALY_LINE2_REF_A_USUM_IMAG
+EP10RealChannel: CAL-CS_TDEP_SUS_LINE3_REF_A_TST_NOLOCK_REAL
+EP10ImagChannel: CAL-CS_TDEP_SUS_LINE3_REF_A_TST_NOLOCK_IMAG
+EP11RealChannel: CAL-CS_TDEP_PCAL_LINE4_REF_C_NOCAVPOLE_REAL
+EP11ImagChannel: CAL-CS_TDEP_PCAL_LINE4_REF_C_NOCAVPOLE_IMAG
+EP12RealChannel: CAL-CS_TDEP_PCAL_LINE4_REF_D_REAL
+EP12ImagChannel: CAL-CS_TDEP_PCAL_LINE4_REF_D_IMAG
+EP13RealChannel: CAL-CS_TDEP_PCAL_LINE4_REF_A_TST_REAL
+EP13ImagChannel: CAL-CS_TDEP_PCAL_LINE4_REF_A_TST_IMAG
+EP14RealChannel: CAL-CS_TDEP_PCALY_LINE4_REF_A_USUM_REAL
+EP14ImagChannel: CAL-CS_TDEP_PCALY_LINE4_REF_A_USUM_IMAG
+EP15RealChannel: CAL-CS_TDEP_SUS_LINE2_REF_INVA_PUM_RESPRATIO_REAL
+EP15Imagchannel: CAL-CS_TDEP_SUS_LINE2_REF_INVA_PUM_RESPRATIO_IMAG
+EP16RealChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_UIM_INV_REAL
+EP16ImagChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_UIM_INV_IMAG
+EP17RealChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_PUM_REAL
+EP17ImagChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_PUM_IMAG
+EP18RealChannel: CAL-CS_TDEP_PCAL_LINE2_REF_A_PUM_REAL
+EP18ImagChannel: CAL-CS_TDEP_PCAL_LINE2_REF_A_PUM_IMAG
+EP19RealChannel: CAL-CS_TDEP_PCAL_LINE2_REF_A_UIM_REAL
+EP19ImagChannel: CAL-CS_TDEP_PCAL_LINE2_REF_A_UIM_IMAG
+EP20RealChannel: CAL-CS_TDEP_PCAL_LINE4_REF_A_PUM_REAL
+EP20ImagChannel: CAL-CS_TDEP_PCAL_LINE4_REF_A_PUM_IMAG
+EP21RealChannel: CAL-CS_TDEP_PCAL_LINE4_REF_A_UIM_REAL
+EP21ImagChannel: CAL-CS_TDEP_PCAL_LINE4_REF_A_UIM_IMAG
+EP22RealChannel: CAL-CS_TDEP_SUS_LINE1_REF_INVA_UIM_RESPRATIO_REAL
+EP22ImagChannel: CAL-CS_TDEP_SUS_LINE1_REF_INVA_UIM_RESPRATIO_IMAG
+EP23RealChannel: CAL-CS_TDEP_SUS_LINE2_REF_A_PUM_NOLOCK_REAL
+EP23ImagChannel: CAL-CS_TDEP_SUS_LINE2_REF_A_PUM_NOLOCK_IMAG
+EP24RealChannel: CAL-CS_TDEP_SUS_LINE1_REF_A_UIM_NOLOCK_REAL
+EP24ImagChannel: CAL-CS_TDEP_SUS_LINE1_REF_A_UIM_NOLOCK_IMAG
+
+[SampleRates]
+# Sample rate at which to compute h(t)
+HoftSR: 16384
+# Sample rate at which to compute CALIB_STATE_VECTOR
+CalibStateSR: 16
+# Sample rate of control channel
+# Should be 16384 if using DARM_CTRL and 4096 if using DELTAL_CTRL 
+CtrlSR: 4096
+# Sample rate of ODC channel
+ODCSR: 16384
+# Sample rate of TST excitation channel
+TSTExcSR: 512
+# Sample rate of PUM excitation channel
+PUMExcSR: 512
+# Sample rate of UIM excitation channel
+UIMExcSR: 512
+# Sample rate of coherence channels
+CohSR: 16
+# Sample rate for the EPICS reference channels
+EPICSRefSR: 16
+# Sample rate for power lines channel
+PowerLinesChannelSR: 1024
+# Sample rates at which transfer functions will be computed and witness channels will be filtered, given as a semicolon-separated list, e.g., 2048;2048;512;2048. This must be given if WitnessChannelList is not None, and it must be the same length.
+WitnessChannelSR: 2048;512
+# Sample rates at which to compute and record TDCFs
+ComputeFactorsSR: 16
+RecordFactorsSR: 16
+
+[Bitmasks]
+ObsReadyBitmask: 2
+ObsIntentBitmask: 2
+CBCHWInjBitmask: 16777216
+BurstHWInjBitmask: 33554432
+DetCharHWInjBitmask: 67108864
+StochHWInjBitmask: 8388608
+NoiseSubGateBitmask: 4
+
+[PipelineConfigurations]
+BufferLength: 1.0
+FrequencyDomainFiltering: No
+Dewhitening: No
+# Latency of all filtering/averaging/median processes (other than calibration model filters) as a fraction of filter length. Value should be set between 0.0 and 1.0.
+FilterLatency: 0.0
+
+[DataCleaningConfigurations]
+####################################################
+# Options for turning on and off noise subtraction #
+####################################################
+# Remove the DC component from the residual and control channels before filtering
+RemoveDC: No
+# Subtract the calibration lines from the h(t) spectrum
+RemoveCalLines: Yes
+# Subtract the power lines from the h(t) spectrum
+RemovePowerLines: Yes
+###################################################
+# Options for runing power mains line subtraction #
+###################################################
+PowerLinesTFMedianTime: 1
+#########################################
+# Options for running noise subtraction #
+#########################################
+# Amount by which frequency of power lines varies with time
+PowerLinesFreqVar: 0.02
+# Time over which to average the transfer function between the power mains witness channel and h(t) at 60 Hz and harmonics
+PowerLinesTFAveragingTime: 128
+#######################################
+# Options for broadband noise removal #
+#######################################
+# The length in seconds of the fast Fourier transforms used to compute transfer functions between witness channels and h(t). The fft's are windowed with Hann windows and overlapped.
+WitnessChannelFFTTime: 4.0
+# The number of ffts to take before averaging the witness -> h(t) transfer functions calculation. The average is taken after the ratio h(f) / witness(f).
+NumWitnessFFTs: 509
+# Sets the minimum number of FFTs necessary to produce the first transfer functions and clean data after data flow starts.
+MinWitnessFFTs: 200
+# The length in seconds of the filters applied to the witness channels before subtracting from h(t)
+WitnessFIRLength: 1.0
+# The frequency resolution of the filters applied to the witness channels before subtracting from h(t). It can be advantageous to lower the frequency resolution in order to average over excess noise.
+WitnessFrequencyResolution: 0.5
+# List of minima and maxima of frequency ranges where the Fourier transform of h(t) will be replaced by a straight line in the calculation of transfer functions between witness channels and h(t) for noise subtraction. Semicolons separate lists for different sets of witness channels. If no notches are desired, use zeros, e.g., \'0;0;0\'. Here is an example using the expected format: \'495.0,515.0,985.0,1015.0;59,60,119,121;0\' This can be useful, e.g., if there are loud lines in the signal that are not present in the witness channels.
+WitnessNotchFrequencies: 12.0,15.0,485.0,515.0,985.0,1015.0;0
+# Cutoff frequencies for high-pass filters for witness channels
+WitnessHighPasses: 12;10
+# The amount of time after transfer functions between witness channels and h(t) are finished to begin the calculation of the next set of transfer functions
+WitnessTFUpdateTime: 4
+# If lock-loss lasts at least this many seconds, transfer functions will revert to those computed at the beginning of a lock stretch. Set to zero to disbale.
+CriticalLockLossTime: 1800
+# The amount of time to use to taper in newly computed FIR filters for witness channels being used for noise subtraction.
+WitnessFilterTaperTime: 2
+# If writing transfer functions to file, this sets the name. If transfer functions should not be written to file, this should be set to None
+WitnessTFFilename: None
+# Should the transfer function calculation use a median? If not, an average (mean) is used.
+WitnessTFUseMedian: Yes
+# Should transfer functions be computed on a fixed schedule, so that the output does not depend on start time?  This is useful for running jobs in parallel.  Otherwise, they are computed asap.
+WitnessTFParallelMode: No
+# When using parallel mode, how many seconds later should we shift the time when transfer functions start being computed from a multiple of the cycle period?
+WitnessTFTimeShift: 360
+###############################
+# Options for HOFT_CLEAN bits #
+###############################
+# The amount of data from h(t) and cleaned h(t) that is used to compute and compare the rms. This comparison between cleaned and uncleaned h(t) determines whether the HOFT_CLEAN bits of the calibration state vector are on or off.
+CleaningCheckRMSTime: 20.0
+# Minimum of a range of frequencies in which we expect line/noise subtraction to be impactful. The HOFT_CLEAN_LOWFREQ_OK bit of the calibration state vector is determined based on whether rms of the cleaned data is less than that of uncleaned h(t) in this range.
+CleaningCheckRangeLowMin: 15
+# Maximum of a range of frequencies in which we expect line/noise subtraction to be impactful. The HOFT_CLEAN_LOWFREQ_OK bit of the calibration state vector is determined based on whether rms of the cleaned data is less than that of uncleaned h(t) in this range.
+CleaningCheckRangeLowMax: 40
+# Minimum of a range of frequencies in which we expect line/noise subtraction to be impactful. The HOFT_CLEAN_MIDFREQ_OK bit of the calibration state vector is determined based on whether rms of the cleaned data is less than that of uncleaned h(t) in this range.
+CleaningCheckRangeMidMin: 100
+# Maximum of a range of frequencies in which we expect line/noise subtraction to be impactful. The HOFT_CLEAN_MIDFREQ_OK bit of the calibration state vector is determined based on whether rms of the cleaned data is less than that of uncleaned h(t) in this range.
+CleaningCheckRangeMidMax: 500
diff --git a/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Filters/O3/GDSFilters/.svn/pristine/f8/f8752304390e946bb5ac59f8a4c213e2eeb76deb.svn-base b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Filters/O3/GDSFilters/.svn/pristine/f8/f8752304390e946bb5ac59f8a4c213e2eeb76deb.svn-base
new file mode 100644
index 0000000000000000000000000000000000000000..b82443675abdb91fed3f43b5ee9ee8ca003d1c69
Binary files /dev/null and b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Filters/O3/GDSFilters/.svn/pristine/f8/f8752304390e946bb5ac59f8a4c213e2eeb76deb.svn-base differ
diff --git a/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Filters/O3/GDSFilters/.svn/wc.db b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Filters/O3/GDSFilters/.svn/wc.db
new file mode 100644
index 0000000000000000000000000000000000000000..2df43ceda56806a789fe3e02935a231a97c9e8f7
Binary files /dev/null and b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Filters/O3/GDSFilters/.svn/wc.db differ
diff --git a/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Filters/O3/GDSFilters/L1GDS_1231616859.ini b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Filters/O3/GDSFilters/L1GDS_1231616859.ini
new file mode 100644
index 0000000000000000000000000000000000000000..646b34efa4852d40a0cdbd9c1134f9aa1a3e3d03
--- /dev/null
+++ b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Filters/O3/GDSFilters/L1GDS_1231616859.ini
@@ -0,0 +1,389 @@
+[InputConfigurations]
+# Track what "version" of config file this is, so that the pipeline knows which options are present in this file
+ConfigVersion: 1
+# Filters file containing calibration FIR filters
+FiltersFileName: /home/calibration/svncommon/CalSVN/O3/GDSFilters/L1GDS_1231616859.npz
+# Data source should be set to frames or lvshm
+DataSource: lvshm
+FileChecksum: No
+# Right now, SkipBadFiles needs to be off when reading from frames
+SkipBadFiles: No
+############################################
+# If reading from frames use these options #
+############################################
+# None
+
+###################################################
+# If reading from shared memory use these options #
+###################################################
+SHMPartition: LLO_Online
+# Assumed duration of input frames in seconds
+InputFrameDuration: 1
+
+[OutputConfigurations]
+CompressionScheme: 6
+CompressionLevel: 3
+ChanPrefix: GDS-
+# Set to "None" if you do not want a channel suffix
+ChanSuffix: None
+# Data sink should be set to frames or lvshm
+DataSink: lvshm
+#################################################
+# If writing to shared memory use these options #
+#################################################
+OutputSHMPartition: LLO_hoft
+BufferMode: 2
+# Use this to approximate the frame size (in bytes) when writing to shared memory
+FrameSize: 405338
+NumBuffers: 10
+###############################################
+# If writing to frame files use these options #
+###############################################
+FrameType: L1_HOFT_C00
+
+[CalibrationConfigurations]
+IFO: L1
+# Set calibration mode to Full or Partial
+CalibrationMode: Partial
+ComputeCalibStateVector: Yes
+
+[DebuggingConfigurations]
+# If you want to write a pipeline graph, provide the graph name.  Otherwise, set name equal to None
+PipelineGraphFilename: None
+Verbose: No
+# Turn this on to write data presentation timestamps and real-time unix timestamps to file at the beginning and end of the pipeline, to measure latency
+TestLatency: No
+
+[TDCFConfigurations]
+#########################################################
+# Options related to time dependent correction  factors #
+#########################################################
+ComputeKappaTST: Yes
+ApplyKappaTST: No
+# Set this to have the \kappa_tst factors filter the actuation chain with an adaptive filter that corrects for both magnitude and phase errors.
+ApplyComplexKappaTST: No
+
+ComputeKappaPU: No
+ApplyKappaPU: No
+# Set this to have the \kappa_pu factors the actuation chain with an adaptive filter that corrects for both magnitude and phase errors
+ApplyComplexKappaPU: No
+
+ComputeKappaPUM: Yes
+ApplyKappaPUM: No
+# Set this to have the \kappa_p factors the actuation chain with an adaptive filter that corrects for both magnitude and phase errors.
+ApplyComplexKappaPUM: No
+
+ComputeKappaUIM: Yes
+ApplyKappaUIM: No
+# Set this to have the \kappa_u factors the actuation chain with an adaptive filter that corrects for both magnitude and phase errors.
+ApplyComplexKappaUIM: No
+
+ComputeKappaC: Yes
+ApplyKappaC: No
+
+ComputeFcc: Yes
+ApplyFcc: No
+
+ComputeSRCQ: No
+ApplySRCQ: No
+
+ComputeFs: No
+ApplyFs: No
+
+###########################################
+# Options related to the coherence gating #
+###########################################
+UseCoherence: Yes
+CoherenceUncThreshold: 0.02
+# Amount of time used in front-end to compute coherence
+CoherenceTime: 130
+###################################################################
+# Options related to the computation configurations for the TDCFs #
+###################################################################
+ComputeFactorsSR: 16
+RecordFactorsSR: 16
+# Length in seconds of low-pass FIR filter used in demodulation of the calibration lines
+DemodulationFilterTime: 20
+# Time (in seconds) to smooth out \kappas with a median-like method
+MedianSmoothingTime: 128
+TDCFAveragingTime: 10
+#If set to yes, bad computed kappas will be replaced by the previous computed median in the running median array. Otherwise, they are replaced with the default value
+TDCFDefaultToMedian: Yes
+# If using X-end Pcal, we need a minus sign, so set this to -1.0
+PcalSign: 1.0
+##################################################
+# Options related to updating cavity pole filter #
+##################################################
+# Duration of the Fcc filter in the time domain in seconds
+FccFilterDuration: 0.01
+# Number of seconds to average Fcc values before creating a new Fcc filter
+FccAveragingTime: 60 
+# Number of samples to be used when tapering old filter and ramping in new filter
+FccFilterTaperLength: 32768
+############################
+# Nominal values for TDCFs #
+############################
+ExpectedKappaTSTReal: 1.0
+ExpectedKappaTSTImag: 0.0
+ExpectedKappaPUMReal: 1.0
+ExpectedKappaPUMImag: 0.0
+ExpectedKappaUIMReal: 1.0
+ExpectedKappaUIMImag: 0.0
+ExpectedKappaPUReal: 1.0
+ExpectedKappaPUImag: 0.0
+ExpectedKappaC: 1.0
+# FIXME: Check if the code uses these if they're read in from the filers file
+ExpectedFcc: 445.0
+ExpectedFs: 0.35
+ExpectedSRCQ: 10
+################################
+# Acceptable variance in TDCFs #
+################################
+KappaTSTRealVar: 0.2
+KappaTSTImagVar: 0.2
+KappaPURealVar: 0.2
+KappaPUImagVar: 0.2
+KappaPUMRealVar: 0.2
+KappaPUMImagVar: 0.2
+KappaUIMRealVar: 0.2
+KappaUIMImagVar: 0.2
+KappaCVar: 0.2
+FccVar: 50.0
+FsVar: 5.0
+SRCQInvMin: 0.0
+SRCQInvMax: 0.5
+#######################
+# EPICS records input #
+#######################
+# Set to Yes if EPICS records for TDCF computations should be read from filters file.  If set to No, they will be read from frames
+FactorsFromFiltersFile: No
+##############################################################################################
+# Updating Sensing and Actuation filters with all frequency-dependent corrections parameters #
+##############################################################################################
+# Length of time (in seconds) between when inverse-sensing FIR filter is updated
+SensingFilterUpdateTime: 64
+# Length of time (in seconds) over which the smoothed time-dependent parameters of the sensing function are averaged before updating the filter
+SensingFilterAveragingTime: 1
+# Number of samples to be used when tapering old inverse sensing filter and ramping in new filter
+SensingFilterTaperLength: 32768
+# Length of time (in seconds) between when the actuation FIR filters are updated
+ActuationFilterUpdateTime: 64
+# Length of time (in seconds) over which the smoothed time-dependent parameters of the actuation function are averaged before updating the filter
+ActuationFilterAveragingTime: 1
+# Number of samples to be used when tapering old actuation filters and ramping in new filters
+ActuationFilterTaperLength: 32768
+
+[ChannelNames]
+#############################
+# Calibration Channel Names #
+#############################
+DARMCtrlChannel: CAL-DARM_CTRL_DBL_DQ
+DARMErrChannel: CAL-DARM_ERR_DBL_DQ
+DeltaLTSTChannel: CAL-DELTAL_CTRL_TST_DBL_DQ
+DeltaLPUMChannel: CAL-DELTAL_CTRL_PUM_DBL_DQ
+DeltaLUIMChannel: CAL-DELTAL_CTRL_UIM_DBL_DQ
+DeltaLResChannel: CAL-DELTAL_RESIDUAL_DBL_DQ
+####################################
+# Data Quality Vector Channel Name #
+####################################
+InputDQChannel: ODC-MASTER_CHANNEL_OUT_DQ
+##################################
+# Calibration Line Channel Names #
+##################################
+DARMExcChannel: CAL-CS_LINE_SUM_DQ
+TSTExcChannel: SUS-ETMY_L3_CAL_LINE_OUT_DQ
+PUMExcChannel: SUS-ETMY_L2_CAL_LINE_OUT_DQ 
+UIMExcChannel: SUS-ETMY_L1_CAL_LINE_OUT_DQ
+PCALChannel: CAL-PCALY_TX_PD_OUT_DQ
+############################################
+# Calibraiton Line Frequency Channel Names #
+############################################
+DARMExcLineFreqChannel: None
+TSTExcLineFreqChannel: SUS-ETMY_L3_CAL_LINE_FREQ
+PUMExcLineFreqChannel: SUS-ETMY_L2_CAL_LINE_FREQ
+UIMExcLineFreqChannel: SUS-ETMY_L1_CAL_LINE_FREQ
+PCALLine1FreqChannel: None
+PCALLine2FreqChannel: CAL-CS_TDEP_CAVITY_POLE_PCAL_FREQ
+PCALLine3FreqChannel: None
+PCALLine4FreqChannel: CAL-CS_TDEP_D2N_SPRING_PCAL_FREQ
+# Coherence Uncertainty Channel Names #
+#######################################
+CohUncSusLine1Channel: CAL-CS_TDEP_SUS_LINE1_UNCERTAINTY
+CohUncSusLine2Channel: CAL-CS_TDEP_SUS_LINE2_UNCERTAINTY
+CohUncSusLine3Channel: CAL-CS_TDEP_SUS_LINE3_UNCERTAINTY
+CohUncPcalyLine1Channel: CAL-CS_TDEP_PCAL_LINE1_UNCERTAINTY
+CohUncPcalyLine2Channel: CAL-CS_TDEP_PCAL_LINE2_UNCERTAINTY
+CohUncPcalyLine4Channel: CAL-CS_TDEP_PCAL_LINE4_UNCERTAINTY
+CohUncDARMLine1Channel: CAL-CS_TDEP_DARM_LINE1_UNCERTAINTY
+###################################
+# Noise Subtraction Channel Names #
+###################################
+PowerLinesChannel: PEM-EY_MAINSMON_EBAY_1_DQ
+# Comma-separated list of witness channels to use to subtract noise from h(t)
+# Set to None if no witness channels are to be used
+#WitnessChannelList: IMC-WFS_A_DC_PIT_OUT_DQ,IMC-WFS_B_DC_PIT_OUT_DQ,IMC-WFS_A_DC_YAW_OUT_DQ,IMC-WFS_B_DC_YAW_OUT_DQ,PSL-DIAG_BULLSEYE_YAW_OUT_DQ,PSL-DIAG_BULLSEYE_WID_OUT_DQ,PSL-DIAG_BULLSEYE_PIT_OUT_DQ;ASC-DHARD_P_OUT_DQ,ASC-DHARD_Y_OUT_DQ,ASC-CHARD_P_OUT_DQ,ASC-CHARD_Y_OUT_DQ,LSC-SRCL_IN1_DQ,LSC-MICH_IN1_DQ,LSC-PRCL_IN1_DQ
+WitnessChannelList: None
+#IMC-WFS_A_DC_PIT_OUT_DQ,IMC-WFS_B_DC_PIT_OUT_DQ,IMC-WFS_A_DC_YAW_OUT_DQ,IMC-WFS_B_DC_YAW_OUT_DQ;PSL-DIAG_BULLSEYE_YAW_OUT_DQ,PSL-DIAG_BULLSEYE_WID_OUT_DQ,PSL-DIAG_BULLSEYE_PIT_OUT_DQ;ASC-DHARD_P_OUT_DQ,ASC-DHARD_Y_OUT_DQ,ASC-CHARD_P_OUT_DQ,ASC-CHARD_Y_OUT_DQ;LSC-SRCL_IN1_DQ,LSC-MICH_IN1_DQ,LSC-PRCL_IN1_DQ
+# What channel should we use to gate the noise subtraction and 60-Hz line subtraction
+NoiseSubGateChannel: ODC-MASTER_CHANNEL_OUT_DQ
+###############################
+# EPICS Records Channel Names #
+###############################
+EP1RealChannel: CAL-CS_TDEP_SUS_LINE3_REF_INVA_TST_RESPRATIO_REAL
+EP1ImagChannel: CAL-CS_TDEP_SUS_LINE3_REF_INVA_TST_RESPRATIO_IMAG
+EP2RealChannel: CAL-CS_TDEP_REF_CLGRATIO_CTRL_REAL
+EP2ImagChannel: CAL-CS_TDEP_REF_CLGRATIO_CTRL_IMAG
+EP3RealChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_USUM_INV_REAL
+EP3ImagChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_USUM_INV_IMAG
+EP4RealChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_TST_REAL
+EP4ImagChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_TST_IMAG
+EP5RealChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_USUM_REAL
+EP5ImagChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_USUM_IMAG
+EP6RealChannel: CAL-CS_TDEP_PCAL_LINE2_REF_C_NOCAVPOLE_REAL
+EP6ImagChannel: CAL-CS_TDEP_PCAL_LINE2_REF_C_NOCAVPOLE_IMAG
+EP7RealChannel: CAL-CS_TDEP_PCAL_LINE2_REF_D_REAL
+EP7ImagChannel: CAL-CS_TDEP_PCAL_LINE2_REF_D_IMAG
+EP8RealChannel: CAL-CS_TDEP_PCAL_LINE2_REF_A_TST_REAL
+EP8Imagchannel: CAL-CS_TDEP_PCAL_LINE2_REF_A_TST_IMAG
+EP9RealChannel: CAL-CS_TDEP_PCALY_LINE2_REF_A_USUM_REAL
+EP9ImagChannel: CAL-CS_TDEP_PCALY_LINE2_REF_A_USUM_IMAG
+EP10RealChannel: CAL-CS_TDEP_SUS_LINE3_REF_A_TST_NOLOCK_REAL
+EP10ImagChannel: CAL-CS_TDEP_SUS_LINE3_REF_A_TST_NOLOCK_IMAG
+EP11RealChannel: CAL-CS_TDEP_PCAL_LINE4_REF_C_NOCAVPOLE_REAL
+EP11ImagChannel: CAL-CS_TDEP_PCAL_LINE4_REF_C_NOCAVPOLE_IMAG
+EP12RealChannel: CAL-CS_TDEP_PCAL_LINE4_REF_D_REAL
+EP12ImagChannel: CAL-CS_TDEP_PCAL_LINE4_REF_D_IMAG
+EP13RealChannel: CAL-CS_TDEP_PCAL_LINE4_REF_A_TST_REAL
+EP13ImagChannel: CAL-CS_TDEP_PCAL_LINE4_REF_A_TST_IMAG
+EP14RealChannel: CAL-CS_TDEP_PCALY_LINE4_REF_A_USUM_REAL
+EP14ImagChannel: CAL-CS_TDEP_PCALY_LINE4_REF_A_USUM_IMAG
+EP15RealChannel: CAL-CS_TDEP_SUS_LINE2_REF_INVA_PUM_RESPRATIO_REAL
+EP15Imagchannel: CAL-CS_TDEP_SUS_LINE2_REF_INVA_PUM_RESPRATIO_IMAG
+EP16RealChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_UIM_INV_REAL
+EP16ImagChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_UIM_INV_IMAG
+EP17RealChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_PUM_REAL
+EP17ImagChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_PUM_IMAG
+EP18RealChannel: CAL-CS_TDEP_PCAL_LINE2_REF_A_PUM_REAL
+EP18ImagChannel: CAL-CS_TDEP_PCAL_LINE2_REF_A_PUM_IMAG
+EP19RealChannel: CAL-CS_TDEP_PCAL_LINE2_REF_A_UIM_REAL
+EP19ImagChannel: CAL-CS_TDEP_PCAL_LINE2_REF_A_UIM_IMAG
+EP20RealChannel: CAL-CS_TDEP_PCAL_LINE4_REF_A_PUM_REAL
+EP20ImagChannel: CAL-CS_TDEP_PCAL_LINE4_REF_A_PUM_IMAG
+EP21RealChannel: CAL-CS_TDEP_PCAL_LINE4_REF_A_UIM_REAL
+EP21ImagChannel: CAL-CS_TDEP_PCAL_LINE4_REF_A_UIM_IMAG
+EP22RealChannel: CAL-CS_TDEP_SUS_LINE1_REF_INVA_UIM_RESPRATIO_REAL
+EP22ImagChannel: CAL-CS_TDEP_SUS_LINE1_REF_INVA_UIM_RESPRATIO_IMAG
+EP23RealChannel: CAL-CS_TDEP_SUS_LINE2_REF_A_PUM_NOLOCK_REAL
+EP23ImagChannel: CAL-CS_TDEP_SUS_LINE2_REF_A_PUM_NOLOCK_IMAG
+EP24RealChannel: CAL-CS_TDEP_SUS_LINE1_REF_A_UIM_NOLOCK_REAL
+EP24ImagChannel: CAL-CS_TDEP_SUS_LINE1_REF_A_UIM_NOLOCK_IMAG
+
+[SampleRates]
+# Sample rate at which to compute h(t)
+HoftSR: 16384
+# Sample rate at which to compute CALIB_STATE_VECTOR
+CalibStateSR: 16
+# Sample rate of control channel
+# Should be 16384 if using DARM_CTRL and 4096 if using DELTAL_CTRL 
+CtrlSR: 4096
+# Sample rate of ODC channel
+ODCSR: 16384
+# Sample rate of TST excitation channel
+TSTExcSR: 512
+# Sample rate of PUM excitation channel
+PUMExcSR: 512
+# Sample rate of UIM excitation channel
+UIMExcSR: 512
+# Sample rate of coherence channels
+CohSR: 16
+# Sample rate for the EPICS reference channels
+EPICSRefSR: 16
+# Sample rate for power lines channel
+PowerLinesChannelSR: 1024
+# Sample rates at which transfer functions will be computed and witness channels will be filtered, given as a semicolon-separated list, e.g., 2048;2048;512;2048. This must be given if WitnessChannelList is not None, and it must be the same length.
+WitnessChannelSR: 2048;512
+# Sample rates at which to compute and record TDCFs
+ComputeFactorsSR: 16
+RecordFactorsSR: 16
+
+[Bitmasks]
+ObsReadyBitmask: 2
+ObsIntentBitmask: 2
+CBCHWInjBitmask: 16777216
+BurstHWInjBitmask: 33554432
+DetCharHWInjBitmask: 67108864
+StochHWInjBitmask: 8388608
+NoiseSubGateBitmask: 4
+
+[PipelineConfigurations]
+BufferLength: 1.0
+FrequencyDomainFiltering: No
+Dewhitening: No
+# Latency of all filtering/averaging/median processes (other than calibration model filters) as a fraction of filter length. Value should be set between 0.0 and 1.0.
+FilterLatency: 0.0
+
+[DataCleaningConfigurations]
+####################################################
+# Options for turning on and off noise subtraction #
+####################################################
+# Remove the DC component from the residual and control channels before filtering
+RemoveDC: No
+# Subtract the calibration lines from the h(t) spectrum
+RemoveCalLines: Yes
+# Subtract the power lines from the h(t) spectrum
+RemovePowerLines: Yes
+###################################################
+# Options for runing power mains line subtraction #
+###################################################
+PowerLinesTFMedianTime: 1
+#########################################
+# Options for running noise subtraction #
+#########################################
+# Amount by which frequency of power lines varies with time
+PowerLinesFreqVar: 0.02
+# Time over which to average the transfer function between the power mains witness channel and h(t) at 60 Hz and harmonics
+PowerLinesTFAveragingTime: 128
+#######################################
+# Options for broadband noise removal #
+#######################################
+# The length in seconds of the fast Fourier transforms used to compute transfer functions between witness channels and h(t). The fft's are windowed with Hann windows and overlapped.
+WitnessChannelFFTTime: 4.0
+# The number of ffts to take before averaging the witness -> h(t) transfer functions calculation. The average is taken after the ratio h(f) / witness(f).
+NumWitnessFFTs: 509
+# Sets the minimum number of FFTs necessary to produce the first transfer functions and clean data after data flow starts.
+MinWitnessFFTs: 200
+# The length in seconds of the filters applied to the witness channels before subtracting from h(t)
+WitnessFIRLength: 1.0
+# The frequency resolution of the filters applied to the witness channels before subtracting from h(t). It can be advantageous to lower the frequency resolution in order to average over excess noise.
+WitnessFrequencyResolution: 0.5
+# List of minima and maxima of frequency ranges where the Fourier transform of h(t) will be replaced by a straight line in the calculation of transfer functions between witness channels and h(t) for noise subtraction. Semicolons separate lists for different sets of witness channels. If no notches are desired, use zeros, e.g., \'0;0;0\'. Here is an example using the expected format: \'495.0,515.0,985.0,1015.0;59,60,119,121;0\' This can be useful, e.g., if there are loud lines in the signal that are not present in the witness channels.
+WitnessNotchFrequencies: 12.0,15.0,485.0,515.0,985.0,1015.0;0
+# Cutoff frequencies for high-pass filters for witness channels
+WitnessHighPasses: 12;10
+# The amount of time after transfer functions between witness channels and h(t) are finished to begin the calculation of the next set of transfer functions
+WitnessTFUpdateTime: 4
+# If lock-loss lasts at least this many seconds, transfer functions will revert to those computed at the beginning of a lock stretch. Set to zero to disbale.
+CriticalLockLossTime: 1800
+# The amount of time to use to taper in newly computed FIR filters for witness channels being used for noise subtraction.
+WitnessFilterTaperTime: 2
+# If writing transfer functions to file, this sets the name. If transfer functions should not be written to file, this should be set to None
+WitnessTFFilename: None
+# Should the transfer function calculation use a median? If not, an average (mean) is used.
+WitnessTFUseMedian: Yes
+# Should transfer functions be computed on a fixed schedule, so that the output does not depend on start time?  This is useful for running jobs in parallel.  Otherwise, they are computed asap.
+WitnessTFParallelMode: No
+# When using parallel mode, how many seconds later should we shift the time when transfer functions start being computed from a multiple of the cycle period?
+WitnessTFTimeShift: 360
+###############################
+# Options for HOFT_CLEAN bits #
+###############################
+# The amount of data from h(t) and cleaned h(t) that is used to compute and compare the rms. This comparison between cleaned and uncleaned h(t) determines whether the HOFT_CLEAN bits of the calibration state vector are on or off.
+CleaningCheckRMSTime: 20.0
+# Minimum of a range of frequencies in which we expect line/noise subtraction to be impactful. The HOFT_CLEAN_LOWFREQ_OK bit of the calibration state vector is determined based on whether rms of the cleaned data is less than that of uncleaned h(t) in this range.
+CleaningCheckRangeLowMin: 15
+# Maximum of a range of frequencies in which we expect line/noise subtraction to be impactful. The HOFT_CLEAN_LOWFREQ_OK bit of the calibration state vector is determined based on whether rms of the cleaned data is less than that of uncleaned h(t) in this range.
+CleaningCheckRangeLowMax: 40
+# Minimum of a range of frequencies in which we expect line/noise subtraction to be impactful. The HOFT_CLEAN_MIDFREQ_OK bit of the calibration state vector is determined based on whether rms of the cleaned data is less than that of uncleaned h(t) in this range.
+CleaningCheckRangeMidMin: 100
+# Maximum of a range of frequencies in which we expect line/noise subtraction to be impactful. The HOFT_CLEAN_MIDFREQ_OK bit of the calibration state vector is determined based on whether rms of the cleaned data is less than that of uncleaned h(t) in this range.
+CleaningCheckRangeMidMax: 500
diff --git a/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Filters/O3/GDSFilters/L1GDS_1231616859.npz b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Filters/O3/GDSFilters/L1GDS_1231616859.npz
new file mode 100644
index 0000000000000000000000000000000000000000..b82443675abdb91fed3f43b5ee9ee8ca003d1c69
Binary files /dev/null and b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Filters/O3/GDSFilters/L1GDS_1231616859.npz differ
diff --git a/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Filters/O3/GDSFilters/L1GDS_1237770582.npz b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Filters/O3/GDSFilters/L1GDS_1237770582.npz
new file mode 100644
index 0000000000000000000000000000000000000000..794f68d1759c28abc08b467a304bddef3ed20436
Binary files /dev/null and b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Filters/O3/GDSFilters/L1GDS_1237770582.npz differ
diff --git a/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Filters/O3/GDSFilters/L1GDS_1237770582_TEST.ini b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Filters/O3/GDSFilters/L1GDS_1237770582_TEST.ini
new file mode 100644
index 0000000000000000000000000000000000000000..0bc4489eb9c7c9db65bd776b253133bf7751b4f8
--- /dev/null
+++ b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Filters/O3/GDSFilters/L1GDS_1237770582_TEST.ini
@@ -0,0 +1,404 @@
+[InputConfigurations]
+# Filters file containing calibration FIR filters
+FiltersFileName: /home/calibration/svncommon/CalSVN/O3/GDSFilters/L1GDS_1237770582.npz
+# Data source should be set to frames or lvshm
+DataSource: lvshm
+FileChecksum: No
+# Right now, SkipBadFiles needs to be off when reading from frames
+SkipBadFiles: No
+############################################
+# If reading from frames use these options #
+############################################
+# None
+
+###################################################
+# If reading from shared memory use these options #
+###################################################
+SHMPartition: LLO_Online
+# Assumed duration of input frames in seconds
+InputFrameDuration: 1
+
+[OutputConfigurations]
+CompressionScheme: 6
+CompressionLevel: 3
+ChanPrefix: GDS-
+# Set to "None" if you do not want a channel suffix
+ChanSuffix: _TEST
+# Data sink should be set to frames or lvshm
+DataSink: lvshm
+#################################################
+# If writing to shared memory use these options #
+#################################################
+OutputSHMPartition: LLO_hoft
+BufferMode: 2
+# Use this to approximate the frame size (in bytes) when writing to shared memory
+FrameSize: 405338
+NumBuffers: 10
+###############################################
+# If writing to frame files use these options #
+###############################################
+FrameType: L1GDS_TEST
+
+[CalibrationConfigurations]
+IFO: L1
+# Set calibration mode to Full or Partial
+CalibrationMode: Partial
+ComputeCalibStateVector: Yes
+
+[DebuggingConfigurations]
+# If you want to write a pipeline graph, provide the graph name.  Otherwise, set name equal to None
+PipelineGraphFilename: None
+Verbose: No
+# Turn this on to write data presentation timestamps and real-time unix timestamps to file at the beginning and end of the pipeline, to measure latency
+TestLatency: No
+# Turn this on to compute transfer functions for the filters by comparing output data to input data
+TestFilters: No
+
+[TDCFConfigurations]
+#########################################################
+# Options related to time dependent correction  factors #
+#########################################################
+ComputeKappaTST: Yes
+ApplyKappaTST: No
+# Set this to have the \kappa_tst factors filter the actuation chain with an adaptive filter that corrects for both magnitude and phase errors.
+ApplyComplexKappaTST: Yes
+
+ComputeKappaPU: No
+ApplyKappaPU: No
+# Set this to have the \kappa_pu factors the actuation chain with an adaptive filter that corrects for both magnitude and phase errors
+ApplyComplexKappaPU: No
+
+ComputeKappaPUM: Yes
+ApplyKappaPUM: No
+# Set this to have the \kappa_p factors the actuation chain with an adaptive filter that corrects for both magnitude and phase errors.
+ApplyComplexKappaPUM: Yes
+
+ComputeKappaUIM: Yes
+ApplyKappaUIM: No
+# Set this to have the \kappa_u factors the actuation chain with an adaptive filter that corrects for both magnitude and phase errors.
+ApplyComplexKappaUIM: Yes
+
+ComputeKappaC: Yes
+ApplyKappaC: Yes
+
+ComputeFcc: Yes
+ApplyFcc: Yes
+
+ComputeSRCQ: Yes
+ApplySRCQ: No
+
+ComputeFs: Yes
+ApplyFs: No
+
+###########################################
+# Options related to the coherence gating #
+###########################################
+UseCoherence: Yes
+CoherenceUncThreshold: 0.02
+# Amount of time used in front-end to compute coherence
+CoherenceTime: 130
+###################################################################
+# Options related to the computation configurations for the TDCFs #
+###################################################################
+ComputeFactorsSR: 16
+RecordFactorsSR: 16
+# Length in seconds of low-pass FIR filter used in demodulation of the calibration lines
+DemodulationFilterTime: 20
+# Time (in seconds) to smooth out \kappas with a median-like method
+MedianSmoothingTime: 128
+TDCFAveragingTime: 10
+#If set to yes, bad computed kappas will be replaced by the previous computed median in the running median array. Otherwise, they are replaced with the default value
+TDCFDefaultToMedian: Yes
+# If using Y-end Pcal, we need a minus sign, so set this to -1.0
+PcalSign: 1.0
+##################################################
+# Options related to updating cavity pole filter #
+##################################################
+# Duration of the Fcc filter in the time domain in seconds
+FccFilterDuration: 0.01
+# Number of seconds to average Fcc values before creating a new Fcc filter
+FccAveragingTime: 60 
+# Number of samples to be used when tapering old filter and ramping in new filter
+FccFilterTaperLength: 32768
+############################
+# Nominal values for TDCFs #
+############################
+ExpectedKappaTSTReal: 1.0
+ExpectedKappaTSTImag: 0.0
+ExpectedKappaPUMReal: 1.0
+ExpectedKappaPUMImag: 0.0
+ExpectedKappaUIMReal: 1.0
+ExpectedKappaUIMImag: 0.0
+ExpectedKappaPUReal: 1.0
+ExpectedKappaPUImag: 0.0
+ExpectedKappaC: 1.0
+# FIXME: Need to fix code to deal with imaginary fs from pyDARM
+ExpectedFs_Squared: 5.253
+################################
+# Acceptable variance in TDCFs #
+################################
+KappaTSTRealVar: 0.2
+KappaTSTImagVar: 0.2
+KappaPURealVar: 0.2
+KappaPUImagVar: 0.2
+KappaPUMRealVar: 0.2
+KappaPUMImagVar: 0.2
+KappaUIMRealVar: 0.2
+KappaUIMImagVar: 0.2
+KappaCVar: 0.2
+FccVar: 50.0
+FsVar: 5.0
+SRCQInvMin: 0.0
+SRCQInvMax: 0.5
+#######################
+# EPICS records input #
+#######################
+# Set to Yes if EPICS records for TDCF computations should be read from filters file.  If set to No, they will be read from frames
+FactorsFromFiltersFile: No
+##############################################################################################
+# Updating Sensing and Actuation filters with all frequency-dependent corrections parameters #
+##############################################################################################
+# Length of time (in seconds) between when inverse-sensing FIR filter is updated
+SensingFilterUpdateTime: 64
+# Length of time (in seconds) over which the smoothed time-dependent parameters of the sensing function are averaged before updating the filter
+SensingFilterAveragingTime: 1
+# Number of samples to be used when tapering old inverse sensing filter and ramping in new filter
+SensingFilterTaperLength: 32768
+# Length of time (in seconds) between when the actuation FIR filters are updated
+ActuationFilterUpdateTime: 64
+# Length of time (in seconds) over which the smoothed time-dependent parameters of the actuation function are averaged before updating the filter
+ActuationFilterAveragingTime: 1
+# Number of samples to be used when tapering old actuation filters and ramping in new filters
+ActuationFilterTaperLength: 32768
+
+[ChannelNames]
+#############################
+# Calibration Channel Names #
+#############################
+DARMCtrlChannel: CAL-DARM_CTRL_DBL_DQ
+DARMErrChannel: CAL-DARM_ERR_DBL_DQ
+DeltaLTSTChannel: CAL-DELTAL_CTRL_TST_DBL_DQ
+DeltaLPUMChannel: CAL-DELTAL_CTRL_PUM_DBL_DQ
+DeltaLUIMChannel: CAL-DELTAL_CTRL_UIM_DBL_DQ
+DeltaLResChannel: CAL-DELTAL_RESIDUAL_DBL_DQ
+####################################
+# Data Quality Vector Channel Name #
+####################################
+LowNoiseStateChannel: GRD-IFO_READY
+HWInjChannel: CAL-INJ_STATUS_OUT_DQ
+ObsIntentChannel: GRD-IFO_INTENT
+FilterClockChannelList: GRD-ISC_LOCK_OK
+##################################
+# Calibration Line Channel Names #
+##################################
+DARMExcChannel: CAL-CS_LINE_SUM_DQ
+TSTExcChannel: SUS-ETMY_L3_CAL_LINE_OUT_DQ
+PUMExcChannel: SUS-ETMX_L2_CAL_LINE_OUT_DQ 
+UIMExcChannel: SUS-ETMX_L1_CAL_LINE_OUT_DQ
+PCALChannel: CAL-PCALY_RX_PD_OUT_DQ
+############################################
+# Calibration Line Frequency Channel Names #
+############################################
+DARMExcLineFreqChannel: CAL-CS_TDEP_DARM_LINE1_COMPARISON_OSC_FREQ
+TSTExcLineFreqChannel: CAL-CS_TDEP_SUS_LINE3_COMPARISON_OSC_FREQ
+PUMExcLineFreqChannel: CAL-CS_TDEP_SUS_LINE2_COMPARISON_OSC_FREQ
+UIMExcLineFreqChannel: CAL-CS_TDEP_SUS_LINE1_COMPARISON_OSC_FREQ
+PCALLine1FreqChannel: CAL-CS_TDEP_PCAL_LINE1_COMPARISON_OSC_FREQ
+PcalLine1CorrRealChannel: CAL-CS_TDEP_PCAL_LINE1_CORRECTION_REAL
+PcalLine1CorrImagChannel: CAL-CS_TDEP_PCAL_LINE1_CORRECTION_IMAG
+PCALLine2FreqChannel: CAL-CS_TDEP_PCAL_LINE2_COMPARISON_OSC_FREQ
+PcalLine2CorrRealChannel: CAL-CS_TDEP_PCAL_LINE2_CORRECTION_REAL
+PcalLine2CorrImagChannel: CAL-CS_TDEP_PCAL_LINE2_CORRECTION_IMAG
+PCALLine3FreqChannel: CAL-CS_TDEP_PCAL_LINE3_COMPARISON_OSC_FREQ
+PcalLine3CorrRealChannel: CAL-CS_TDEP_PCAL_LINE3_CORRECTION_REAL
+PcalLine3CorrImagChannel: CAL-CS_TDEP_PCAL_LINE3_CORRECTION_IMAG
+PCALLine4FreqChannel: CAL-CS_TDEP_PCAL_LINE4_COMPARISON_OSC_FREQ
+PcalLine4CorrRealChannel: CAL-CS_TDEP_PCAL_LINE4_CORRECTION_REAL
+PcalLine4CorrImagChannel: CAL-CS_TDEP_PCAL_LINE4_CORRECTION_IMAG
+#######################################
+# Coherence Uncertainty Channel Names #
+#######################################
+CohUncSusLine1Channel: CAL-CS_TDEP_SUS_LINE1_UNCERTAINTY
+CohUncSusLine2Channel: CAL-CS_TDEP_SUS_LINE2_UNCERTAINTY
+CohUncSusLine3Channel: CAL-CS_TDEP_SUS_LINE3_UNCERTAINTY
+CohUncPcalyLine1Channel: CAL-CS_TDEP_PCAL_LINE1_UNCERTAINTY
+CohUncPcalyLine2Channel: CAL-CS_TDEP_PCAL_LINE2_UNCERTAINTY
+CohUncPcalyLine4Channel: CAL-CS_TDEP_PCAL_LINE4_UNCERTAINTY
+CohUncDARMLine1Channel: CAL-CS_TDEP_DARM_LINE1_UNCERTAINTY
+###################################
+# Noise Subtraction Channel Names #
+###################################
+# Semicolon-separated list of comma-separated lists of witness channels to use to subtract lines from h(t)
+# Semicolons separate channels to be handled separately (in series), and commas separate channels to be handled in parallel.
+#Set to None if no line witness channels are to be used
+LineWitnessChannelList: SUS-ETMX_L1_CAL_LINE_OUT_DQ;SUS-ETMX_L2_CAL_LINE_OUT_DQ;SUS-ETMY_L3_CAL_LINE_OUT_DQ;CAL-PCALY_RX_PD_OUT_DQ;PEM-EY_MAINSMON_EBAY_1_DQ
+# Semicolon-separated list of comma-separated lists of witness channels to use to subtract noise from h(t)
+# Set to None if no witness channels are to be used
+WitnessChannelList: ASC-DHARD_P_OUT_DQ,ASC-DHARD_Y_OUT_DQ,ASC-CHARD_P_OUT_DQ,ASC-CHARD_Y_OUT_DQ,LSC-SRCL_IN1_DQ,LSC-MICH_IN1_DQ,LSC-PRCL_IN1_DQ
+# What channel should we use to gate the noise subtraction and 60-Hz line subtraction
+NoiseSubGateChannel: GRD-ISC_LOCK_OK
+###############################
+# EPICS Records Channel Names #
+###############################
+EP1RealChannel: CAL-CS_TDEP_SUS_LINE3_REF_INVA_TST_RESPRATIO_REAL
+EP1ImagChannel: CAL-CS_TDEP_SUS_LINE3_REF_INVA_TST_RESPRATIO_IMAG
+EP2RealChannel: CAL-CS_TDEP_REF_CLGRATIO_CTRL_REAL
+EP2ImagChannel: CAL-CS_TDEP_REF_CLGRATIO_CTRL_IMAG
+EP3RealChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_USUM_INV_REAL
+EP3ImagChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_USUM_INV_IMAG
+EP4RealChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_TST_REAL
+EP4ImagChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_TST_IMAG
+EP5RealChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_USUM_REAL
+EP5ImagChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_USUM_IMAG
+EP6RealChannel: CAL-CS_TDEP_PCAL_LINE2_REF_C_NOCAVPOLE_REAL
+EP6ImagChannel: CAL-CS_TDEP_PCAL_LINE2_REF_C_NOCAVPOLE_IMAG
+EP7RealChannel: CAL-CS_TDEP_PCAL_LINE2_REF_D_REAL
+EP7ImagChannel: CAL-CS_TDEP_PCAL_LINE2_REF_D_IMAG
+EP8RealChannel: CAL-CS_TDEP_PCAL_LINE2_REF_A_TST_REAL
+EP8Imagchannel: CAL-CS_TDEP_PCAL_LINE2_REF_A_TST_IMAG
+EP9RealChannel: CAL-CS_TDEP_PCALY_LINE2_REF_A_USUM_REAL
+EP9ImagChannel: CAL-CS_TDEP_PCALY_LINE2_REF_A_USUM_IMAG
+EP10RealChannel: CAL-CS_TDEP_SUS_LINE3_REF_A_TST_NOLOCK_REAL
+EP10ImagChannel: CAL-CS_TDEP_SUS_LINE3_REF_A_TST_NOLOCK_IMAG
+EP11RealChannel: CAL-CS_TDEP_PCAL_LINE1_REF_C_NOCAVPOLE_REAL
+EP11ImagChannel: CAL-CS_TDEP_PCAL_LINE1_REF_C_NOCAVPOLE_IMAG
+EP12RealChannel: CAL-CS_TDEP_PCAL_LINE1_REF_D_REAL
+EP12ImagChannel: CAL-CS_TDEP_PCAL_LINE1_REF_D_IMAG
+EP13RealChannel: CAL-CS_TDEP_PCAL_LINE1_REF_A_TST_REAL
+EP13ImagChannel: CAL-CS_TDEP_PCAL_LINE1_REF_A_TST_IMAG
+EP14RealChannel: CAL-CS_TDEP_PCALY_LINE1_REF_A_USUM_REAL
+EP14ImagChannel: CAL-CS_TDEP_PCALY_LINE1_REF_A_USUM_IMAG
+EP15RealChannel: CAL-CS_TDEP_SUS_LINE2_REF_INVA_PUM_RESPRATIO_REAL
+EP15Imagchannel: CAL-CS_TDEP_SUS_LINE2_REF_INVA_PUM_RESPRATIO_IMAG
+EP16RealChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_UIM_INV_REAL
+EP16ImagChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_UIM_INV_IMAG
+EP17RealChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_PUM_REAL
+EP17ImagChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_PUM_IMAG
+EP18RealChannel: CAL-CS_TDEP_PCAL_LINE2_REF_A_PUM_REAL
+EP18ImagChannel: CAL-CS_TDEP_PCAL_LINE2_REF_A_PUM_IMAG
+EP19RealChannel: CAL-CS_TDEP_PCAL_LINE2_REF_A_UIM_REAL
+EP19ImagChannel: CAL-CS_TDEP_PCAL_LINE2_REF_A_UIM_IMAG
+EP20RealChannel: CAL-CS_TDEP_PCAL_LINE1_REF_A_PUM_REAL
+EP20ImagChannel: CAL-CS_TDEP_PCAL_LINE1_REF_A_PUM_IMAG
+EP21RealChannel: CAL-CS_TDEP_PCAL_LINE1_REF_A_UIM_REAL
+EP21ImagChannel: CAL-CS_TDEP_PCAL_LINE1_REF_A_UIM_IMAG
+EP22RealChannel: CAL-CS_TDEP_SUS_LINE1_REF_INVA_UIM_RESPRATIO_REAL
+EP22ImagChannel: CAL-CS_TDEP_SUS_LINE1_REF_INVA_UIM_RESPRATIO_IMAG
+EP23RealChannel: CAL-CS_TDEP_SUS_LINE2_REF_A_PUM_NOLOCK_REAL
+EP23ImagChannel: CAL-CS_TDEP_SUS_LINE2_REF_A_PUM_NOLOCK_IMAG
+EP24RealChannel: CAL-CS_TDEP_SUS_LINE1_REF_A_UIM_NOLOCK_REAL
+EP24ImagChannel: CAL-CS_TDEP_SUS_LINE1_REF_A_UIM_NOLOCK_IMAG
+
+[SampleRates]
+# Sample rate at which to compute h(t)
+HoftSR: 16384
+# Sample rate at which to compute CALIB_STATE_VECTOR
+CalibStateSR: 16
+# Sample rate of control channel
+# Should be 16384 if using DARM_CTRL and 4096 if using DELTAL_CTRL 
+CtrlSR: 4096
+# Sample rate of low noise state channel
+LowNoiseSR: 16
+# Sample rate of HW injection channel
+HWInjSR: 16384
+# Sample rate of observation intent channel
+ObsIntentSR: 16
+# Sample rate list for chanels being used to trigger filter settling clock
+FilterClockSRList: 16
+# Sample rate of TST excitation channel
+TSTExcSR: 512
+# Sample rate of PUM excitation channel
+PUMExcSR: 512
+# Sample rate of UIM excitation channel
+UIMExcSR: 512
+# Sample rate of coherence channels
+CohSR: 16
+# Sample rate for the EPICS reference channels
+EPICSRefSR: 16
+# Sample rates at which transfer functions will be computed and witness channels will be filtered, given as a semicolon-separated list, e.g., 2048;2048;512;2048. This must be given if WitnessChannelList is not None, and it must be the same length.
+WitnessChannelSR: 512
+# Sample rates at which to compute and record TDCFs
+ComputeFactorsSR: 16
+RecordFactorsSR: 16
+
+[Bitmasks]
+ObsReadyBitmask: 1
+ObsIntentBitmask: 1
+FilterClockBitmaskList: 1
+CBCHWInjOffBitmask: 9
+BurstHWInjOffBitmask: 17
+DetCharHWInjOffBitmask: 33
+StochHWInjOffBitmask: 65
+NoiseSubGateBitmask: 1
+
+[PipelineConfigurations]
+BufferLength: 1.0
+FrequencyDomainFiltering: No
+Dewhitening: No
+# Latency of all filtering/averaging/median processes (other than calibration model filters) as a fraction of filter length. Value should be set between 0.0 and 1.0.
+FilterLatency: 0.0
+
+[DataCleaningConfigurations]
+# Remove the DC component from the residual and control channels before filtering
+RemoveDC: No
+# Subtract the calibration lines from the h(t) spectrum
+RemoveCalLines: No
+###############################################################
+# Options for running line subtraction using witness channels #
+###############################################################
+# Semicolon-separated list of comma-separated lists of frequencies (same number of semicolons as LineWitnessChannelList)
+LineWitnessFreqs: 15.1;15.7;16.9;16.3,434.9,1083.1;60.0,120.0,180.0,240.0,300.0
+# Time over which to take a median of transfer functions
+LineWitnessTFMedianTime: 128
+# Time over which to average transfer functions
+LineWitnessTFAveragingTime: 1
+# Semicolon-separated list of typical frequency fluctuations in lines being subtracted (same number of semicolons as LineWitnessChannelList)
+LineWitnessFreqVars: 0.0;0.0;0.0;0.0;0.02
+#######################################
+# Options for broadband noise removal #
+#######################################
+# The length in seconds of the fast Fourier transforms used to compute transfer functions between witness channels and h(t). The fft's are windowed with Hann windows and overlapped.
+WitnessChannelFFTTime: 4.0
+# The number of ffts to take before averaging the witness -> h(t) transfer functions calculation. The average is taken after the ratio h(f) / witness(f).
+NumWitnessFFTs: 1000
+# Sets the minimum number of FFTs necessary to produce the first transfer functions and clean data after data flow starts.
+MinWitnessFFTs: 300
+# The length in seconds of the filters applied to the witness channels before subtracting from h(t)
+WitnessFIRLength: 1.0
+# The frequency resolution of the filters applied to the witness channels before subtracting from h(t). It can be advantageous to lower the frequency resolution in order to average over excess noise.
+WitnessFrequencyResolution: 0.5
+# List of minima and maxima of frequency ranges where the Fourier transform of h(t) will be replaced by a straight line in the calculation of transfer functions between witness channels and h(t) for noise subtraction. Semicolons separate lists for different sets of witness channels. If no notches are desired, use zeros, e.g., \'0;0;0\'. Here is an example using the expected format: \'495.0,515.0,985.0,1015.0;59,60,119,121;0\' This can be useful, e.g., if there are loud lines in the signal that are not present in the witness channels.
+WitnessNotchFrequencies: 0
+# Cutoff frequencies for high-pass filters for witness channels
+WitnessHighPasses: 10
+# The amount of time after transfer functions between witness channels and h(t) are finished to begin the calculation of the next set of transfer functions
+WitnessTFUpdateTime: 4
+# If lock-loss lasts at least this many seconds, transfer functions will revert to those computed at the beginning of a lock stretch. Set to zero to disbale.
+CriticalLockLossTime: 1800
+# The amount of time to use to taper in newly computed FIR filters for witness channels being used for noise subtraction.
+WitnessFilterTaperTime: 2
+# If writing transfer functions to file, this sets the name. If transfer functions should not be written to file, this should be set to None
+WitnessTFFilename: None
+# Should the transfer function calculation use a median? If not, an average (mean) is used.
+WitnessTFUseMedian: Yes
+# Should transfer functions be computed on a fixed schedule, so that the output does not depend on start time?  This is useful for running jobs in parallel.  Otherwise, they are computed asap.
+WitnessTFParallelMode: No
+# When using parallel mode, how many seconds later should we shift the time when transfer functions start being computed from a multiple of the cycle period?
+WitnessTFTimeShift: 360
+# To write only one strain channel, and pick whichever is less noisy, set this option to 'Yes'. This way, if a problem arises with the noise subtraction it will not affect the output strain channel.
+PickCleanestStrainChannel: No
+# A half Hann window is used for transitions between cleaned and uncleaned data.  This is the length of that window in seconds.
+StrainChannelTransitionTime: 10.0
+###############################
+# Options for HOFT_CLEAN bits #
+###############################
+# The amount of data from h(t) and cleaned h(t) that is used to compute and compare the rms. This comparison between cleaned and uncleaned h(t) determines whether the HOFT_CLEAN bits of the calibration state vector are on or off.
+CleaningCheckRMSTime: 30.0
+# Minimum of a range of frequencies in which we expect line/noise subtraction to be impactful. The HOFT_CLEAN_LOWFREQ_OK bit of the calibration state vector is determined based on whether rms of the cleaned data is less than that of uncleaned h(t) in this range.
+CleaningCheckRangeLowMin: 15
+# Maximum of a range of frequencies in which we expect line/noise subtraction to be impactful. The HOFT_CLEAN_LOWFREQ_OK bit of the calibration state vector is determined based on whether rms of the cleaned data is less than that of uncleaned h(t) in this range.
+CleaningCheckRangeLowMax: 20
+# Minimum of a range of frequencies in which we expect line/noise subtraction to be impactful. The HOFT_CLEAN_MIDFREQ_OK bit of the calibration state vector is determined based on whether rms of the cleaned data is less than that of uncleaned h(t) in this range.
+CleaningCheckRangeMidMin: 20
+# Maximum of a range of frequencies in which we expect line/noise subtraction to be impactful. The HOFT_CLEAN_MIDFREQ_OK bit of the calibration state vector is determined based on whether rms of the cleaned data is less than that of uncleaned h(t) in this range.
+CleaningCheckRangeMidMax: 200
diff --git a/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Filters/O3/GDSFilters/L1GDS_TEST_1231616859.ini b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Filters/O3/GDSFilters/L1GDS_TEST_1231616859.ini
new file mode 100644
index 0000000000000000000000000000000000000000..6bda1f5e90d61455e03b5a55f857056510a44e9b
--- /dev/null
+++ b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Filters/O3/GDSFilters/L1GDS_TEST_1231616859.ini
@@ -0,0 +1,389 @@
+[InputConfigurations]
+# Track what "version" of config file this is, so that the pipeline knows which options are present in this file
+ConfigVersion: 1
+# Filters file containing calibration FIR filters
+FiltersFileName: /home/calibration/svncommon/CalSVN/O3/GDSFilters/L1GDS_TEST_1231616859.npz
+# Data source should be set to frames or lvshm
+DataSource: lvshm
+FileChecksum: No
+# Right now, SkipBadFiles needs to be off when reading from frames
+SkipBadFiles: No
+############################################
+# If reading from frames use these options #
+############################################
+# None
+
+###################################################
+# If reading from shared memory use these options #
+###################################################
+SHMPartition: LLO_Online
+# Assumed duration of input frames in seconds
+InputFrameDuration: 1
+
+[OutputConfigurations]
+CompressionScheme: 6
+CompressionLevel: 3
+ChanPrefix: GDS-
+# Set to "None" if you do not want a channel suffix
+ChanSuffix: _TEST
+# Data sink should be set to frames or lvshm
+DataSink: lvshm
+#################################################
+# If writing to shared memory use these options #
+#################################################
+OutputSHMPartition: LLO_hoft
+BufferMode: 2
+# Use this to approximate the frame size (in bytes) when writing to shared memory
+FrameSize: 405338
+NumBuffers: 10
+###############################################
+# If writing to frame files use these options #
+###############################################
+FrameType: L1GDS_TEST
+
+[CalibrationConfigurations]
+IFO: L1
+# Set calibration mode to Full or Partial
+CalibrationMode: Partial
+ComputeCalibStateVector: Yes
+
+[DebuggingConfigurations]
+# If you want to write a pipeline graph, provide the graph name.  Otherwise, set name equal to None
+PipelineGraphFilename: None
+Verbose: No
+# Turn this on to write data presentation timestamps and real-time unix timestamps to file at the beginning and end of the pipeline, to measure latency
+TestLatency: No
+
+[TDCFConfigurations]
+#########################################################
+# Options related to time dependent correction  factors #
+#########################################################
+ComputeKappaTST: Yes
+ApplyKappaTST: No
+# Set this to have the \kappa_tst factors filter the actuation chain with an adaptive filter that corrects for both magnitude and phase errors.
+ApplyComplexKappaTST: No
+
+ComputeKappaPU: No
+ApplyKappaPU: No
+# Set this to have the \kappa_pu factors the actuation chain with an adaptive filter that corrects for both magnitude and phase errors
+ApplyComplexKappaPU: No
+
+ComputeKappaPUM: Yes
+ApplyKappaPUM: No
+# Set this to have the \kappa_p factors the actuation chain with an adaptive filter that corrects for both magnitude and phase errors.
+ApplyComplexKappaPUM: No
+
+ComputeKappaUIM: Yes
+ApplyKappaUIM: No
+# Set this to have the \kappa_u factors the actuation chain with an adaptive filter that corrects for both magnitude and phase errors.
+ApplyComplexKappaUIM: No
+
+ComputeKappaC: Yes
+ApplyKappaC: No
+
+ComputeFcc: Yes
+ApplyFcc: No
+
+ComputeSRCQ: No
+ApplySRCQ: No
+
+ComputeFs: No
+ApplyFs: No
+
+###########################################
+# Options related to the coherence gating #
+###########################################
+UseCoherence: Yes
+CoherenceUncThreshold: 0.02
+# Amount of time used in front-end to compute coherence
+CoherenceTime: 130
+###################################################################
+# Options related to the computation configurations for the TDCFs #
+###################################################################
+ComputeFactorsSR: 16
+RecordFactorsSR: 16
+# Length in seconds of low-pass FIR filter used in demodulation of the calibration lines
+DemodulationFilterTime: 20
+# Time (in seconds) to smooth out \kappas with a median-like method
+MedianSmoothingTime: 128
+TDCFAveragingTime: 10
+#If set to yes, bad computed kappas will be replaced by the previous computed median in the running median array. Otherwise, they are replaced with the default value
+TDCFDefaultToMedian: Yes
+# If using X-end Pcal, we need a minus sign, so set this to -1.0
+PcalSign: 1.0
+##################################################
+# Options related to updating cavity pole filter #
+##################################################
+# Duration of the Fcc filter in the time domain in seconds
+FccFilterDuration: 0.01
+# Number of seconds to average Fcc values before creating a new Fcc filter
+FccAveragingTime: 60 
+# Number of samples to be used when tapering old filter and ramping in new filter
+FccFilterTaperLength: 32768
+############################
+# Nominal values for TDCFs #
+############################
+ExpectedKappaTSTReal: 1.0
+ExpectedKappaTSTImag: 0.0
+ExpectedKappaPUMReal: 1.0
+ExpectedKappaPUMImag: 0.0
+ExpectedKappaUIMReal: 1.0
+ExpectedKappaUIMImag: 0.0
+ExpectedKappaPUReal: 1.0
+ExpectedKappaPUImag: 0.0
+ExpectedKappaC: 1.0
+# FIXME: Check if the code uses these if they're read in from the filers file
+ExpectedFcc: 445.0
+ExpectedFs: 0.35
+ExpectedSRCQ: 10
+################################
+# Acceptable variance in TDCFs #
+################################
+KappaTSTRealVar: 0.2
+KappaTSTImagVar: 0.2
+KappaPURealVar: 0.2
+KappaPUImagVar: 0.2
+KappaPUMRealVar: 0.2
+KappaPUMImagVar: 0.2
+KappaUIMRealVar: 0.2
+KappaUIMImagVar: 0.2
+KappaCVar: 0.2
+FccVar: 50.0
+FsVar: 5.0
+SRCQInvMin: 0.0
+SRCQInvMax: 0.5
+#######################
+# EPICS records input #
+#######################
+# Set to Yes if EPICS records for TDCF computations should be read from filters file.  If set to No, they will be read from frames
+FactorsFromFiltersFile: No
+##############################################################################################
+# Updating Sensing and Actuation filters with all frequency-dependent corrections parameters #
+##############################################################################################
+# Length of time (in seconds) between when inverse-sensing FIR filter is updated
+SensingFilterUpdateTime: 64
+# Length of time (in seconds) over which the smoothed time-dependent parameters of the sensing function are averaged before updating the filter
+SensingFilterAveragingTime: 1
+# Number of samples to be used when tapering old inverse sensing filter and ramping in new filter
+SensingFilterTaperLength: 32768
+# Length of time (in seconds) between when the actuation FIR filters are updated
+ActuationFilterUpdateTime: 64
+# Length of time (in seconds) over which the smoothed time-dependent parameters of the actuation function are averaged before updating the filter
+ActuationFilterAveragingTime: 1
+# Number of samples to be used when tapering old actuation filters and ramping in new filters
+ActuationFilterTaperLength: 32768
+
+[ChannelNames]
+#############################
+# Calibration Channel Names #
+#############################
+DARMCtrlChannel: CAL-DARM_CTRL_DBL_DQ
+DARMErrChannel: CAL-DARM_ERR_DBL_DQ
+DeltaLTSTChannel: CAL-DELTAL_CTRL_TST_DBL_DQ
+DeltaLPUMChannel: CAL-DELTAL_CTRL_PUM_DBL_DQ
+DeltaLUIMChannel: CAL-DELTAL_CTRL_UIM_DBL_DQ
+DeltaLResChannel: CAL-DELTAL_RESIDUAL_DBL_DQ
+####################################
+# Data Quality Vector Channel Name #
+####################################
+InputDQChannel: ODC-MASTER_CHANNEL_OUT_DQ
+##################################
+# Calibration Line Channel Names #
+##################################
+DARMExcChannel: CAL-CS_LINE_SUM_DQ
+TSTExcChannel: SUS-ETMY_L3_CAL_LINE_OUT_DQ
+PUMExcChannel: SUS-ETMY_L2_CAL_LINE_OUT_DQ 
+UIMExcChannel: SUS-ETMY_L1_CAL_LINE_OUT_DQ
+PCALChannel: CAL-PCALY_TX_PD_OUT_DQ
+############################################
+# Calibraiton Line Frequency Channel Names #
+############################################
+DARMExcLineFreqChannel: None
+TSTExcLineFreqChannel: SUS-ETMY_L3_CAL_LINE_FREQ
+PUMExcLineFreqChannel: SUS-ETMY_L2_CAL_LINE_FREQ
+UIMExcLineFreqChannel: SUS-ETMY_L1_CAL_LINE_FREQ
+PCALLine1FreqChannel: None
+PCALLine2FreqChannel: CAL-CS_TDEP_CAVITY_POLE_PCAL_FREQ
+PCALLine3FreqChannel: None
+PCALLine4FreqChannel: CAL-CS_TDEP_D2N_SPRING_PCAL_FREQ
+# Coherence Uncertainty Channel Names #
+#######################################
+CohUncSusLine1Channel: CAL-CS_TDEP_SUS_LINE1_UNCERTAINTY
+CohUncSusLine2Channel: CAL-CS_TDEP_SUS_LINE2_UNCERTAINTY
+CohUncSusLine3Channel: CAL-CS_TDEP_SUS_LINE3_UNCERTAINTY
+CohUncPcalyLine1Channel: CAL-CS_TDEP_PCAL_LINE1_UNCERTAINTY
+CohUncPcalyLine2Channel: CAL-CS_TDEP_PCAL_LINE2_UNCERTAINTY
+CohUncPcalyLine4Channel: CAL-CS_TDEP_PCAL_LINE4_UNCERTAINTY
+CohUncDARMLine1Channel: CAL-CS_TDEP_DARM_LINE1_UNCERTAINTY
+###################################
+# Noise Subtraction Channel Names #
+###################################
+PowerLinesChannel: PEM-EY_MAINSMON_EBAY_1_DQ
+# Comma-separated list of witness channels to use to subtract noise from h(t)
+# Set to None if no witness channels are to be used
+#WitnessChannelList: IMC-WFS_A_DC_PIT_OUT_DQ,IMC-WFS_B_DC_PIT_OUT_DQ,IMC-WFS_A_DC_YAW_OUT_DQ,IMC-WFS_B_DC_YAW_OUT_DQ,PSL-DIAG_BULLSEYE_YAW_OUT_DQ,PSL-DIAG_BULLSEYE_WID_OUT_DQ,PSL-DIAG_BULLSEYE_PIT_OUT_DQ;ASC-DHARD_P_OUT_DQ,ASC-DHARD_Y_OUT_DQ,ASC-CHARD_P_OUT_DQ,ASC-CHARD_Y_OUT_DQ,LSC-SRCL_IN1_DQ,LSC-MICH_IN1_DQ,LSC-PRCL_IN1_DQ
+WitnessChannelList: None
+#IMC-WFS_A_DC_PIT_OUT_DQ,IMC-WFS_B_DC_PIT_OUT_DQ,IMC-WFS_A_DC_YAW_OUT_DQ,IMC-WFS_B_DC_YAW_OUT_DQ;PSL-DIAG_BULLSEYE_YAW_OUT_DQ,PSL-DIAG_BULLSEYE_WID_OUT_DQ,PSL-DIAG_BULLSEYE_PIT_OUT_DQ;ASC-DHARD_P_OUT_DQ,ASC-DHARD_Y_OUT_DQ,ASC-CHARD_P_OUT_DQ,ASC-CHARD_Y_OUT_DQ;LSC-SRCL_IN1_DQ,LSC-MICH_IN1_DQ,LSC-PRCL_IN1_DQ
+# What channel should we use to gate the noise subtraction and 60-Hz line subtraction
+NoiseSubGateChannel: ODC-MASTER_CHANNEL_OUT_DQ
+###############################
+# EPICS Records Channel Names #
+###############################
+EP1RealChannel: CAL-CS_TDEP_SUS_LINE3_REF_INVA_TST_RESPRATIO_REAL
+EP1ImagChannel: CAL-CS_TDEP_SUS_LINE3_REF_INVA_TST_RESPRATIO_IMAG
+EP2RealChannel: CAL-CS_TDEP_REF_CLGRATIO_CTRL_REAL
+EP2ImagChannel: CAL-CS_TDEP_REF_CLGRATIO_CTRL_IMAG
+EP3RealChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_USUM_INV_REAL
+EP3ImagChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_USUM_INV_IMAG
+EP4RealChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_TST_REAL
+EP4ImagChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_TST_IMAG
+EP5RealChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_USUM_REAL
+EP5ImagChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_USUM_IMAG
+EP6RealChannel: CAL-CS_TDEP_PCAL_LINE2_REF_C_NOCAVPOLE_REAL
+EP6ImagChannel: CAL-CS_TDEP_PCAL_LINE2_REF_C_NOCAVPOLE_IMAG
+EP7RealChannel: CAL-CS_TDEP_PCAL_LINE2_REF_D_REAL
+EP7ImagChannel: CAL-CS_TDEP_PCAL_LINE2_REF_D_IMAG
+EP8RealChannel: CAL-CS_TDEP_PCAL_LINE2_REF_A_TST_REAL
+EP8Imagchannel: CAL-CS_TDEP_PCAL_LINE2_REF_A_TST_IMAG
+EP9RealChannel: CAL-CS_TDEP_PCALY_LINE2_REF_A_USUM_REAL
+EP9ImagChannel: CAL-CS_TDEP_PCALY_LINE2_REF_A_USUM_IMAG
+EP10RealChannel: CAL-CS_TDEP_SUS_LINE3_REF_A_TST_NOLOCK_REAL
+EP10ImagChannel: CAL-CS_TDEP_SUS_LINE3_REF_A_TST_NOLOCK_IMAG
+EP11RealChannel: CAL-CS_TDEP_PCAL_LINE4_REF_C_NOCAVPOLE_REAL
+EP11ImagChannel: CAL-CS_TDEP_PCAL_LINE4_REF_C_NOCAVPOLE_IMAG
+EP12RealChannel: CAL-CS_TDEP_PCAL_LINE4_REF_D_REAL
+EP12ImagChannel: CAL-CS_TDEP_PCAL_LINE4_REF_D_IMAG
+EP13RealChannel: CAL-CS_TDEP_PCAL_LINE4_REF_A_TST_REAL
+EP13ImagChannel: CAL-CS_TDEP_PCAL_LINE4_REF_A_TST_IMAG
+EP14RealChannel: CAL-CS_TDEP_PCALY_LINE4_REF_A_USUM_REAL
+EP14ImagChannel: CAL-CS_TDEP_PCALY_LINE4_REF_A_USUM_IMAG
+EP15RealChannel: CAL-CS_TDEP_SUS_LINE2_REF_INVA_PUM_RESPRATIO_REAL
+EP15Imagchannel: CAL-CS_TDEP_SUS_LINE2_REF_INVA_PUM_RESPRATIO_IMAG
+EP16RealChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_UIM_INV_REAL
+EP16ImagChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_UIM_INV_IMAG
+EP17RealChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_PUM_REAL
+EP17ImagChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_PUM_IMAG
+EP18RealChannel: CAL-CS_TDEP_PCAL_LINE2_REF_A_PUM_REAL
+EP18ImagChannel: CAL-CS_TDEP_PCAL_LINE2_REF_A_PUM_IMAG
+EP19RealChannel: CAL-CS_TDEP_PCAL_LINE2_REF_A_UIM_REAL
+EP19ImagChannel: CAL-CS_TDEP_PCAL_LINE2_REF_A_UIM_IMAG
+EP20RealChannel: CAL-CS_TDEP_PCAL_LINE4_REF_A_PUM_REAL
+EP20ImagChannel: CAL-CS_TDEP_PCAL_LINE4_REF_A_PUM_IMAG
+EP21RealChannel: CAL-CS_TDEP_PCAL_LINE4_REF_A_UIM_REAL
+EP21ImagChannel: CAL-CS_TDEP_PCAL_LINE4_REF_A_UIM_IMAG
+EP22RealChannel: CAL-CS_TDEP_SUS_LINE1_REF_INVA_UIM_RESPRATIO_REAL
+EP22ImagChannel: CAL-CS_TDEP_SUS_LINE1_REF_INVA_UIM_RESPRATIO_IMAG
+EP23RealChannel: CAL-CS_TDEP_SUS_LINE2_REF_A_PUM_NOLOCK_REAL
+EP23ImagChannel: CAL-CS_TDEP_SUS_LINE2_REF_A_PUM_NOLOCK_IMAG
+EP24RealChannel: CAL-CS_TDEP_SUS_LINE1_REF_A_UIM_NOLOCK_REAL
+EP24ImagChannel: CAL-CS_TDEP_SUS_LINE1_REF_A_UIM_NOLOCK_IMAG
+
+[SampleRates]
+# Sample rate at which to compute h(t)
+HoftSR: 16384
+# Sample rate at which to compute CALIB_STATE_VECTOR
+CalibStateSR: 16
+# Sample rate of control channel
+# Should be 16384 if using DARM_CTRL and 4096 if using DELTAL_CTRL 
+CtrlSR: 4096
+# Sample rate of ODC channel
+ODCSR: 16384
+# Sample rate of TST excitation channel
+TSTExcSR: 512
+# Sample rate of PUM excitation channel
+PUMExcSR: 512
+# Sample rate of UIM excitation channel
+UIMExcSR: 512
+# Sample rate of coherence channels
+CohSR: 16
+# Sample rate for the EPICS reference channels
+EPICSRefSR: 16
+# Sample rate for power lines channel
+PowerLinesChannelSR: 1024
+# Sample rates at which transfer functions will be computed and witness channels will be filtered, given as a semicolon-separated list, e.g., 2048;2048;512;2048. This must be given if WitnessChannelList is not None, and it must be the same length.
+WitnessChannelSR: 2048;512
+# Sample rates at which to compute and record TDCFs
+ComputeFactorsSR: 16
+RecordFactorsSR: 16
+
+[Bitmasks]
+ObsReadyBitmask: 2
+ObsIntentBitmask: 2
+CBCHWInjBitmask: 16777216
+BurstHWInjBitmask: 33554432
+DetCharHWInjBitmask: 67108864
+StochHWInjBitmask: 8388608
+NoiseSubGateBitmask: 4
+
+[PipelineConfigurations]
+BufferLength: 1.0
+FrequencyDomainFiltering: No
+Dewhitening: No
+# Latency of all filtering/averaging/median processes (other than calibration model filters) as a fraction of filter length. Value should be set between 0.0 and 1.0.
+FilterLatency: 0.0
+
+[DataCleaningConfigurations]
+####################################################
+# Options for turning on and off noise subtraction #
+####################################################
+# Remove the DC component from the residual and control channels before filtering
+RemoveDC: No
+# Subtract the calibration lines from the h(t) spectrum
+RemoveCalLines: Yes
+# Subtract the power lines from the h(t) spectrum
+RemovePowerLines: Yes
+###################################################
+# Options for runing power mains line subtraction #
+###################################################
+PowerLinesTFMedianTime: 1
+#########################################
+# Options for running noise subtraction #
+#########################################
+# Amount by which frequency of power lines varies with time
+PowerLinesFreqVar: 0.02
+# Time over which to average the transfer function between the power mains witness channel and h(t) at 60 Hz and harmonics
+PowerLinesTFAveragingTime: 128
+#######################################
+# Options for broadband noise removal #
+#######################################
+# The length in seconds of the fast Fourier transforms used to compute transfer functions between witness channels and h(t). The fft's are windowed with Hann windows and overlapped.
+WitnessChannelFFTTime: 4.0
+# The number of ffts to take before averaging the witness -> h(t) transfer functions calculation. The average is taken after the ratio h(f) / witness(f).
+NumWitnessFFTs: 509
+# Sets the minimum number of FFTs necessary to produce the first transfer functions and clean data after data flow starts.
+MinWitnessFFTs: 200
+# The length in seconds of the filters applied to the witness channels before subtracting from h(t)
+WitnessFIRLength: 1.0
+# The frequency resolution of the filters applied to the witness channels before subtracting from h(t). It can be advantageous to lower the frequency resolution in order to average over excess noise.
+WitnessFrequencyResolution: 0.5
+# List of minima and maxima of frequency ranges where the Fourier transform of h(t) will be replaced by a straight line in the calculation of transfer functions between witness channels and h(t) for noise subtraction. Semicolons separate lists for different sets of witness channels. If no notches are desired, use zeros, e.g., \'0;0;0\'. Here is an example using the expected format: \'495.0,515.0,985.0,1015.0;59,60,119,121;0\' This can be useful, e.g., if there are loud lines in the signal that are not present in the witness channels.
+WitnessNotchFrequencies: 12.0,15.0,485.0,515.0,985.0,1015.0;0
+# Cutoff frequencies for high-pass filters for witness channels
+WitnessHighPasses: 12;10
+# The amount of time after transfer functions between witness channels and h(t) are finished to begin the calculation of the next set of transfer functions
+WitnessTFUpdateTime: 4
+# If lock-loss lasts at least this many seconds, transfer functions will revert to those computed at the beginning of a lock stretch. Set to zero to disbale.
+CriticalLockLossTime: 1800
+# The amount of time to use to taper in newly computed FIR filters for witness channels being used for noise subtraction.
+WitnessFilterTaperTime: 2
+# If writing transfer functions to file, this sets the name. If transfer functions should not be written to file, this should be set to None
+WitnessTFFilename: None
+# Should the transfer function calculation use a median? If not, an average (mean) is used.
+WitnessTFUseMedian: Yes
+# Should transfer functions be computed on a fixed schedule, so that the output does not depend on start time?  This is useful for running jobs in parallel.  Otherwise, they are computed asap.
+WitnessTFParallelMode: No
+# When using parallel mode, how many seconds later should we shift the time when transfer functions start being computed from a multiple of the cycle period?
+WitnessTFTimeShift: 360
+###############################
+# Options for HOFT_CLEAN bits #
+###############################
+# The amount of data from h(t) and cleaned h(t) that is used to compute and compare the rms. This comparison between cleaned and uncleaned h(t) determines whether the HOFT_CLEAN bits of the calibration state vector are on or off.
+CleaningCheckRMSTime: 20.0
+# Minimum of a range of frequencies in which we expect line/noise subtraction to be impactful. The HOFT_CLEAN_LOWFREQ_OK bit of the calibration state vector is determined based on whether rms of the cleaned data is less than that of uncleaned h(t) in this range.
+CleaningCheckRangeLowMin: 15
+# Maximum of a range of frequencies in which we expect line/noise subtraction to be impactful. The HOFT_CLEAN_LOWFREQ_OK bit of the calibration state vector is determined based on whether rms of the cleaned data is less than that of uncleaned h(t) in this range.
+CleaningCheckRangeLowMax: 40
+# Minimum of a range of frequencies in which we expect line/noise subtraction to be impactful. The HOFT_CLEAN_MIDFREQ_OK bit of the calibration state vector is determined based on whether rms of the cleaned data is less than that of uncleaned h(t) in this range.
+CleaningCheckRangeMidMin: 100
+# Maximum of a range of frequencies in which we expect line/noise subtraction to be impactful. The HOFT_CLEAN_MIDFREQ_OK bit of the calibration state vector is determined based on whether rms of the cleaned data is less than that of uncleaned h(t) in this range.
+CleaningCheckRangeMidMax: 500
diff --git a/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Filters/O3/GDSFilters/L1GDS_TEST_1231616859.npz b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Filters/O3/GDSFilters/L1GDS_TEST_1231616859.npz
new file mode 100644
index 0000000000000000000000000000000000000000..8ceed13f02357a3989ef7a17c85f6d02b8917554
Binary files /dev/null and b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Filters/O3/GDSFilters/L1GDS_TEST_1231616859.npz differ
diff --git a/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Filters/O3/GDSFilters/L1GDS_TEST_1231616859_v2.ini b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Filters/O3/GDSFilters/L1GDS_TEST_1231616859_v2.ini
new file mode 100644
index 0000000000000000000000000000000000000000..d1e16ce90d647c1a80897d9cbde2a57c2f808a9a
--- /dev/null
+++ b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Filters/O3/GDSFilters/L1GDS_TEST_1231616859_v2.ini
@@ -0,0 +1,400 @@
+[InputConfigurations]
+# Track what "version" of config file this is, so that the pipeline knows which options are present in this file
+ConfigVersion: 1
+# Filters file containing calibration FIR filters
+FiltersFileName: /home/calibration/svncommon/CalSVN/O3/GDSFilters/L1GDS_TEST_1231616859.npz
+# Data source should be set to frames or lvshm
+DataSource: lvshm
+FileChecksum: No
+# Right now, SkipBadFiles needs to be off when reading from frames
+SkipBadFiles: No
+############################################
+# If reading from frames use these options #
+############################################
+# None
+
+###################################################
+# If reading from shared memory use these options #
+###################################################
+SHMPartition: LLO_Online
+# Assumed duration of input frames in seconds
+InputFrameDuration: 1
+
+[OutputConfigurations]
+CompressionScheme: 6
+CompressionLevel: 3
+ChanPrefix: GDS-
+# Set to "None" if you do not want a channel suffix
+ChanSuffix: _TEST
+# Data sink should be set to frames or lvshm
+DataSink: lvshm
+#################################################
+# If writing to shared memory use these options #
+#################################################
+OutputSHMPartition: LLO_hoft
+BufferMode: 2
+# Use this to approximate the frame size (in bytes) when writing to shared memory
+FrameSize: 405338
+NumBuffers: 10
+###############################################
+# If writing to frame files use these options #
+###############################################
+FrameType: L1GDS_TEST
+
+[CalibrationConfigurations]
+IFO: L1
+# Set calibration mode to Full or Partial
+CalibrationMode: Partial
+ComputeCalibStateVector: Yes
+
+[DebuggingConfigurations]
+# If you want to write a pipeline graph, provide the graph name.  Otherwise, set name equal to None
+PipelineGraphFilename: None
+Verbose: No
+# Turn this on to write data presentation timestamps and real-time unix timestamps to file at the beginning and end of the pipeline, to measure latency
+TestLatency: No
+
+[TDCFConfigurations]
+#########################################################
+# Options related to time dependent correction  factors #
+#########################################################
+ComputeKappaTST: Yes
+ApplyKappaTST: No
+# Set this to have the \kappa_tst factors filter the actuation chain with an adaptive filter that corrects for both magnitude and phase errors.
+ApplyComplexKappaTST: No
+
+ComputeKappaPU: No
+ApplyKappaPU: No
+# Set this to have the \kappa_pu factors the actuation chain with an adaptive filter that corrects for both magnitude and phase errors
+ApplyComplexKappaPU: No
+
+ComputeKappaPUM: Yes
+ApplyKappaPUM: No
+# Set this to have the \kappa_p factors the actuation chain with an adaptive filter that corrects for both magnitude and phase errors.
+ApplyComplexKappaPUM: Yes
+
+ComputeKappaUIM: Yes
+ApplyKappaUIM: No
+# Set this to have the \kappa_u factors the actuation chain with an adaptive filter that corrects for both magnitude and phase errors.
+ApplyComplexKappaUIM: Yes
+
+ComputeKappaC: Yes
+ApplyKappaC: Yes
+
+ComputeFcc: Yes
+ApplyFcc: Yes
+
+ComputeSRCQ: Yes
+ApplySRCQ: Yes
+
+ComputeFs: Yes
+ApplyFs: Yes
+
+###########################################
+# Options related to the coherence gating #
+###########################################
+UseCoherence: Yes
+CoherenceUncThreshold: 0.02
+# Amount of time used in front-end to compute coherence
+CoherenceTime: 130
+###################################################################
+# Options related to the computation configurations for the TDCFs #
+###################################################################
+ComputeFactorsSR: 16
+RecordFactorsSR: 16
+# Length in seconds of low-pass FIR filter used in demodulation of the calibration lines
+DemodulationFilterTime: 20
+# Time (in seconds) to smooth out \kappas with a median-like method
+MedianSmoothingTime: 128
+TDCFAveragingTime: 10
+#If set to yes, bad computed kappas will be replaced by the previous computed median in the running median array. Otherwise, they are replaced with the default value
+TDCFDefaultToMedian: Yes
+# If using X-end Pcal, we need a minus sign, so set this to -1.0
+PcalSign: 1.0
+##################################################
+# Options related to updating cavity pole filter #
+##################################################
+# Duration of the Fcc filter in the time domain in seconds
+FccFilterDuration: 0.01
+# Number of seconds to average Fcc values before creating a new Fcc filter
+FccAveragingTime: 60 
+# Number of samples to be used when tapering old filter and ramping in new filter
+FccFilterTaperLength: 32768
+############################
+# Nominal values for TDCFs #
+############################
+ExpectedKappaTSTReal: 1.0
+ExpectedKappaTSTImag: 0.0
+ExpectedKappaPUMReal: 1.0
+ExpectedKappaPUMImag: 0.0
+ExpectedKappaUIMReal: 1.0
+ExpectedKappaUIMImag: 0.0
+ExpectedKappaPUReal: 1.0
+ExpectedKappaPUImag: 0.0
+ExpectedKappaC: 1.0
+# FIXME: Check if the code uses these if they're read in from the filers file
+ExpectedFcc: 445.0
+ExpectedFs: 0.35
+ExpectedSRCQ: 10
+################################
+# Acceptable variance in TDCFs #
+################################
+KappaTSTRealVar: 0.2
+KappaTSTImagVar: 0.2
+KappaPURealVar: 0.2
+KappaPUImagVar: 0.2
+KappaPUMRealVar: 0.2
+KappaPUMImagVar: 0.2
+KappaUIMRealVar: 0.2
+KappaUIMImagVar: 0.2
+KappaCVar: 0.2
+FccVar: 50.0
+FsVar: 5.0
+SRCQInvMin: 0.0
+SRCQInvMax: 0.5
+#######################
+# EPICS records input #
+#######################
+# Set to Yes if EPICS records for TDCF computations should be read from filters file.  If set to No, they will be read from frames
+FactorsFromFiltersFile: No
+##############################################################################################
+# Updating Sensing and Actuation filters with all frequency-dependent corrections parameters #
+##############################################################################################
+# Length of time (in seconds) between when inverse-sensing FIR filter is updated
+SensingFilterUpdateTime: 64
+# Length of time (in seconds) over which the smoothed time-dependent parameters of the sensing function are averaged before updating the filter
+SensingFilterAveragingTime: 1
+# Number of samples to be used when tapering old inverse sensing filter and ramping in new filter
+SensingFilterTaperLength: 32768
+# Length of time (in seconds) between when the actuation FIR filters are updated
+ActuationFilterUpdateTime: 64
+# Length of time (in seconds) over which the smoothed time-dependent parameters of the actuation function are averaged before updating the filter
+ActuationFilterAveragingTime: 1
+# Number of samples to be used when tapering old actuation filters and ramping in new filters
+ActuationFilterTaperLength: 32768
+
+[ChannelNames]
+#############################
+# Calibration Channel Names #
+#############################
+DARMCtrlChannel: CAL-DARM_CTRL_DBL_DQ
+DARMErrChannel: CAL-DARM_ERR_DBL_DQ
+DeltaLTSTChannel: CAL-DELTAL_CTRL_TST_DBL_DQ
+DeltaLPUMChannel: CAL-DELTAL_CTRL_PUM_DBL_DQ
+DeltaLUIMChannel: CAL-DELTAL_CTRL_UIM_DBL_DQ
+DeltaLResChannel: CAL-DELTAL_RESIDUAL_DBL_DQ
+####################################
+# Data Quality Vector Channel Name #
+####################################
+LowNoiseStateChannel: GRD-IFO_OK
+HWInjChannel: ODC-MASTER_CHANNEL_OUT_DQ
+ObsIntentChannel: ODC-MASTER_CHANNEL_OUT_DQ
+FilterClockChannelList: GRD-IFO_OK
+##################################
+# Calibration Line Channel Names #
+##################################
+DARMExcChannel: CAL-CS_LINE_SUM_DQ
+TSTExcChannel: SUS-ETMX_L3_CAL_LINE_OUT_DQ
+PUMExcChannel: SUS-ETMX_L2_CAL_LINE_OUT_DQ 
+UIMExcChannel: SUS-ETMX_L1_CAL_LINE_OUT_DQ
+PCALChannel: CAL-PCALY_TX_PD_OUT_DQ
+############################################
+# Calibraiton Line Frequency Channel Names #
+############################################
+#DARMExcLineFreqChannel: None
+#TSTExcLineFreqChannel: CAL-CS_TDEP_SUS_LINE3_COMPARISON_OSC_FREQ
+#PUMExcLineFreqChannel: CAL-CS_TDEP_SUS_LINE2_COMPARISON_OSC_FREQ
+#UIMExcLineFreqChannel: CAL-CS_TDEP_SUS_LINE1_COMPARISON_OSC_FREQ
+#PCALLine1FreqChannel: CAL-CS_TDEP_PCAL_LINE1_COMPARISON_OSC_FREQ
+#PCALLine2FreqChannel: CAL-CS_TDEP_PCAL_LINE2_COMPARISON_OSC_FREQ
+#PCALLine3FreqChannel: CAL-CS_TDEP_PCAL_LINE3_COMPARISON_OSC_FREQ
+#PCALLine4FreqChannel: CAL-CS_TDEP_PCAL_LINE4_COMPARISON_OSC_FREQ
+#######################################
+# Coherence Uncertainty Channel Names #
+#######################################
+CohUncSusLine1Channel: CAL-CS_TDEP_SUS_LINE1_UNCERTAINTY
+CohUncSusLine2Channel: CAL-CS_TDEP_SUS_LINE2_UNCERTAINTY
+CohUncSusLine3Channel: CAL-CS_TDEP_SUS_LINE3_UNCERTAINTY
+CohUncPcalyLine1Channel: CAL-CS_TDEP_PCAL_LINE1_UNCERTAINTY
+CohUncPcalyLine2Channel: CAL-CS_TDEP_PCAL_LINE2_UNCERTAINTY
+CohUncPcalyLine4Channel: CAL-CS_TDEP_PCAL_LINE4_UNCERTAINTY
+CohUncDARMLine1Channel: CAL-CS_TDEP_DARM_LINE1_UNCERTAINTY
+###################################
+# Noise Subtraction Channel Names #
+###################################
+PowerLinesChannel: PEM-EY_MAINSMON_EBAY_1_DQ
+# Comma-separated list of witness channels to use to subtract noise from h(t)
+# Set to None if no witness channels are to be used
+#WitnessChannelList: IMC-WFS_A_DC_PIT_OUT_DQ,IMC-WFS_B_DC_PIT_OUT_DQ,IMC-WFS_A_DC_YAW_OUT_DQ,IMC-WFS_B_DC_YAW_OUT_DQ,PSL-DIAG_BULLSEYE_YAW_OUT_DQ,PSL-DIAG_BULLSEYE_WID_OUT_DQ,PSL-DIAG_BULLSEYE_PIT_OUT_DQ;ASC-DHARD_P_OUT_DQ,ASC-DHARD_Y_OUT_DQ,ASC-CHARD_P_OUT_DQ,ASC-CHARD_Y_OUT_DQ,LSC-SRCL_IN1_DQ,LSC-MICH_IN1_DQ,LSC-PRCL_IN1_DQ
+WitnessChannelList: None
+#IMC-WFS_A_DC_PIT_OUT_DQ,IMC-WFS_B_DC_PIT_OUT_DQ,IMC-WFS_A_DC_YAW_OUT_DQ,IMC-WFS_B_DC_YAW_OUT_DQ;PSL-DIAG_BULLSEYE_YAW_OUT_DQ,PSL-DIAG_BULLSEYE_WID_OUT_DQ,PSL-DIAG_BULLSEYE_PIT_OUT_DQ;ASC-DHARD_P_OUT_DQ,ASC-DHARD_Y_OUT_DQ,ASC-CHARD_P_OUT_DQ,ASC-CHARD_Y_OUT_DQ;LSC-SRCL_IN1_DQ,LSC-MICH_IN1_DQ,LSC-PRCL_IN1_DQ
+# What channel should we use to gate the noise subtraction and 60-Hz line subtraction
+NoiseSubGateChannel: GRD-IFO_OK
+###############################
+# EPICS Records Channel Names #
+###############################
+EP1RealChannel: CAL-CS_TDEP_SUS_LINE3_REF_INVA_TST_RESPRATIO_REAL
+EP1ImagChannel: CAL-CS_TDEP_SUS_LINE3_REF_INVA_TST_RESPRATIO_IMAG
+EP2RealChannel: CAL-CS_TDEP_REF_CLGRATIO_CTRL_REAL
+EP2ImagChannel: CAL-CS_TDEP_REF_CLGRATIO_CTRL_IMAG
+EP3RealChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_USUM_INV_REAL
+EP3ImagChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_USUM_INV_IMAG
+EP4RealChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_TST_REAL
+EP4ImagChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_TST_IMAG
+EP5RealChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_USUM_REAL
+EP5ImagChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_USUM_IMAG
+EP6RealChannel: CAL-CS_TDEP_PCAL_LINE2_REF_C_NOCAVPOLE_REAL
+EP6ImagChannel: CAL-CS_TDEP_PCAL_LINE2_REF_C_NOCAVPOLE_IMAG
+EP7RealChannel: CAL-CS_TDEP_PCAL_LINE2_REF_D_REAL
+EP7ImagChannel: CAL-CS_TDEP_PCAL_LINE2_REF_D_IMAG
+EP8RealChannel: CAL-CS_TDEP_PCAL_LINE2_REF_A_TST_REAL
+EP8Imagchannel: CAL-CS_TDEP_PCAL_LINE2_REF_A_TST_IMAG
+EP9RealChannel: CAL-CS_TDEP_PCALY_LINE2_REF_A_USUM_REAL
+EP9ImagChannel: CAL-CS_TDEP_PCALY_LINE2_REF_A_USUM_IMAG
+EP10RealChannel: CAL-CS_TDEP_SUS_LINE3_REF_A_TST_NOLOCK_REAL
+EP10ImagChannel: CAL-CS_TDEP_SUS_LINE3_REF_A_TST_NOLOCK_IMAG
+EP11RealChannel: CAL-CS_TDEP_PCAL_LINE4_REF_C_NOCAVPOLE_REAL
+EP11ImagChannel: CAL-CS_TDEP_PCAL_LINE4_REF_C_NOCAVPOLE_IMAG
+EP12RealChannel: CAL-CS_TDEP_PCAL_LINE4_REF_D_REAL
+EP12ImagChannel: CAL-CS_TDEP_PCAL_LINE4_REF_D_IMAG
+EP13RealChannel: CAL-CS_TDEP_PCAL_LINE4_REF_A_TST_REAL
+EP13ImagChannel: CAL-CS_TDEP_PCAL_LINE4_REF_A_TST_IMAG
+EP14RealChannel: CAL-CS_TDEP_PCALY_LINE4_REF_A_USUM_REAL
+EP14ImagChannel: CAL-CS_TDEP_PCALY_LINE4_REF_A_USUM_IMAG
+EP15RealChannel: CAL-CS_TDEP_SUS_LINE2_REF_INVA_PUM_RESPRATIO_REAL
+EP15Imagchannel: CAL-CS_TDEP_SUS_LINE2_REF_INVA_PUM_RESPRATIO_IMAG
+EP16RealChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_UIM_INV_REAL
+EP16ImagChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_UIM_INV_IMAG
+EP17RealChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_PUM_REAL
+EP17ImagChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_PUM_IMAG
+EP18RealChannel: CAL-CS_TDEP_PCAL_LINE2_REF_A_PUM_REAL
+EP18ImagChannel: CAL-CS_TDEP_PCAL_LINE2_REF_A_PUM_IMAG
+EP19RealChannel: CAL-CS_TDEP_PCAL_LINE2_REF_A_UIM_REAL
+EP19ImagChannel: CAL-CS_TDEP_PCAL_LINE2_REF_A_UIM_IMAG
+EP20RealChannel: CAL-CS_TDEP_PCAL_LINE4_REF_A_PUM_REAL
+EP20ImagChannel: CAL-CS_TDEP_PCAL_LINE4_REF_A_PUM_IMAG
+EP21RealChannel: CAL-CS_TDEP_PCAL_LINE4_REF_A_UIM_REAL
+EP21ImagChannel: CAL-CS_TDEP_PCAL_LINE4_REF_A_UIM_IMAG
+EP22RealChannel: CAL-CS_TDEP_SUS_LINE1_REF_INVA_UIM_RESPRATIO_REAL
+EP22ImagChannel: CAL-CS_TDEP_SUS_LINE1_REF_INVA_UIM_RESPRATIO_IMAG
+EP23RealChannel: CAL-CS_TDEP_SUS_LINE2_REF_A_PUM_NOLOCK_REAL
+EP23ImagChannel: CAL-CS_TDEP_SUS_LINE2_REF_A_PUM_NOLOCK_IMAG
+EP24RealChannel: CAL-CS_TDEP_SUS_LINE1_REF_A_UIM_NOLOCK_REAL
+EP24ImagChannel: CAL-CS_TDEP_SUS_LINE1_REF_A_UIM_NOLOCK_IMAG
+
+[SampleRates]
+# Sample rate at which to compute h(t)
+HoftSR: 16384
+# Sample rate at which to compute CALIB_STATE_VECTOR
+CalibStateSR: 16
+# Sample rate of control channel
+# Should be 16384 if using DARM_CTRL and 4096 if using DELTAL_CTRL 
+CtrlSR: 4096
+# Sample rate of low noise state channel
+LowNoiseSR: 16
+# Sample rate of HW injection channel
+HWInjSR: 16384
+# Sample rate of observation intent channel
+ObsIntentSR: 16384
+# Sample rate list for chanels being used to trigger filter settling clock
+FilterClockSRList: 16
+# Sample rate of TST excitation channel
+TSTExcSR: 512
+# Sample rate of PUM excitation channel
+PUMExcSR: 512
+# Sample rate of UIM excitation channel
+UIMExcSR: 512
+# Sample rate of coherence channels
+CohSR: 16
+# Sample rate for the EPICS reference channels
+EPICSRefSR: 16
+# Sample rate for power lines channel
+PowerLinesChannelSR: 1024
+# Sample rates at which transfer functions will be computed and witness channels will be filtered, given as a semicolon-separated list, e.g., 2048;2048;512;2048. This must be given if WitnessChannelList is not None, and it must be the same length.
+WitnessChannelSR: 2048;512
+# Sample rates at which to compute and record TDCFs
+ComputeFactorsSR: 16
+RecordFactorsSR: 16
+
+[Bitmasks]
+ObsReadyBitmask: 1
+ObsIntentBitmask: 2
+NoiseSubGateBitmask: 1
+FilterClockBitmaskList: 1
+CBCHWInjBitmask: 16777216
+BurstHWInjBitmask: 33554432
+DetCharHWInjBitmask: 67108864
+StochHWInjBitmask: 8388608
+
+[PipelineConfigurations]
+BufferLength: 1.0
+FrequencyDomainFiltering: No
+Dewhitening: No
+# Latency of all filtering/averaging/median processes (other than calibration model filters) as a fraction of filter length. Value should be set between 0.0 and 1.0.
+FilterLatency: 0.0
+
+[DataCleaningConfigurations]
+####################################################
+# Options for turning on and off noise subtraction #
+####################################################
+# Remove the DC component from the residual and control channels before filtering
+RemoveDC: No
+# Subtract the calibration lines from the h(t) spectrum
+RemoveCalLines: Yes
+# Subtract the power lines from the h(t) spectrum
+RemovePowerLines: Yes
+###################################################
+# Options for runing power mains line subtraction #
+###################################################
+PowerLinesTFMedianTime: 1
+#########################################
+# Options for running noise subtraction #
+#########################################
+# Amount by which frequency of power lines varies with time
+PowerLinesFreqVar: 0.02
+# Time over which to average the transfer function between the power mains witness channel and h(t) at 60 Hz and harmonics
+PowerLinesTFAveragingTime: 128
+#######################################
+# Options for broadband noise removal #
+#######################################
+# The length in seconds of the fast Fourier transforms used to compute transfer functions between witness channels and h(t). The fft's are windowed with Hann windows and overlapped.
+WitnessChannelFFTTime: 4.0
+# The number of ffts to take before averaging the witness -> h(t) transfer functions calculation. The average is taken after the ratio h(f) / witness(f).
+NumWitnessFFTs: 509
+# Sets the minimum number of FFTs necessary to produce the first transfer functions and clean data after data flow starts.
+MinWitnessFFTs: 200
+# The length in seconds of the filters applied to the witness channels before subtracting from h(t)
+WitnessFIRLength: 1.0
+# The frequency resolution of the filters applied to the witness channels before subtracting from h(t). It can be advantageous to lower the frequency resolution in order to average over excess noise.
+WitnessFrequencyResolution: 0.5
+# List of minima and maxima of frequency ranges where the Fourier transform of h(t) will be replaced by a straight line in the calculation of transfer functions between witness channels and h(t) for noise subtraction. Semicolons separate lists for different sets of witness channels. If no notches are desired, use zeros, e.g., \'0;0;0\'. Here is an example using the expected format: \'495.0,515.0,985.0,1015.0;59,60,119,121;0\' This can be useful, e.g., if there are loud lines in the signal that are not present in the witness channels.
+WitnessNotchFrequencies: 12.0,15.0,485.0,515.0,985.0,1015.0;0
+# Cutoff frequencies for high-pass filters for witness channels
+WitnessHighPasses: 12;10
+# The amount of time after transfer functions between witness channels and h(t) are finished to begin the calculation of the next set of transfer functions
+WitnessTFUpdateTime: 4
+# If lock-loss lasts at least this many seconds, transfer functions will revert to those computed at the beginning of a lock stretch. Set to zero to disbale.
+CriticalLockLossTime: 1800
+# The amount of time to use to taper in newly computed FIR filters for witness channels being used for noise subtraction.
+WitnessFilterTaperTime: 2
+# If writing transfer functions to file, this sets the name. If transfer functions should not be written to file, this should be set to None
+WitnessTFFilename: None
+# Should the transfer function calculation use a median? If not, an average (mean) is used.
+WitnessTFUseMedian: Yes
+# Should transfer functions be computed on a fixed schedule, so that the output does not depend on start time?  This is useful for running jobs in parallel.  Otherwise, they are computed asap.
+WitnessTFParallelMode: No
+# When using parallel mode, how many seconds later should we shift the time when transfer functions start being computed from a multiple of the cycle period?
+WitnessTFTimeShift: 360
+###############################
+# Options for HOFT_CLEAN bits #
+###############################
+# The amount of data from h(t) and cleaned h(t) that is used to compute and compare the rms. This comparison between cleaned and uncleaned h(t) determines whether the HOFT_CLEAN bits of the calibration state vector are on or off.
+CleaningCheckRMSTime: 20.0
+# Minimum of a range of frequencies in which we expect line/noise subtraction to be impactful. The HOFT_CLEAN_LOWFREQ_OK bit of the calibration state vector is determined based on whether rms of the cleaned data is less than that of uncleaned h(t) in this range.
+CleaningCheckRangeLowMin: 15
+# Maximum of a range of frequencies in which we expect line/noise subtraction to be impactful. The HOFT_CLEAN_LOWFREQ_OK bit of the calibration state vector is determined based on whether rms of the cleaned data is less than that of uncleaned h(t) in this range.
+CleaningCheckRangeLowMax: 40
+# Minimum of a range of frequencies in which we expect line/noise subtraction to be impactful. The HOFT_CLEAN_MIDFREQ_OK bit of the calibration state vector is determined based on whether rms of the cleaned data is less than that of uncleaned h(t) in this range.
+CleaningCheckRangeMidMin: 100
+# Maximum of a range of frequencies in which we expect line/noise subtraction to be impactful. The HOFT_CLEAN_MIDFREQ_OK bit of the calibration state vector is determined based on whether rms of the cleaned data is less than that of uncleaned h(t) in this range.
+CleaningCheckRangeMidMax: 500
diff --git a/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Frames/O3/L1/GDS/L-L1_TEST-1237809920-64.gwf b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Frames/O3/L1/GDS/L-L1_TEST-1237809920-64.gwf
new file mode 100644
index 0000000000000000000000000000000000000000..82f270129b8b8298dbe013b7698050fa29ef30b3
Binary files /dev/null and b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Frames/O3/L1/GDS/L-L1_TEST-1237809920-64.gwf differ
diff --git a/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Frames/O3/L1/GDS/L-L1_TEST-1237809984-64.gwf b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Frames/O3/L1/GDS/L-L1_TEST-1237809984-64.gwf
new file mode 100644
index 0000000000000000000000000000000000000000..210b9195ae6f9208bc3fefaea4c734ae6e6f54b0
Binary files /dev/null and b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Frames/O3/L1/GDS/L-L1_TEST-1237809984-64.gwf differ
diff --git a/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Frames/O3/L1/GDS/L-L1_TEST-1237810048-64.gwf b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Frames/O3/L1/GDS/L-L1_TEST-1237810048-64.gwf
new file mode 100644
index 0000000000000000000000000000000000000000..226e0e9043195c5a06154d603ab85236377fa059
Binary files /dev/null and b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Frames/O3/L1/GDS/L-L1_TEST-1237810048-64.gwf differ
diff --git a/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Frames/O3/L1/GDS/L-L1_TEST-1237810112-64.gwf b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Frames/O3/L1/GDS/L-L1_TEST-1237810112-64.gwf
new file mode 100644
index 0000000000000000000000000000000000000000..f6b642e025a32a2835867dfdf44b531ec4aebf7a
Binary files /dev/null and b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Frames/O3/L1/GDS/L-L1_TEST-1237810112-64.gwf differ
diff --git a/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/L1_1237809936_1237810152_ASD_residual.png b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/L1_1237809936_1237810152_ASD_residual.png
new file mode 100644
index 0000000000000000000000000000000000000000..20e9f448e3eb622170b0345465091fc0a8fdd732
Binary files /dev/null and b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/L1_1237809936_1237810152_ASD_residual.png differ
diff --git a/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/L1_1237809936_1237810152_all_tf.png b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/L1_1237809936_1237810152_all_tf.png
new file mode 100644
index 0000000000000000000000000000000000000000..98a620e3421901362e63b5f39c5c98890c6cddd4
Binary files /dev/null and b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/L1_1237809936_1237810152_all_tf.png differ
diff --git a/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/L1_1237809936_1237810152_all_tf_ratio.png b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/L1_1237809936_1237810152_all_tf_ratio.png
new file mode 100644
index 0000000000000000000000000000000000000000..6fc2ccc17a12c3201df54bdfd8457d7c1e226f4b
Binary files /dev/null and b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/L1_1237809936_1237810152_all_tf_ratio.png differ
diff --git a/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/L1_1237809936_1237810152_all_tf_ratio_zoomed.png b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/L1_1237809936_1237810152_all_tf_ratio_zoomed.png
new file mode 100644
index 0000000000000000000000000000000000000000..64318f49fd454a6a1d2a16e8f71c12495426ac78
Binary files /dev/null and b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/L1_1237809936_1237810152_all_tf_ratio_zoomed.png differ
diff --git a/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/L1_1237809936_1237810152_calib_state_vector.png b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/L1_1237809936_1237810152_calib_state_vector.png
new file mode 100644
index 0000000000000000000000000000000000000000..e6eeb6ff0cc739d0b73397683eba2f48193ec4dd
Binary files /dev/null and b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/L1_1237809936_1237810152_calib_state_vector.png differ
diff --git a/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/L1_1237809936_1237810152_plot_GDS-CALIB_F_CC.png b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/L1_1237809936_1237810152_plot_GDS-CALIB_F_CC.png
new file mode 100644
index 0000000000000000000000000000000000000000..9afb59c4e338b3f71c3c9fd90ae9cff936e9bedd
Binary files /dev/null and b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/L1_1237809936_1237810152_plot_GDS-CALIB_F_CC.png differ
diff --git a/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/L1_1237809936_1237810152_plot_GDS-CALIB_F_S_SQUARED.png b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/L1_1237809936_1237810152_plot_GDS-CALIB_F_S_SQUARED.png
new file mode 100644
index 0000000000000000000000000000000000000000..e1ebf128b03bc4dd467940d9cd7ffe54c5b82791
Binary files /dev/null and b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/L1_1237809936_1237810152_plot_GDS-CALIB_F_S_SQUARED.png differ
diff --git a/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/L1_1237809936_1237810152_plot_GDS-CALIB_KAPPA_C.png b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/L1_1237809936_1237810152_plot_GDS-CALIB_KAPPA_C.png
new file mode 100644
index 0000000000000000000000000000000000000000..fbe3df9a419af92f667914ddb681364e882b43ec
Binary files /dev/null and b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/L1_1237809936_1237810152_plot_GDS-CALIB_KAPPA_C.png differ
diff --git a/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/L1_1237809936_1237810152_plot_GDS-CALIB_KAPPA_PUM_IMAGINARY.png b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/L1_1237809936_1237810152_plot_GDS-CALIB_KAPPA_PUM_IMAGINARY.png
new file mode 100644
index 0000000000000000000000000000000000000000..729002415ef6e8d17984c375de8d682cd8acd8b1
Binary files /dev/null and b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/L1_1237809936_1237810152_plot_GDS-CALIB_KAPPA_PUM_IMAGINARY.png differ
diff --git a/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/L1_1237809936_1237810152_plot_GDS-CALIB_KAPPA_PUM_REAL.png b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/L1_1237809936_1237810152_plot_GDS-CALIB_KAPPA_PUM_REAL.png
new file mode 100644
index 0000000000000000000000000000000000000000..04c543dc2d6169f983d8944ba56306f42b6fa3b9
Binary files /dev/null and b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/L1_1237809936_1237810152_plot_GDS-CALIB_KAPPA_PUM_REAL.png differ
diff --git a/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/L1_1237809936_1237810152_plot_GDS-CALIB_KAPPA_TST_IMAGINARY.png b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/L1_1237809936_1237810152_plot_GDS-CALIB_KAPPA_TST_IMAGINARY.png
new file mode 100644
index 0000000000000000000000000000000000000000..d4ab1bdf07e359eea24923412de3231ef6713b9e
Binary files /dev/null and b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/L1_1237809936_1237810152_plot_GDS-CALIB_KAPPA_TST_IMAGINARY.png differ
diff --git a/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/L1_1237809936_1237810152_plot_GDS-CALIB_KAPPA_TST_REAL.png b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/L1_1237809936_1237810152_plot_GDS-CALIB_KAPPA_TST_REAL.png
new file mode 100644
index 0000000000000000000000000000000000000000..3390ef942f17e4dc3baf86d70f16274b6b4ad9f1
Binary files /dev/null and b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/L1_1237809936_1237810152_plot_GDS-CALIB_KAPPA_TST_REAL.png differ
diff --git a/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/L1_1237809936_1237810152_plot_GDS-CALIB_KAPPA_UIM_IMAGINARY.png b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/L1_1237809936_1237810152_plot_GDS-CALIB_KAPPA_UIM_IMAGINARY.png
new file mode 100644
index 0000000000000000000000000000000000000000..19988b4b34079a6ecff109e9f7233344ba7492b3
Binary files /dev/null and b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/L1_1237809936_1237810152_plot_GDS-CALIB_KAPPA_UIM_IMAGINARY.png differ
diff --git a/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/L1_1237809936_1237810152_plot_GDS-CALIB_KAPPA_UIM_REAL.png b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/L1_1237809936_1237810152_plot_GDS-CALIB_KAPPA_UIM_REAL.png
new file mode 100644
index 0000000000000000000000000000000000000000..b83f5cbc5026e50cb70a6de8cce8082409d4d433
Binary files /dev/null and b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/L1_1237809936_1237810152_plot_GDS-CALIB_KAPPA_UIM_REAL.png differ
diff --git a/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/L1_1237809936_1237810152_plot_GDS-CALIB_SRC_Q_INVERSE.png b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/L1_1237809936_1237810152_plot_GDS-CALIB_SRC_Q_INVERSE.png
new file mode 100644
index 0000000000000000000000000000000000000000..36a5555354bd4751529351a924b837adb2c7e63d
Binary files /dev/null and b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/L1_1237809936_1237810152_plot_GDS-CALIB_SRC_Q_INVERSE.png differ
diff --git a/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/L1_1237809936_1237810152_spectrum_comparison.png b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/L1_1237809936_1237810152_spectrum_comparison.png
new file mode 100644
index 0000000000000000000000000000000000000000..a5a53544bc193433de27646a4ad46c5a07c1d9f1
Binary files /dev/null and b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/L1_1237809936_1237810152_spectrum_comparison.png differ
diff --git a/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/L1_hoft_GDS_frames.cache b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/L1_hoft_GDS_frames.cache
new file mode 100644
index 0000000000000000000000000000000000000000..2f608b28491725fb9cc64c1d6cf4620ae48597c4
--- /dev/null
+++ b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/L1_hoft_GDS_frames.cache
@@ -0,0 +1,4 @@
+L L1_TEST 1237809920 64 file://localhost/home/wademc/src/gstlal/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Frames/O3/L1/GDS/L-L1_TEST-1237809920-64.gwf
+L L1_TEST 1237809984 64 file://localhost/home/wademc/src/gstlal/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Frames/O3/L1/GDS/L-L1_TEST-1237809984-64.gwf
+L L1_TEST 1237810048 64 file://localhost/home/wademc/src/gstlal/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Frames/O3/L1/GDS/L-L1_TEST-1237810048-64.gwf
+L L1_TEST 1237810112 64 file://localhost/home/wademc/src/gstlal/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Frames/O3/L1/GDS/L-L1_TEST-1237810112-64.gwf
diff --git a/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/L1_raw_frames.cache b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/L1_raw_frames.cache
new file mode 100644
index 0000000000000000000000000000000000000000..fc34aa9243596b250b6604ee8d340a6b73eef922
--- /dev/null
+++ b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/L1_raw_frames.cache
@@ -0,0 +1,9 @@
+L L1_R 1237809664 64 file://localhost/hdfs/frames/ER14/raw/L1/L-L1_R-12378/L-L1_R-1237809664-64.gwf
+L L1_R 1237809728 64 file://localhost/hdfs/frames/ER14/raw/L1/L-L1_R-12378/L-L1_R-1237809728-64.gwf
+L L1_R 1237809792 64 file://localhost/hdfs/frames/ER14/raw/L1/L-L1_R-12378/L-L1_R-1237809792-64.gwf
+L L1_R 1237809856 64 file://localhost/hdfs/frames/ER14/raw/L1/L-L1_R-12378/L-L1_R-1237809856-64.gwf
+L L1_R 1237809920 64 file://localhost/hdfs/frames/ER14/raw/L1/L-L1_R-12378/L-L1_R-1237809920-64.gwf
+L L1_R 1237809984 64 file://localhost/hdfs/frames/ER14/raw/L1/L-L1_R-12378/L-L1_R-1237809984-64.gwf
+L L1_R 1237810048 64 file://localhost/hdfs/frames/ER14/raw/L1/L-L1_R-12378/L-L1_R-1237810048-64.gwf
+L L1_R 1237810112 64 file://localhost/hdfs/frames/ER14/raw/L1/L-L1_R-12378/L-L1_R-1237810112-64.gwf
+L L1_R 1237810176 64 file://localhost/hdfs/frames/ER14/raw/L1/L-L1_R-12378/L-L1_R-1237810176-64.gwf
diff --git a/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Makefile.ASD_comparison b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Makefile.ASD_comparison
new file mode 100644
index 0000000000000000000000000000000000000000..e3d0cb79c8f55eabb046084fe9ae52ff9aba1e37
--- /dev/null
+++ b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Makefile.ASD_comparison
@@ -0,0 +1,8 @@
+all: ASD_comparison_plots
+
+ASD_comparison_plots: 
+	python ../../check_calibration/ASD_comparison_plots --ifo $(IFO)1 --gps-start-time $(SHORT_PLOT_START) --gps-end-time $(SHORT_PLOT_END) --raw-frame-cache $(IFO)1_raw_frames.cache --hoft-frame-cache $(IFO)1_hoft_GDS_frames.cache --calcs-channel-name CAL-DELTAL_EXTERNAL_DQ --analyze-additional-hoft-channel --additional-hoft-channel-name CAL-CFTD_DELTAL_EXTERNAL_DQ --additional-hoft-frame-cache $(IFO)1_raw_frames.cache
+
+clean: 
+	rm *.png 
+
diff --git a/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Makefile.all_tests b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Makefile.all_tests
new file mode 100644
index 0000000000000000000000000000000000000000..024bec7f208a561a0d6fb381583931269776f2ca
--- /dev/null
+++ b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Makefile.all_tests
@@ -0,0 +1,104 @@
+# This makefile can be used to run all of the tests instead of running them one by one.
+
+# Indicate IFO and observing run
+# Note: Make sure that there is no space after the L or H! 
+# Another note: Livingston cluster cannot run this for IFO = H. Make sure that the cluster you're using has the raw frames you want. 
+export IFO=L
+# OBSRUN inidcates where to look for filters files (e.g. O1, O2, O3, ER10, ER13, ER14, PreER13, PreER14)
+#export OBSRUN=O2
+export OBSRUN=O3
+
+# Set start and stop times for a short lock stretch
+export SHORT_START=1237809716
+export SHORT_END=1237810216
+# Set start and stop times for a longer stretch that spans a lock-unlock stretch
+export LONG_START = 1228350334
+export LONG_END = 1228352985
+export SHMRUNTIME=400
+
+# How much time does the calibraiton need to settle at the start and end?
+PLOT_WARMUP_TIME = 220
+PLOT_COOLDOWN_TIME = 64
+export SHORT_PLOT_START=$(shell echo $(SHORT_START) + $(PLOT_WARMUP_TIME) | bc)
+export LONG_PLOT_START=$(shell echo $(LONG_START) + $(PLOT_WARMUP_TIME) | bc)
+export SHORT_PLOT_END=$(shell echo $(SHORT_END) - $(PLOT_COOLDOWN_TIME) | bc) 
+export LONG_PLOT_END=$(shell echo $(LONG_END) - $(PLOT_COOLDOWN_TIME) | bc) 
+
+# Point to all of the .ini files for different configurations
+#export GDSCONFIGS=H1GDS_1232821094_gstlal-calibration-1-2-7.ini
+export GDSCONFIGS=test.ini 
+#export GDSCONFIGSNOKAPPAS=H1GDS_1228712903_test_no_kappas.ini 
+
+# Needed for writing pipeline graphs
+export GST_DEBUG_DUMP_DOT_DIR=.
+
+all: ASD_comparison statevector timeserieskappas response_function
+
+# Create frame cache files for raw, C00, C01, and C02 frames
+$(IFO)1_raw_frames.cache:
+	gw_data_find -o $(IFO) -t $(IFO)1_R -s $(SHORT_START) -e $(SHORT_END) -l --url-type file > $@
+
+$(IFO)1_C00_frames.cache:
+	gw_data_find -o $(IFO) -t $(IFO)1_HOFT_C00 -s $(SHORT_START) -e $(SHORT_END) -l --url-type file > $@
+
+$(IFO)1_C01_frames.cache:
+	gw_data_find -o $(IFO) -t $(IFO)1_HOFT_C01 -s $(SHORT_START) -e $(SHORT_END) -l --url-type file > $@
+
+$(IFO)1_C02_frames.cache:
+	gw_data_find -o $(IFO) -t $(IFO)1_HOFT_C02 -s $(SHORT_START) -e $(SHORT_END) -l --url-type file > $@
+
+
+# Calibrate GDS testing data
+$(IFO)1_hoft_GDS_frames.cache: $(IFO)1_raw_frames.cache filters framesdir
+	#gstlal_compute_strain --gps-start-time $(SHORT_START) --gps-end-time $(SHORT_END) --frame-cache $(IFO)1_raw_frames.cache --output-path Frames/$(OBSRUN)/$(IFO)1/GDS/ --frame-duration=64 --frames-per-file=1 --wings=0 --config-file $(GDSCONFIGS)
+	ls Frames/$(OBSRUN)/$(IFO)1/GDS/$(IFO)-$(IFO)1_TEST-*.gwf | lalapps_path2cache > $@
+
+# Calibrate GDS testing data with no kappas applied for response function test
+$(IFO)1_hoft_GDS_no_kappas_frames.cache: $(IFO)1_raw_frames.cache filters framesdir
+	#gstlal_compute_strain --gps-start-time $(SHORT_START) --gps-end-time $(SHORT_END) --frame-cache $(IFO)1_raw_frames.cache --output-path Frames/$(OBSRUN)/$(IFO)1/GDS/ --frame-duration=64 --frames-per-file=1 --wings=0 --config-file $(GDSCONFIGSNOKAPPAS)
+	#ls Frames/$(OBSRUN)/$(IFO)1/GDS/$(IFO)-$(IFO)1GDS_TEST_NOKAPPAS*.gwf | lalapps_path2cache > $@
+
+
+filters:
+	if [ -d Filters/$(OBSRUN)/GDSFilters ]; then \
+                svn up Filters/$(OBSRUN)/GDSFilters; \
+        else \
+                mkdir -p Filters/$(OBSRUN); \
+                cd Filters/$(OBSRUN); \
+                svn co https://svn.ligo.caltech.edu/svn/aligocalibration/trunk/Runs/$(OBSRUN)/GDSFilters; \
+        fi
+
+framesdir:
+	mkdir -p Frames/$(OBSRUN)/$(IFO)1/easy_raw
+	mkdir -p Frames/$(OBSRUN)/$(IFO)1/GDS
+	mkdir -p Frames/$(OBSRUN)/$(IFO)1/DCS
+
+
+response_function: $(IFO)1_hoft_GDS_frames.cache $(IFO)1_raw_frames.cache
+	make -f Makefile.response_function
+
+ASD_comparison: $(IFO)1_raw_frames.cache $(IFO)1_hoft_GDS_frames.cache
+	make -f Makefile.ASD_comparison
+
+statevector: $(IFO)1_hoft_GDS_frames.cache
+	make -f Makefile.statevector
+
+timeserieskappas:  $(IFO)1_hoft_GDS_frames.cache 
+	make -f Makefile.timeserieskappas
+
+pcal_to_darm: $(IFO)1_raw_frames.cache $(IFO)1_hoft_GDS_frames.cache
+	make -f Makefile.pcal_to_darm
+
+# FIXME: This is seg faulting for me right now
+calib_version_comparison: $(IFO)1_hoft_GDS_frames.cache $(IFO)1_C02_frames.cache
+	make -f Makefile.calib_version_comparison
+
+# Need to clean up this clean command
+clean: 
+	rm -rf Frames/
+	rm -rf Filters/
+	rm *.p*
+	rm *.dot
+	rm *.txt
+
+
diff --git a/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Makefile.calib_version_comparison b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Makefile.calib_version_comparison
new file mode 100644
index 0000000000000000000000000000000000000000..43ee130b15d97ca52b649fc784cd17864b0c15b4
--- /dev/null
+++ b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Makefile.calib_version_comparison
@@ -0,0 +1,8 @@
+all: GDS_over_C02
+
+GDS_over_C02: $(IFO)1_hoft_GDS_frames.cache $(IFO)1_C02_frames.cache
+	python ../../check_calibration/plot_transfer_function.py --gps-start-time $(SHORT_PLOT_START) --gps-end-time $(SHORT_PLOT_END) --ifo $(IFO)1 --numerator-frame-cache-list $(IFO)1_hoft_GDS_frames.cache --denominator-frame-cache $(IFO)1_C02_frames.cache --numerator-channel-list GDS-CALIB_STRAIN --denominator-channel-name DCS-CALIB_STRAIN_C02 --denominator-name 'C02' --numerator-name 'GDS_TEST --magnitude-min 0.7 --magnitude-max 1.3 --phase-min -20.0 --phase-max 20.0 --labels 'GDS Test / C02 Transfer Function'
+
+clean:
+	*.png
+
diff --git a/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Makefile.latency b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Makefile.latency
new file mode 100644
index 0000000000000000000000000000000000000000..03cbc521ef02be6cfe141b100531d599757df60a
--- /dev/null
+++ b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Makefile.latency
@@ -0,0 +1,8 @@
+all: latency_test
+
+latency_test: $(IFO)1_hoft_GDS_SHM_frames.cache
+	python ../../check_calibration/latency_plot.py --intime-file gstlal_compute_strain_timestamps_in.txt --outtime-file gstlal_compute_strain_timestamps_out.txt --plot-filename-prefix $(IFO)1GDS_latency --plot-title '$(IFO)1 Calibration Latency vs Time'
+
+clean:
+	rm *.png
+
diff --git a/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Makefile.lines_ratio b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Makefile.lines_ratio
new file mode 100644
index 0000000000000000000000000000000000000000..ae6edaaae15e37bb514de8ab2a4935a06bb3f277
--- /dev/null
+++ b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Makefile.lines_ratio
@@ -0,0 +1,8 @@
+all: lines_ratio_DCS
+
+lines_ratio_DCS: $(IFO)1_hoft_DCS_frames.cache
+	python ../../check_calibration/demod_ratio_timeseries.py --ifo $(IFO)1 --gps-end-time $(SHORT_PLOT_END) --gps-start-time $(SHORT_PLOT_START) --denominator-frame-cache $(IFO)1_hoft_DCS_frames.cache --numerator-frame-cache $(IFO)1_hoft_DCS_frames.cache --denominator-channel-name 'DCS-CALIB_STRAIN' --numerator-channel-name 'DCS-CALIB_STRAIN_CLEAN' --frequencies '35.9,36.7,331.9,1083.7;60,120,180' --magnitude-ranges '0.0,0.1;0.0,1.0' --phase-ranges '-180.0,180.0;-180.0,180.0' --plot-titles '$(IFO)1 Calibration Line Subtraction;$(IFO)1 Power Mains Line Subtraction'
+
+clean:
+	rm *.gwf *.cache *.png *.txt
+
diff --git a/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Makefile.noise_subtraction_tf b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Makefile.noise_subtraction_tf
new file mode 100644
index 0000000000000000000000000000000000000000..b26758c95a0e294128e3c878650640305306c9c0
--- /dev/null
+++ b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Makefile.noise_subtraction_tf
@@ -0,0 +1,8 @@
+all: noise_subtraction_tf_DCS
+
+noise_subtraction_tf_DCS: $(IFO)1_hoft_DCS_frames.cache
+	python ../../check_calibration/plot_transfer_function.py --gps-start-time $(SHORT_PLOT_START) --gps-end-time $(SHORT_PLOT_END) --ifo $(IFO)1 --numerator-frame-cache $(IFO)1_hoft_DCS_frames.cache --denominator-frame-cache $(IFO)1_hoft_DCS_frames.cache --numerator-channel-name DCS-CALIB_STRAIN_CLEAN --denominator-channel-name DCS-CALIB_STRAIN --magnitude-min 0.0 --magnitude-max 1.5 --phase-min -20.0 --phase-max 20.0 --plot-title 'Noise Subtraction Transfer Function'
+
+clean:
+	rm *.gwf *.cache *.png *.txt
+
diff --git a/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Makefile.response_function b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Makefile.response_function
new file mode 100644
index 0000000000000000000000000000000000000000..c6ff7de1d85e42b5b039ce3c55d964211287ac3f
--- /dev/null
+++ b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Makefile.response_function
@@ -0,0 +1,11 @@
+all: GDS_response_function_bode_plot
+
+FILTERS_FILE = /home/wademc/src/gstlal/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Filters/O3/GDSFilters/L1GDS_1237770582.npz
+
+GDS_response_function_bode_plot: 
+	python ../../check_calibration/response_function.py --gps-start-time $(SHORT_PLOT_START) --gps-end-time $(SHORT_PLOT_END) --dt 6.103515625e-05 --ifo $(IFO)1 --hoft-frames-cache $(IFO)1_hoft_GDS_frames.cache --raw-frames-cache $(IFO)1_raw_frames.cache --response-file $(FILTERS_FILE) 
+
+
+clean: 
+	rm *.pdf
+
diff --git a/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Makefile.statevector b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Makefile.statevector
new file mode 100644
index 0000000000000000000000000000000000000000..5733f7338eaed970ea286d6177244e6cf182f926
--- /dev/null
+++ b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Makefile.statevector
@@ -0,0 +1,9 @@
+all: calib_state_vector_plot
+
+calib_state_vector_plot: 
+	python ../../check_calibration/statevector_plot.py --gps-start-time $(SHORT_PLOT_START) --gps-end-time $(SHORT_PLOT_END) --ifo $(IFO)1 --hoft-frames-cache $(IFO)1_hoft_GDS_frames.cache
+
+
+clean: 
+	rm *.pdf
+
diff --git a/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Makefile.timeserieskappas b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Makefile.timeserieskappas
new file mode 100644
index 0000000000000000000000000000000000000000..a9f77efb0495937fe45920c6ef4a7cefa4efb12e
--- /dev/null
+++ b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Makefile.timeserieskappas
@@ -0,0 +1,31 @@
+CHANNEL1 = CALIB_KAPPA_C
+CHANNEL2 = CALIB_KAPPA_PUM_REAL
+CHANNEL3 = CALIB_KAPPA_TST_REAL
+CHANNEL4 = CALIB_F_CC
+CHANNEL5 = CALIB_KAPPA_PUM_IMAGINARY
+CHANNEL6 = CALIB_KAPPA_TST_IMAGINARY
+CHANNEL7 = CALIB_KAPPA_UIM_REAL
+CHANNEL8 = CALIB_KAPPA_UIM_IMAGINARY
+CHANNEL9 = CALIB_SRC_Q_INVERSE
+CHANNEL10 = CALIB_F_S_SQUARED
+
+FECHANNEL1 = CS_TDEP_KAPPA_C_OUTPUT
+FECHANNEL2 = CS_TDEP_KAPPA_PUM_REAL_OUTPUT
+FECHANNEL3 = CS_TDEP_KAPPA_TST_REAL_OUTPUT
+FECHANNEL4 = CS_TDEP_F_C_OUTPUT
+FECHANNEL5 = CS_TDEP_KAPPA_PUM_IMAG_OUTPUT
+FECHANNEL6 = CS_TDEP_KAPPA_TST_IMAG_OUTPUT
+FECHANNEL7 = CS_TDEP_KAPPA_UIM_REAL_OUTPUT
+FECHANNEL8 = CS_TDEP_KAPPA_UIM_IMAG_OUTPUT
+FECHANNEL9 = CS_TDEP_Q_S_OUTPUT
+FECHANNEL10 = CS_TDEP_F_S_OUTPUT
+
+all: GDS_Time_Series_of_Kappas
+
+GDS_Time_Series_of_Kappas:
+	python ../../check_calibration/timeserieskappas.py --gps-start-time $(SHORT_PLOT_START) --gps-end-time $(SHORT_PLOT_END) --channel-list 'GDS-$(CHANNEL1)','GDS-$(CHANNEL2)','GDS-$(CHANNEL3)','GDS-$(CHANNEL4)','GDS-$(CHANNEL5)','GDS-$(CHANNEL6)','GDS-$(CHANNEL7)','GDS-$(CHANNEL8)','GDS-$(CHANNEL9)','GDS-$(CHANNEL10)' --frame-cache $(IFO)1_hoft_GDS_frames.cache --ifo $(IFO)1 --front-end-channel-list 'CAL-$(FECHANNEL1)','CAL-$(FECHANNEL2)','CAL-$(FECHANNEL3)','CAL-$(FECHANNEL4)','CAL-$(FECHANNEL5)','CAL-$(FECHANNEL6)','CAL-$(FECHANNEL7)','CAL-$(FECHANNEL8)','CAL-$(FECHANNEL9)','CAL-$(FECHANNEL10)'
+
+
+clean:
+	rm *.png
+
diff --git a/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/test.ini b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/test.ini
new file mode 100644
index 0000000000000000000000000000000000000000..19e3fba68f755ad317fce44277a8b10e75c2c1ff
--- /dev/null
+++ b/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/test.ini
@@ -0,0 +1,404 @@
+[InputConfigurations]
+# Filters file containing calibration FIR filters
+FiltersFileName: /home/wademc/src/gstlal/gstlal-calibration/tests/L1GDS_1237770582_filter_tests/L1/Filters/O3/GDSFilters/L1GDS_1237770582.npz
+# Data source should be set to frames or lvshm
+DataSource: frames
+FileChecksum: No
+# Right now, SkipBadFiles needs to be off when reading from frames
+SkipBadFiles: No
+############################################
+# If reading from frames use these options #
+############################################
+# None
+
+###################################################
+# If reading from shared memory use these options #
+###################################################
+SHMPartition: LLO_Online
+# Assumed duration of input frames in seconds
+InputFrameDuration: 1
+
+[OutputConfigurations]
+CompressionScheme: 6
+CompressionLevel: 3
+ChanPrefix: GDS-
+# Set to "None" if you do not want a channel suffix
+ChanSuffix: None
+# Data sink should be set to frames or lvshm
+DataSink: frames
+#################################################
+# If writing to shared memory use these options #
+#################################################
+OutputSHMPartition: LLO_hoft
+BufferMode: 2
+# Use this to approximate the frame size (in bytes) when writing to shared memory
+FrameSize: 405338
+NumBuffers: 10
+###############################################
+# If writing to frame files use these options #
+###############################################
+FrameType: L1_TEST
+
+[CalibrationConfigurations]
+IFO: L1
+# Set calibration mode to Full or Partial
+CalibrationMode: Partial
+ComputeCalibStateVector: Yes
+
+[DebuggingConfigurations]
+# If you want to write a pipeline graph, provide the graph name.  Otherwise, set name equal to None
+PipelineGraphFilename: None
+Verbose: Yes
+# Turn this on to write data presentation timestamps and real-time unix timestamps to file at the beginning and end of the pipeline, to measure latency
+TestLatency: No
+# Turn this on to compute transfer functions for the filters by comparing output data to input data
+TestFilters: No
+
+[TDCFConfigurations]
+#########################################################
+# Options related to time dependent correction  factors #
+#########################################################
+ComputeKappaTST: Yes
+ApplyKappaTST: No
+# Set this to have the \kappa_tst factors filter the actuation chain with an adaptive filter that corrects for both magnitude and phase errors.
+ApplyComplexKappaTST: Yes
+
+ComputeKappaPU: No
+ApplyKappaPU: No
+# Set this to have the \kappa_pu factors the actuation chain with an adaptive filter that corrects for both magnitude and phase errors
+ApplyComplexKappaPU: No
+
+ComputeKappaPUM: Yes
+ApplyKappaPUM: No
+# Set this to have the \kappa_p factors the actuation chain with an adaptive filter that corrects for both magnitude and phase errors.
+ApplyComplexKappaPUM: Yes
+
+ComputeKappaUIM: Yes
+ApplyKappaUIM: No
+# Set this to have the \kappa_u factors the actuation chain with an adaptive filter that corrects for both magnitude and phase errors.
+ApplyComplexKappaUIM: Yes
+
+ComputeKappaC: Yes
+ApplyKappaC: Yes
+
+ComputeFcc: Yes
+ApplyFcc: Yes
+
+ComputeSRCQ: Yes
+ApplySRCQ: No
+
+ComputeFs: Yes
+ApplyFs: No
+
+###########################################
+# Options related to the coherence gating #
+###########################################
+UseCoherence: Yes
+CoherenceUncThreshold: 0.02
+# Amount of time used in front-end to compute coherence
+CoherenceTime: 130
+###################################################################
+# Options related to the computation configurations for the TDCFs #
+###################################################################
+ComputeFactorsSR: 16
+RecordFactorsSR: 16
+# Length in seconds of low-pass FIR filter used in demodulation of the calibration lines
+DemodulationFilterTime: 20
+# Time (in seconds) to smooth out \kappas with a median-like method
+MedianSmoothingTime: 128
+TDCFAveragingTime: 10
+#If set to yes, bad computed kappas will be replaced by the previous computed median in the running median array. Otherwise, they are replaced with the default value
+TDCFDefaultToMedian: Yes
+# If using Y-end Pcal, we need a minus sign, so set this to -1.0
+PcalSign: 1.0
+##################################################
+# Options related to updating cavity pole filter #
+##################################################
+# Duration of the Fcc filter in the time domain in seconds
+FccFilterDuration: 0.01
+# Number of seconds to average Fcc values before creating a new Fcc filter
+FccAveragingTime: 60 
+# Number of samples to be used when tapering old filter and ramping in new filter
+FccFilterTaperLength: 32768
+############################
+# Nominal values for TDCFs #
+############################
+ExpectedKappaTSTReal: 1.0
+ExpectedKappaTSTImag: 0.0
+ExpectedKappaPUMReal: 1.0
+ExpectedKappaPUMImag: 0.0
+ExpectedKappaUIMReal: 1.0
+ExpectedKappaUIMImag: 0.0
+ExpectedKappaPUReal: 1.0
+ExpectedKappaPUImag: 0.0
+ExpectedKappaC: 1.0
+ExpectedFs_Squared: 5.253 
+################################
+# Acceptable variance in TDCFs #
+################################
+KappaTSTRealVar: 0.2
+KappaTSTImagVar: 0.2
+KappaPURealVar: 0.2
+KappaPUImagVar: 0.2
+KappaPUMRealVar: 0.2
+KappaPUMImagVar: 0.2
+KappaUIMRealVar: 0.2
+KappaUIMImagVar: 0.2
+KappaCVar: 0.2
+FccVar: 50.0
+FsVar: 5.0
+SRCQInvMin: 0.0
+SRCQInvMax: 0.5
+#######################
+# EPICS records input #
+#######################
+# Set to Yes if EPICS records for TDCF computations should be read from filters file.  If set to No, they will be read from frames
+FactorsFromFiltersFile: No
+##############################################################################################
+# Updating Sensing and Actuation filters with all frequency-dependent corrections parameters #
+##############################################################################################
+# Length of time (in seconds) between when inverse-sensing FIR filter is updated
+SensingFilterUpdateTime: 64
+# Length of time (in seconds) over which the smoothed time-dependent parameters of the sensing function are averaged before updating the filter
+SensingFilterAveragingTime: 1
+# Number of samples to be used when tapering old inverse sensing filter and ramping in new filter
+SensingFilterTaperLength: 32768
+# Length of time (in seconds) between when the actuation FIR filters are updated
+ActuationFilterUpdateTime: 64
+# Length of time (in seconds) over which the smoothed time-dependent parameters of the actuation function are averaged before updating the filter
+ActuationFilterAveragingTime: 1
+# Number of samples to be used when tapering old actuation filters and ramping in new filters
+ActuationFilterTaperLength: 32768
+
+[ChannelNames]
+#############################
+# Calibration Channel Names #
+#############################
+DARMCtrlChannel: CAL-DARM_CTRL_DBL_DQ
+DARMErrChannel: CAL-DARM_ERR_DBL_DQ
+DeltaLTSTChannel: CAL-DELTAL_CTRL_TST_DBL_DQ
+DeltaLPUMChannel: CAL-DELTAL_CTRL_PUM_DBL_DQ
+DeltaLUIMChannel: CAL-DELTAL_CTRL_UIM_DBL_DQ
+DeltaLResChannel: CAL-DELTAL_RESIDUAL_DBL_DQ
+####################################
+# Data Quality Vector Channel Name #
+####################################
+LowNoiseStateChannel: GRD-IFO_READY
+HWInjChannel: CAL-INJ_STATUS_OUT_DQ
+ObsIntentChannel: GRD-IFO_INTENT
+FilterClockChannelList: GRD-ISC_LOCK_OK
+##################################
+# Calibration Line Channel Names #
+##################################
+DARMExcChannel: CAL-CS_LINE_SUM_DQ
+TSTExcChannel: SUS-ETMY_L3_CAL_LINE_OUT_DQ
+PUMExcChannel: SUS-ETMX_L2_CAL_LINE_OUT_DQ 
+UIMExcChannel: SUS-ETMX_L1_CAL_LINE_OUT_DQ
+PCALChannel: CAL-PCALY_RX_PD_OUT_DQ
+############################################
+# Calibration Line Frequency Channel Names #
+############################################
+DARMExcLineFreqChannel: CAL-CS_TDEP_DARM_LINE1_COMPARISON_OSC_FREQ
+TSTExcLineFreqChannel: CAL-CS_TDEP_SUS_LINE3_COMPARISON_OSC_FREQ
+PUMExcLineFreqChannel: CAL-CS_TDEP_SUS_LINE2_COMPARISON_OSC_FREQ
+UIMExcLineFreqChannel: CAL-CS_TDEP_SUS_LINE1_COMPARISON_OSC_FREQ
+PCALLine1FreqChannel: CAL-CS_TDEP_PCAL_LINE1_COMPARISON_OSC_FREQ
+PcalLine1CorrRealChannel: CAL-CS_TDEP_PCAL_LINE1_CORRECTION_REAL
+PcalLine1CorrImagChannel: CAL-CS_TDEP_PCAL_LINE1_CORRECTION_IMAG
+PCALLine2FreqChannel: CAL-CS_TDEP_PCAL_LINE2_COMPARISON_OSC_FREQ
+PcalLine2CorrRealChannel: CAL-CS_TDEP_PCAL_LINE2_CORRECTION_REAL
+PcalLine2CorrImagChannel: CAL-CS_TDEP_PCAL_LINE2_CORRECTION_IMAG
+PCALLine3FreqChannel: CAL-CS_TDEP_PCAL_LINE3_COMPARISON_OSC_FREQ
+PcalLine3CorrRealChannel: CAL-CS_TDEP_PCAL_LINE3_CORRECTION_REAL
+PcalLine3CorrImagChannel: CAL-CS_TDEP_PCAL_LINE3_CORRECTION_IMAG
+PCALLine4FreqChannel: CAL-CS_TDEP_PCAL_LINE4_COMPARISON_OSC_FREQ
+PcalLine4CorrRealChannel: CAL-CS_TDEP_PCAL_LINE4_CORRECTION_REAL
+PcalLine4CorrImagChannel: CAL-CS_TDEP_PCAL_LINE4_CORRECTION_IMAG
+#######################################
+# Coherence Uncertainty Channel Names #
+#######################################
+CohUncSusLine1Channel: CAL-CS_TDEP_SUS_LINE1_UNCERTAINTY
+CohUncSusLine2Channel: CAL-CS_TDEP_SUS_LINE2_UNCERTAINTY
+CohUncSusLine3Channel: CAL-CS_TDEP_SUS_LINE3_UNCERTAINTY
+CohUncPcalyLine1Channel: CAL-CS_TDEP_PCAL_LINE1_UNCERTAINTY
+CohUncPcalyLine2Channel: CAL-CS_TDEP_PCAL_LINE2_UNCERTAINTY
+CohUncPcalyLine4Channel: CAL-CS_TDEP_PCAL_LINE4_UNCERTAINTY
+CohUncDARMLine1Channel: CAL-CS_TDEP_DARM_LINE1_UNCERTAINTY
+###################################
+# Noise Subtraction Channel Names #
+###################################
+# Semicolon-separated list of comma-separated lists of witness channels to use to subtract lines from h(t)
+# Semicolons separate channels to be handled separately (in series), and commas separate channels to be handled in parallel.
+#Set to None if no line witness channels are to be used
+LineWitnessChannelList: SUS-ETMX_L1_CAL_LINE_OUT_DQ;SUS-ETMX_L2_CAL_LINE_OUT_DQ;SUS-ETMY_L3_CAL_LINE_OUT_DQ;CAL-PCALY_RX_PD_OUT_DQ;PEM-EY_MAINSMON_EBAY_1_DQ
+# Semicolon-separated list of comma-separated lists of witness channels to use to subtract noise from h(t)
+# Set to None if no witness channels are to be used
+#WitnessChannelList: ASC-DHARD_P_OUT_DQ,ASC-DHARD_Y_OUT_DQ,ASC-CHARD_P_OUT_DQ,ASC-CHARD_Y_OUT_DQ,LSC-SRCL_IN1_DQ,LSC-MICH_IN1_DQ,LSC-PRCL_IN1_DQ
+WitnessChannelList: None
+# What channel should we use to gate the noise subtraction and 60-Hz line subtraction
+NoiseSubGateChannel: GRD-ISC_LOCK_OK
+###############################
+# EPICS Records Channel Names #
+###############################
+EP1RealChannel: CAL-CS_TDEP_SUS_LINE3_REF_INVA_TST_RESPRATIO_REAL
+EP1ImagChannel: CAL-CS_TDEP_SUS_LINE3_REF_INVA_TST_RESPRATIO_IMAG
+EP2RealChannel: CAL-CS_TDEP_REF_CLGRATIO_CTRL_REAL
+EP2ImagChannel: CAL-CS_TDEP_REF_CLGRATIO_CTRL_IMAG
+EP3RealChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_USUM_INV_REAL
+EP3ImagChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_USUM_INV_IMAG
+EP4RealChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_TST_REAL
+EP4ImagChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_TST_IMAG
+EP5RealChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_USUM_REAL
+EP5ImagChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_USUM_IMAG
+EP6RealChannel: CAL-CS_TDEP_PCAL_LINE2_REF_C_NOCAVPOLE_REAL
+EP6ImagChannel: CAL-CS_TDEP_PCAL_LINE2_REF_C_NOCAVPOLE_IMAG
+EP7RealChannel: CAL-CS_TDEP_PCAL_LINE2_REF_D_REAL
+EP7ImagChannel: CAL-CS_TDEP_PCAL_LINE2_REF_D_IMAG
+EP8RealChannel: CAL-CS_TDEP_PCAL_LINE2_REF_A_TST_REAL
+EP8Imagchannel: CAL-CS_TDEP_PCAL_LINE2_REF_A_TST_IMAG
+EP9RealChannel: CAL-CS_TDEP_PCALY_LINE2_REF_A_USUM_REAL
+EP9ImagChannel: CAL-CS_TDEP_PCALY_LINE2_REF_A_USUM_IMAG
+EP10RealChannel: CAL-CS_TDEP_SUS_LINE3_REF_A_TST_NOLOCK_REAL
+EP10ImagChannel: CAL-CS_TDEP_SUS_LINE3_REF_A_TST_NOLOCK_IMAG
+EP11RealChannel: CAL-CS_TDEP_PCAL_LINE1_REF_C_NOCAVPOLE_REAL
+EP11ImagChannel: CAL-CS_TDEP_PCAL_LINE1_REF_C_NOCAVPOLE_IMAG
+EP12RealChannel: CAL-CS_TDEP_PCAL_LINE1_REF_D_REAL
+EP12ImagChannel: CAL-CS_TDEP_PCAL_LINE1_REF_D_IMAG
+EP13RealChannel: CAL-CS_TDEP_PCAL_LINE1_REF_A_TST_REAL
+EP13ImagChannel: CAL-CS_TDEP_PCAL_LINE1_REF_A_TST_IMAG
+EP14RealChannel: CAL-CS_TDEP_PCALY_LINE1_REF_A_USUM_REAL
+EP14ImagChannel: CAL-CS_TDEP_PCALY_LINE1_REF_A_USUM_IMAG
+EP15RealChannel: CAL-CS_TDEP_SUS_LINE2_REF_INVA_PUM_RESPRATIO_REAL
+EP15Imagchannel: CAL-CS_TDEP_SUS_LINE2_REF_INVA_PUM_RESPRATIO_IMAG
+EP16RealChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_UIM_INV_REAL
+EP16ImagChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_UIM_INV_IMAG
+EP17RealChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_PUM_REAL
+EP17ImagChannel: CAL-CS_TDEP_DARM_LINE1_REF_A_PUM_IMAG
+EP18RealChannel: CAL-CS_TDEP_PCAL_LINE2_REF_A_PUM_REAL
+EP18ImagChannel: CAL-CS_TDEP_PCAL_LINE2_REF_A_PUM_IMAG
+EP19RealChannel: CAL-CS_TDEP_PCAL_LINE2_REF_A_UIM_REAL
+EP19ImagChannel: CAL-CS_TDEP_PCAL_LINE2_REF_A_UIM_IMAG
+EP20RealChannel: CAL-CS_TDEP_PCAL_LINE1_REF_A_PUM_REAL
+EP20ImagChannel: CAL-CS_TDEP_PCAL_LINE1_REF_A_PUM_IMAG
+EP21RealChannel: CAL-CS_TDEP_PCAL_LINE1_REF_A_UIM_REAL
+EP21ImagChannel: CAL-CS_TDEP_PCAL_LINE1_REF_A_UIM_IMAG
+EP22RealChannel: CAL-CS_TDEP_SUS_LINE1_REF_INVA_UIM_RESPRATIO_REAL
+EP22ImagChannel: CAL-CS_TDEP_SUS_LINE1_REF_INVA_UIM_RESPRATIO_IMAG
+EP23RealChannel: CAL-CS_TDEP_SUS_LINE2_REF_A_PUM_NOLOCK_REAL
+EP23ImagChannel: CAL-CS_TDEP_SUS_LINE2_REF_A_PUM_NOLOCK_IMAG
+EP24RealChannel: CAL-CS_TDEP_SUS_LINE1_REF_A_UIM_NOLOCK_REAL
+EP24ImagChannel: CAL-CS_TDEP_SUS_LINE1_REF_A_UIM_NOLOCK_IMAG
+
+[SampleRates]
+# Sample rate at which to compute h(t)
+HoftSR: 16384
+# Sample rate at which to compute CALIB_STATE_VECTOR
+CalibStateSR: 16
+# Sample rate of control channel
+# Should be 16384 if using DARM_CTRL and 4096 if using DELTAL_CTRL 
+CtrlSR: 4096
+# Sample rate of low noise state channel
+LowNoiseSR: 16
+# Sample rate of HW injection channel
+HWInjSR: 16384
+# Sample rate of observation intent channel
+ObsIntentSR: 16
+# Sample rate list for chanels being used to trigger filter settling clock
+FilterClockSRList: 16
+# Sample rate of TST excitation channel
+TSTExcSR: 512
+# Sample rate of PUM excitation channel
+PUMExcSR: 512
+# Sample rate of UIM excitation channel
+UIMExcSR: 512
+# Sample rate of coherence channels
+CohSR: 16
+# Sample rate for the EPICS reference channels
+EPICSRefSR: 16
+# Sample rates at which transfer functions will be computed and witness channels will be filtered, given as a semicolon-separated list, e.g., 2048;2048;512;2048. This must be given if WitnessChannelList is not None, and it must be the same length.
+WitnessChannelSR: 512
+# Sample rates at which to compute and record TDCFs
+ComputeFactorsSR: 16
+RecordFactorsSR: 16
+
+[Bitmasks]
+ObsReadyBitmask: 1
+ObsIntentBitmask: 1
+FilterClockBitmaskList: 1
+CBCHWInjOffBitmask: 9
+BurstHWInjOffBitmask: 17
+DetCharHWInjOffBitmask: 33
+StochHWInjOffBitmask: 65
+NoiseSubGateBitmask: 1
+
+[PipelineConfigurations]
+BufferLength: 1.0
+FrequencyDomainFiltering: No
+Dewhitening: No
+# Latency of all filtering/averaging/median processes (other than calibration model filters) as a fraction of filter length. Value should be set between 0.0 and 1.0.
+FilterLatency: 0.0
+
+[DataCleaningConfigurations]
+# Remove the DC component from the residual and control channels before filtering
+RemoveDC: No
+# Subtract the calibration lines from the h(t) spectrum
+RemoveCalLines: No
+###############################################################
+# Options for running line subtraction using witness channels #
+###############################################################
+# Semicolon-separated list of comma-separated lists of frequencies (same number of semicolons as LineWitnessChannelList)
+LineWitnessFreqs: 15.1;15.7;16.9;16.3,434.9,1083.1;60.0,120.0,180.0,240.0,300.0
+# Time over which to take a median of transfer functions
+LineWitnessTFMedianTime: 128
+# Time over which to average transfer functions
+LineWitnessTFAveragingTime: 1
+# Semicolon-separated list of typical frequency fluctuations in lines being subtracted (same number of semicolons as LineWitnessChannelList)
+LineWitnessFreqVars: 0.0;0.0;0.0;0.0;0.02
+#######################################
+# Options for broadband noise removal #
+#######################################
+# The length in seconds of the fast Fourier transforms used to compute transfer functions between witness channels and h(t). The fft's are windowed with Hann windows and overlapped.
+WitnessChannelFFTTime: 4.0
+# The number of ffts to take before averaging the witness -> h(t) transfer functions calculation. The average is taken after the ratio h(f) / witness(f).
+NumWitnessFFTs: 1000
+# Sets the minimum number of FFTs necessary to produce the first transfer functions and clean data after data flow starts.
+MinWitnessFFTs: 300
+# The length in seconds of the filters applied to the witness channels before subtracting from h(t)
+WitnessFIRLength: 1.0
+# The frequency resolution of the filters applied to the witness channels before subtracting from h(t). It can be advantageous to lower the frequency resolution in order to average over excess noise.
+WitnessFrequencyResolution: 0.5
+# List of minima and maxima of frequency ranges where the Fourier transform of h(t) will be replaced by a straight line in the calculation of transfer functions between witness channels and h(t) for noise subtraction. Semicolons separate lists for different sets of witness channels. If no notches are desired, use zeros, e.g., \'0;0;0\'. Here is an example using the expected format: \'495.0,515.0,985.0,1015.0;59,60,119,121;0\' This can be useful, e.g., if there are loud lines in the signal that are not present in the witness channels.
+WitnessNotchFrequencies: 0
+# Cutoff frequencies for high-pass filters for witness channels
+WitnessHighPasses: 10
+# The amount of time after transfer functions between witness channels and h(t) are finished to begin the calculation of the next set of transfer functions
+WitnessTFUpdateTime: 4
+# If lock-loss lasts at least this many seconds, transfer functions will revert to those computed at the beginning of a lock stretch. Set to zero to disbale.
+CriticalLockLossTime: 1800
+# The amount of time to use to taper in newly computed FIR filters for witness channels being used for noise subtraction.
+WitnessFilterTaperTime: 2
+# If writing transfer functions to file, this sets the name. If transfer functions should not be written to file, this should be set to None
+WitnessTFFilename: None
+# Should the transfer function calculation use a median? If not, an average (mean) is used.
+WitnessTFUseMedian: Yes
+# Should transfer functions be computed on a fixed schedule, so that the output does not depend on start time?  This is useful for running jobs in parallel.  Otherwise, they are computed asap.
+WitnessTFParallelMode: No
+# When using parallel mode, how many seconds later should we shift the time when transfer functions start being computed from a multiple of the cycle period?
+WitnessTFTimeShift: 360
+# To write only one strain channel, and pick whichever is less noisy, set this option to 'Yes'. This way, if a problem arises with the noise subtraction it will not affect the output strain channel.
+PickCleanestStrainChannel: No
+# A half Hann window is used for transitions between cleaned and uncleaned data.  This is the length of that window in seconds.
+StrainChannelTransitionTime: 10.0
+###############################
+# Options for HOFT_CLEAN bits #
+###############################
+# The amount of data from h(t) and cleaned h(t) that is used to compute and compare the rms. This comparison between cleaned and uncleaned h(t) determines whether the HOFT_CLEAN bits of the calibration state vector are on or off.
+CleaningCheckRMSTime: 30.0
+# Minimum of a range of frequencies in which we expect line/noise subtraction to be impactful. The HOFT_CLEAN_LOWFREQ_OK bit of the calibration state vector is determined based on whether rms of the cleaned data is less than that of uncleaned h(t) in this range.
+CleaningCheckRangeLowMin: 15
+# Maximum of a range of frequencies in which we expect line/noise subtraction to be impactful. The HOFT_CLEAN_LOWFREQ_OK bit of the calibration state vector is determined based on whether rms of the cleaned data is less than that of uncleaned h(t) in this range.
+CleaningCheckRangeLowMax: 20
+# Minimum of a range of frequencies in which we expect line/noise subtraction to be impactful. The HOFT_CLEAN_MIDFREQ_OK bit of the calibration state vector is determined based on whether rms of the cleaned data is less than that of uncleaned h(t) in this range.
+CleaningCheckRangeMidMin: 20
+# Maximum of a range of frequencies in which we expect line/noise subtraction to be impactful. The HOFT_CLEAN_MIDFREQ_OK bit of the calibration state vector is determined based on whether rms of the cleaned data is less than that of uncleaned h(t) in this range.
+CleaningCheckRangeMidMax: 200
diff --git a/gstlal-calibration/tests/check_calibration/ASD_comparison_plots b/gstlal-calibration/tests/check_calibration/ASD_comparison_plots
index 97d27df25c876c7648da40ddfcf3341200ceb498..9d9769175ffd36528cfa6e3a2de422d189d23388 100755
--- a/gstlal-calibration/tests/check_calibration/ASD_comparison_plots
+++ b/gstlal-calibration/tests/check_calibration/ASD_comparison_plots
@@ -39,7 +39,8 @@ if options.analyze_additional_hoft_channel:
 calcs_asd = calcs_data.asd(4, 2, method = 'lal_median_mean')
 hoft_asd = hoft_data.asd(4, 2, method = 'lal_median_mean')
 if options.analyze_additional_hoft_channel:
-	additional_hoft_asd = additional_hoft_data.asd(4,2)
+	additional_hoft_asd = additional_hoft_data.asd(4,2, method = 'lal_median_mean')
+	additional_hoft_asd = additional_hoft_asd.filter([30]*6, [0.3]*6, 1e-12 / 4e3)
 
 #dewhiten CALCS
 calcs_asd = calcs_asd.filter([30]*6, [0.3]*6, 1e-12 / 4e3)
@@ -52,12 +53,12 @@ if options.analyze_additional_hoft_channel:
 ax = plot.gca()
 ax.set_ylabel('Strain [Hz $^{-1/2}$]', fontname = 'Times', fontsize = 18)
 ax.set_xlabel('Frequency [Hz]', fontname = 'Times', fontsize = 18)
-ax.legend(['GDS-CALIB\_STRAIN', 'GDS-CALIB\_STRAIN\_CLEAN', 'GDS-CALIB\_STRAIN\_CLEAN'], loc='upper right', fontsize='small')
+ax.legend([r'CAL-DELTAL\_EXTERNAL', r'GDS-CALIB\_STRAIN', r'CAL-CFTD\_DELTAL\_EXTERNAL'], loc='upper right', fontsize='small')
 ax.set_xlim(0.5,8192)
 ax.set_ylim(1e-24,1e-16)
 plot.save('%s_%s_%s_spectrum_comparison.png' % (options.ifo, start_time, end_time))
 
-diff1 = calcs_asd / hoft_asd
+diff1 = hoft_asd / calcs_asd
 if options.analyze_additional_hoft_channel:
 	diff2 = calcs_asd / additional_hoft_asd
 	diff3 = hoft_asd / additional_hoft_asd
@@ -68,7 +69,7 @@ if options.analyze_additional_hoft_channel:
 ax = plot.gca()
 ax.set_ylabel('Strain [Hz $^{-1/2}$]', fontname = 'Times', fontsize = 18)
 ax.set_xlabel('Frequency [Hz]', fontname = 'Times', fontsize = 18)
-ax.legend([r'CALCS h(t) ASD / GDS h(t) ASD', r'CALCS h(t) ASD / DCS h(t) ASD', r'GDS h(t) ASD / DCS h(t) ASD'], loc='upper right', fontsize='small')
-ax.set_xlim(0.5,5000)
-ax.set_ylim(0.0, 10)
+ax.legend([r'GDS h(t) ASD / CALCS h(t) ASD', r'CALCS h(t) ASD / CFTD CALCS h(t) ASD', r'GDS h(t) ASD / CFTD CALCS h(t) ASD'], loc='upper right', fontsize='small')
+ax.set_xlim(5,5000)
+ax.set_ylim(0.75, 1.25)
 plot.save('%s_%s_%s_ASD_residual.png' % (options.ifo, start_time, end_time))
diff --git a/gstlal-calibration/tests/check_calibration/response_function.py b/gstlal-calibration/tests/check_calibration/response_function.py
index c642e73b4f436c5b55b9bf65bebe4ff9eb365e46..93ba519385d21e1c6586ad599f9512131c728450 100644
--- a/gstlal-calibration/tests/check_calibration/response_function.py
+++ b/gstlal-calibration/tests/check_calibration/response_function.py
@@ -158,7 +158,7 @@ if options.analyze_additional_hoft:
 # FIXME: Figure out how to make the legend and title appropriate and flexible
 plot.maxes.set_yscale('log')
 plot.paxes.set_yscale("linear")
-plot.save('%s_%s_%s_all_tf.pdf' % (ifo, options.gps_start_time, options.gps_end_time))
+plot.save('%s_%s_%s_all_tf.png' % (ifo, options.gps_start_time, options.gps_end_time))
 
 # Make a plot that compares the ratios of each derived response to the model
 ratio_hoft = hoft_tf / response_fs
@@ -176,7 +176,7 @@ if options.analyze_additional_hoft:
 plot.maxes.set_yscale('linear')
 plot.paxes.set_yscale('linear')
 plot.maxes.set_ylim(0,5)
-plot.save('%s_%s_%s_all_tf_ratio.pdf' % (ifo, options.gps_start_time, options.gps_end_time))
+plot.save('%s_%s_%s_all_tf_ratio.png' % (ifo, options.gps_start_time, options.gps_end_time))
 
 plot = BodePlot(ratio_hoft*3995.1, frequencies = freqs, dB = False, color='#ee0000', linewidth=2)
 if options.analyze_calcs_hoft:
@@ -190,6 +190,6 @@ plot.maxes.set_ylim(.9, 1.1)
 plot.maxes.set_xlim(10, 5000)
 plot.paxes.set_ylim(-5, 5)
 plot.paxes.set_xlim(10, 5000)
-plot.save('%s_%s_%s_all_tf_ratio_zoomed.pdf' % (ifo, options.gps_start_time, options.gps_end_time))
+plot.save('%s_%s_%s_all_tf_ratio_zoomed.png' % (ifo, options.gps_start_time, options.gps_end_time))
 
 
diff --git a/gstlal-calibration/tests/check_calibration/statevector_plot.py b/gstlal-calibration/tests/check_calibration/statevector_plot.py
index 03e2af0c49b1ccea61beec366469872726f3dc69..f6cefa9a91608bb11e450cbd47ca41522e7a086b 100644
--- a/gstlal-calibration/tests/check_calibration/statevector_plot.py
+++ b/gstlal-calibration/tests/check_calibration/statevector_plot.py
@@ -63,4 +63,4 @@ plot = calib_state_vector.plot(format='segments')
 ax = plot.gca()
 ax.set_xscale('seconds')
 ax.set_title("Calibration state vector")
-plot.save("%s_%s_%s_calib_state_vector.pdf" % (ifo, options.gps_start_time, options.gps_end_time))
+plot.save("%s_%s_%s_calib_state_vector.png" % (ifo, options.gps_start_time, options.gps_end_time))
diff --git a/gstlal-calibration/tests/check_calibration/timeserieskappas.py b/gstlal-calibration/tests/check_calibration/timeserieskappas.py
index 9edc4163338296f8efd4cb17513f76aa96ffa8b4..172b4505a92ba60c2905f903433e7670ad15518f 100644
--- a/gstlal-calibration/tests/check_calibration/timeserieskappas.py
+++ b/gstlal-calibration/tests/check_calibration/timeserieskappas.py
@@ -55,6 +55,6 @@ for n, channel in enumerate(channels):
 	#title = item
 	#title = title.replace('_', '\_')
 	ax.set_title(channel.replace('_', '\_'))
-	plot.add_state_segments(segs, plotargs=dict(label='Calibrated'))
+	#plot.add_state_segments(segs, plotargs=dict(label='Calibrated'))
 	plot.legend([r'GDS value', r'front-end value'])
 	plot.savefig('%s_%s_%s_plot_%s.png' % (ifo, options.gps_start_time, options.gps_end_time, channel))
diff --git a/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/L1_1236348250_1236348466_ASD_residual.png b/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/L1_1236348250_1236348466_ASD_residual.png
new file mode 100644
index 0000000000000000000000000000000000000000..2535926606c2ecabaacd1b11c49c95976759e33f
Binary files /dev/null and b/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/L1_1236348250_1236348466_ASD_residual.png differ
diff --git a/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/L1_1236348250_1236348466_all_tf.pdf b/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/L1_1236348250_1236348466_all_tf.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..37859f4adeb156af9ca68b3d347acad13b6ef829
Binary files /dev/null and b/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/L1_1236348250_1236348466_all_tf.pdf differ
diff --git a/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/L1_1236348250_1236348466_all_tf_ratio.pdf b/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/L1_1236348250_1236348466_all_tf_ratio.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..99bd506b2b88b1bb7fa07081d9f0eb5e5273d953
Binary files /dev/null and b/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/L1_1236348250_1236348466_all_tf_ratio.pdf differ
diff --git a/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/L1_1236348250_1236348466_all_tf_ratio_zoomed.pdf b/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/L1_1236348250_1236348466_all_tf_ratio_zoomed.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..191c2c00b29074d83a15c53dd15535a7bc2ab14a
Binary files /dev/null and b/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/L1_1236348250_1236348466_all_tf_ratio_zoomed.pdf differ
diff --git a/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/L1_1236348250_1236348466_calib_state_vector.pdf b/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/L1_1236348250_1236348466_calib_state_vector.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..742ea51d3b17c793c78b103709b88fd25c04a658
Binary files /dev/null and b/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/L1_1236348250_1236348466_calib_state_vector.pdf differ
diff --git a/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/L1_1236348250_1236348466_plot_GDS-CALIB_F_CC.png b/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/L1_1236348250_1236348466_plot_GDS-CALIB_F_CC.png
new file mode 100644
index 0000000000000000000000000000000000000000..9b153068ee90f968a5e8a29322fd6e5d05d7e2c8
Binary files /dev/null and b/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/L1_1236348250_1236348466_plot_GDS-CALIB_F_CC.png differ
diff --git a/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/L1_1236348250_1236348466_plot_GDS-CALIB_F_S_SQUARED.png b/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/L1_1236348250_1236348466_plot_GDS-CALIB_F_S_SQUARED.png
new file mode 100644
index 0000000000000000000000000000000000000000..696a7c8720abd18b6b1b1d1fadb7199c41be2c03
Binary files /dev/null and b/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/L1_1236348250_1236348466_plot_GDS-CALIB_F_S_SQUARED.png differ
diff --git a/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/L1_1236348250_1236348466_plot_GDS-CALIB_KAPPA_C.png b/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/L1_1236348250_1236348466_plot_GDS-CALIB_KAPPA_C.png
new file mode 100644
index 0000000000000000000000000000000000000000..3c3a681e3bd8a9749cc9b2a04107b64fbefef67b
Binary files /dev/null and b/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/L1_1236348250_1236348466_plot_GDS-CALIB_KAPPA_C.png differ
diff --git a/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/L1_1236348250_1236348466_plot_GDS-CALIB_KAPPA_PUM_IMAGINARY.png b/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/L1_1236348250_1236348466_plot_GDS-CALIB_KAPPA_PUM_IMAGINARY.png
new file mode 100644
index 0000000000000000000000000000000000000000..de1664fa2529db88edeab95b9257bae2566b2c69
Binary files /dev/null and b/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/L1_1236348250_1236348466_plot_GDS-CALIB_KAPPA_PUM_IMAGINARY.png differ
diff --git a/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/L1_1236348250_1236348466_plot_GDS-CALIB_KAPPA_PUM_REAL.png b/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/L1_1236348250_1236348466_plot_GDS-CALIB_KAPPA_PUM_REAL.png
new file mode 100644
index 0000000000000000000000000000000000000000..88965cc2bcd39e9feb960d47fddb4eecf1c50c22
Binary files /dev/null and b/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/L1_1236348250_1236348466_plot_GDS-CALIB_KAPPA_PUM_REAL.png differ
diff --git a/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/L1_1236348250_1236348466_plot_GDS-CALIB_KAPPA_TST_IMAGINARY.png b/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/L1_1236348250_1236348466_plot_GDS-CALIB_KAPPA_TST_IMAGINARY.png
new file mode 100644
index 0000000000000000000000000000000000000000..325ad7981407e24537932da9f67891c12087427c
Binary files /dev/null and b/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/L1_1236348250_1236348466_plot_GDS-CALIB_KAPPA_TST_IMAGINARY.png differ
diff --git a/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/L1_1236348250_1236348466_plot_GDS-CALIB_KAPPA_TST_REAL.png b/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/L1_1236348250_1236348466_plot_GDS-CALIB_KAPPA_TST_REAL.png
new file mode 100644
index 0000000000000000000000000000000000000000..0b1e889a14a4b1c48436a827c53f64783e32693d
Binary files /dev/null and b/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/L1_1236348250_1236348466_plot_GDS-CALIB_KAPPA_TST_REAL.png differ
diff --git a/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/L1_1236348250_1236348466_plot_GDS-CALIB_KAPPA_UIM_IMAGINARY.png b/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/L1_1236348250_1236348466_plot_GDS-CALIB_KAPPA_UIM_IMAGINARY.png
new file mode 100644
index 0000000000000000000000000000000000000000..0e0df5c80845ca498f2b2bb5b582146c02be625d
Binary files /dev/null and b/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/L1_1236348250_1236348466_plot_GDS-CALIB_KAPPA_UIM_IMAGINARY.png differ
diff --git a/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/L1_1236348250_1236348466_plot_GDS-CALIB_KAPPA_UIM_REAL.png b/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/L1_1236348250_1236348466_plot_GDS-CALIB_KAPPA_UIM_REAL.png
new file mode 100644
index 0000000000000000000000000000000000000000..4cdc968edac094fc82cc7e01593de5c133c82dae
Binary files /dev/null and b/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/L1_1236348250_1236348466_plot_GDS-CALIB_KAPPA_UIM_REAL.png differ
diff --git a/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/L1_1236348250_1236348466_plot_GDS-CALIB_SRC_Q_INVERSE.png b/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/L1_1236348250_1236348466_plot_GDS-CALIB_SRC_Q_INVERSE.png
new file mode 100644
index 0000000000000000000000000000000000000000..91d41b48a3915fa7aa840162ec9e9de81327a1ca
Binary files /dev/null and b/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/L1_1236348250_1236348466_plot_GDS-CALIB_SRC_Q_INVERSE.png differ
diff --git a/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/L1_1236348250_1236348466_spectrum_comparison.png b/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/L1_1236348250_1236348466_spectrum_comparison.png
new file mode 100644
index 0000000000000000000000000000000000000000..50e2733219f00cd9d8f49782b4281997365b8c2d
Binary files /dev/null and b/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/L1_1236348250_1236348466_spectrum_comparison.png differ
diff --git a/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/L1_hoft_GDS_frames.cache b/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/L1_hoft_GDS_frames.cache
new file mode 100644
index 0000000000000000000000000000000000000000..97ac1671d380ba0b042191b94d2b86057a71a8aa
--- /dev/null
+++ b/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/L1_hoft_GDS_frames.cache
@@ -0,0 +1,4 @@
+L L1_TEST 1236348224 64 file://localhost/home/wademc/src/gstlal/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/Frames/ER14/L1/GDS/L-L1_TEST-1236348224-64.gwf
+L L1_TEST 1236348288 64 file://localhost/home/wademc/src/gstlal/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/Frames/ER14/L1/GDS/L-L1_TEST-1236348288-64.gwf
+L L1_TEST 1236348352 64 file://localhost/home/wademc/src/gstlal/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/Frames/ER14/L1/GDS/L-L1_TEST-1236348352-64.gwf
+L L1_TEST 1236348416 64 file://localhost/home/wademc/src/gstlal/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/Frames/ER14/L1/GDS/L-L1_TEST-1236348416-64.gwf
diff --git a/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/Makefile.all_tests b/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/Makefile.all_tests
index 3f4227e2bc1c7cd6da936bc5cc2b3ff4487ea8fa..03cabbd3587db2f44ed923541cbf10a823100944 100644
--- a/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/Makefile.all_tests
+++ b/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/Makefile.all_tests
@@ -51,7 +51,7 @@ $(IFO)1_C02_frames.cache:
 
 # Calibrate GDS testing data
 $(IFO)1_hoft_GDS_frames.cache: $(IFO)1_raw_frames.cache filters framesdir
-	gstlal_compute_strain --gps-start-time $(SHORT_START) --gps-end-time $(SHORT_END) --frame-cache $(IFO)1_raw_frames.cache --output-path Frames/$(OBSRUN)/$(IFO)1/GDS/ --frame-duration=64 --frames-per-file=1 --wings=0 --config-file $(GDSCONFIGS)
+	#gstlal_compute_strain --gps-start-time $(SHORT_START) --gps-end-time $(SHORT_END) --frame-cache $(IFO)1_raw_frames.cache --output-path Frames/$(OBSRUN)/$(IFO)1/GDS/ --frame-duration=64 --frames-per-file=1 --wings=0 --config-file $(GDSCONFIGS)
 	ls Frames/$(OBSRUN)/$(IFO)1/GDS/$(IFO)-$(IFO)1_TEST-*.gwf | lalapps_path2cache > $@
 
 # Calibrate GDS testing data with no kappas applied for response function test
diff --git a/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/Makefile.response_function b/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/Makefile.response_function
index fd8c4bb7599f52ca18cdaf1fed0e0f113d7bdaa4..5057058153ffffe2b908accb9ceb4e73d07cff28 100644
--- a/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/Makefile.response_function
+++ b/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/Makefile.response_function
@@ -1,6 +1,6 @@
 all: GDS_response_function_bode_plot
 
-FILTERS_FILE = /home/wademc/src/gstlal/gstlal-calibration/tests/gstlal-calibration-1.2.8-tests/L1/Filters/ER14/GDSFilters/L1GDS_1234630818.npz
+FILTERS_FILE = /home/wademc/src/gstlal/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/Filters/ER14/GDSFilters/L1GDS_1235491416.npz
 
 GDS_response_function_bode_plot: 
 	python ../../check_calibration/response_function.py --gps-start-time $(SHORT_PLOT_START) --gps-end-time $(SHORT_PLOT_END) --dt 6.103515625e-05 --ifo $(IFO)1 --hoft-frames-cache $(IFO)1_hoft_GDS_frames.cache --raw-frames-cache $(IFO)1_raw_frames.cache --response-file $(FILTERS_FILE) 
diff --git a/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/Makefile.timeserieskappas b/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/Makefile.timeserieskappas
index 09c2e73a71bf4f268b370827b8d10ecbd9e01353..02b58ccbdfa3e1761f662fbcc0811b294c032b09 100644
--- a/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/Makefile.timeserieskappas
+++ b/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/Makefile.timeserieskappas
@@ -1,16 +1,18 @@
-CHANNEL1 = CALIB_KAPPA_C_NOGATE
-CHANNEL2 = CALIB_KAPPA_PUM_REAL_NOGATE
-CHANNEL3 = CALIB_KAPPA_TST_REAL_NOGATE
-CHANNEL4 = CALIB_F_CC_NOGATE
-CHANNEL5 = CALIB_KAPPA_PUM_IMAGINARY_NOGATE
-CHANNEL6 = CALIB_KAPPA_TST_IMAGINARY_NOGATE
-CHANNEL7 = CALIB_KAPPA_UIM_REAL_NOGATE
-CHANNEL8 = CALIB_KAPPA_UIM_IMAGINARY_NOGATE
+CHANNEL1 = CALIB_KAPPA_C
+CHANNEL2 = CALIB_KAPPA_PUM_REAL
+CHANNEL3 = CALIB_KAPPA_TST_REAL
+CHANNEL4 = CALIB_F_CC
+CHANNEL5 = CALIB_KAPPA_PUM_IMAGINARY
+CHANNEL6 = CALIB_KAPPA_TST_IMAGINARY
+CHANNEL7 = CALIB_KAPPA_UIM_REAL
+CHANNEL8 = CALIB_KAPPA_UIM_IMAGINARY
+CHANNEL9 = CALIB_SRC_Q_INVERSE
+CHANNEL10 = CALIB_F_S_SQUARED
 
 all: GDS_Time_Series_of_Kappas
 
 GDS_Time_Series_of_Kappas:
-	python ../../check_calibration/timeserieskappas.py --gps-start-time $(SHORT_PLOT_START) --gps-end-time $(SHORT_PLOT_END) --channel-list 'GDS-$(CHANNEL1)','GDS-$(CHANNEL2)','GDS-$(CHANNEL3)','GDS-$(CHANNEL4)','GDS-$(CHANNEL5)','GDS-$(CHANNEL6)','GDS-$(CHANNEL7)','GDS-$(CHANNEL8)' --frame-cache $(IFO)1_hoft_GDS_frames.cache --ifo $(IFO)1
+	python ../../check_calibration/timeserieskappas.py --gps-start-time $(SHORT_PLOT_START) --gps-end-time $(SHORT_PLOT_END) --channel-list 'GDS-$(CHANNEL1)','GDS-$(CHANNEL2)','GDS-$(CHANNEL3)','GDS-$(CHANNEL4)','GDS-$(CHANNEL5)','GDS-$(CHANNEL6)','GDS-$(CHANNEL7)','GDS-$(CHANNEL8)','GDS-$(CHANNEL9)','GDS-$(CHANNEL10)' --frame-cache $(IFO)1_hoft_GDS_frames.cache --ifo $(IFO)1
 
 
 clean:
diff --git a/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/test.ini b/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/test.ini
index 65bbfa3a377b8d70b3983b9c71b17006e72ca211..9ff57d8d7c73148d5d893f88f75ac694ba008de3 100644
--- a/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/test.ini
+++ b/gstlal-calibration/tests/gstlal-calibration-1.2.9-tests/L1/test.ini
@@ -61,7 +61,7 @@ TestFilters: No
 ComputeKappaTST: Yes
 ApplyKappaTST: No
 # Set this to have the \kappa_tst factors filter the actuation chain with an adaptive filter that corrects for both magnitude and phase errors.
-ApplyComplexKappaTST: Yes
+ApplyComplexKappaTST: No
 
 ComputeKappaPU: No
 ApplyKappaPU: No
@@ -71,18 +71,18 @@ ApplyComplexKappaPU: No
 ComputeKappaPUM: Yes
 ApplyKappaPUM: No
 # Set this to have the \kappa_p factors the actuation chain with an adaptive filter that corrects for both magnitude and phase errors.
-ApplyComplexKappaPUM: Yes
+ApplyComplexKappaPUM: No
 
 ComputeKappaUIM: Yes
 ApplyKappaUIM: No
 # Set this to have the \kappa_u factors the actuation chain with an adaptive filter that corrects for both magnitude and phase errors.
-ApplyComplexKappaUIM: Yes
+ApplyComplexKappaUIM: No
 
 ComputeKappaC: Yes
-ApplyKappaC: Yes
+ApplyKappaC: No
 
 ComputeFcc: Yes
-ApplyFcc: Yes
+ApplyFcc: No
 
 ComputeSRCQ: Yes
 ApplySRCQ: No
@@ -133,9 +133,9 @@ ExpectedKappaPUReal: 1.0
 ExpectedKappaPUImag: 0.0
 ExpectedKappaC: 1.0
 # FIXME: Check if the code uses these if they're read in from the filers file
-ExpectedFcc: 441.2
-ExpectedFs: 0.08375
-ExpectedSRCQ: 0.2124
+#ExpectedFcc: 441.2
+#ExpectedFs: 0.08375
+#ExpectedSRCQ: 0.2124
 ################################
 # Acceptable variance in TDCFs #
 ################################