From 6d18b55beed6b150a854e039911751fb54ea5d35 Mon Sep 17 00:00:00 2001
From: MoritzThomasHuebner <email@moritz-huebner.de>
Date: Thu, 9 Aug 2018 12:19:59 +1000
Subject: [PATCH] Fixed missing function parameter

---
 tupak/gw/detector.py | 50 ++++++++++++++++++++++++++------------------
 1 file changed, 30 insertions(+), 20 deletions(-)

diff --git a/tupak/gw/detector.py b/tupak/gw/detector.py
index 21f2dee3b..697e153f3 100644
--- a/tupak/gw/detector.py
+++ b/tupak/gw/detector.py
@@ -21,6 +21,7 @@ except ImportError:
 
 class InterferometerList(list):
     """ A list of Interferometer objects """
+
     def __init__(self, interferometers):
         """ Instantiate a InterferometerList
 
@@ -136,8 +137,9 @@ class InterferometerList(list):
         for ii, interferometer in enumerate(self):
             ax = fig.add_subplot(len(self) // 2, 2, ii + 1)
             ax.loglog(interferometer.frequency_array,
-                      gwutils.asd_from_freq_series(
-                          interferometer.frequency_domain_strain),
+                      gwutils.asd_from_freq_series(freq_data=interferometer.frequency_domain_strain,
+                                                   df=(interferometer.frequency_array[1] -
+                                                       interferometer.frequency_array[0])),
                       color='C0', label=interferometer.name)
             ax.loglog(interferometer.frequency_array,
                       interferometer.amplitude_spectral_density_array,
@@ -149,7 +151,11 @@ class InterferometerList(list):
             ax.legend(loc='best')
         if signal is not None:
             ax.loglog(self.frequency_array,
-                      gwutils.asd_from_freq_series(signal), color='C2',
+                      gwutils.asd_from_freq_series(freq_data=signal,
+                                                   df=(self.frequency_array[1] -
+                                                       self.frequency_array[0])
+                                                   ),
+                      color='C2',
                       label='Signal')
         fig.tight_layout()
         if label is None:
@@ -198,6 +204,7 @@ class InterferometerList(list):
 
 class InterferometerStrainData(object):
     """ Strain data for an interferometer """
+
     def __init__(self, minimum_frequency=0, maximum_frequency=np.inf,
                  roll_off=0.4):
         """ Initiate an InterferometerStrainData object
@@ -357,7 +364,7 @@ class InterferometerStrainData(object):
         elif alpha is not None:
             self.roll_off = alpha * self.duration / 2
         window = tukey(len(self._time_domain_strain), alpha=self.alpha)
-        self.window_factor = np.mean(window**2)
+        self.window_factor = np.mean(window ** 2)
         return window
 
     @property
@@ -415,7 +422,7 @@ class InterferometerStrainData(object):
             logger.info(
                 "Low pass filter frequency of {}Hz requested, this is equal"
                 " or greater than the Nyquist frequency so no filter applied"
-                .format(filter_freq))
+                    .format(filter_freq))
             return
 
         logger.debug("Applying low pass filter with filter frequency {}".format(filter_freq))
@@ -572,7 +579,7 @@ class InterferometerStrainData(object):
         """
 
         timeseries = gwutils.get_open_strain_data(
-            name, start_time, start_time+duration, outdir=outdir, cache=cache,
+            name, start_time, start_time + duration, outdir=outdir, cache=cache,
             **kwargs)
 
         self.set_from_gwpy_timeseries(timeseries)
@@ -1066,7 +1073,7 @@ class Interferometer(object):
         """
         if not self.__vertex_updated:
             self.__vertex = gwutils.get_vertex_position_geocentric(self.__latitude, self.__longitude,
-                                                                          self.elevation)
+                                                                   self.elevation)
             self.__vertex_updated = True
         return self.__vertex
 
@@ -1199,7 +1206,7 @@ class Interferometer(object):
 
         return signal_ifo
 
-    def inject_signal(self,  parameters=None, injection_polarizations=None,
+    def inject_signal(self, parameters=None, injection_polarizations=None,
                       waveform_generator=None):
         """ Inject a signal into noise
 
@@ -1246,7 +1253,7 @@ class Interferometer(object):
         if not self.strain_data.time_within_data(parameters['geocent_time']):
             logger.warning(
                 'Injecting signal outside segment, start_time={}, merger time={}.'
-                .format(self.strain_data.start_time, parameters['geocent_time']))
+                    .format(self.strain_data.start_time, parameters['geocent_time']))
 
         signal_ifo = self.get_detector_response(injection_polarizations, parameters)
         if np.shape(self.frequency_domain_strain).__eq__(np.shape(signal_ifo)):
@@ -1309,8 +1316,8 @@ class Interferometer(object):
                         np.cos(self.__latitude) * np.sin(self.__longitude), np.sin(self.__latitude)])
 
         return np.cos(arm_tilt) * np.cos(arm_azimuth) * e_long + \
-            np.cos(arm_tilt) * np.sin(arm_azimuth) * e_lat + \
-            np.sin(arm_tilt) * e_h
+               np.cos(arm_tilt) * np.sin(arm_azimuth) * e_lat + \
+               np.sin(arm_tilt) * e_h
 
     @property
     def amplitude_spectral_density_array(self):
@@ -1334,8 +1341,8 @@ class Interferometer(object):
         array_like: An array representation of the PSD
 
         """
-        return self.power_spectral_density.power_spectral_density_interpolated(self.frequency_array)\
-            * self.strain_data.window_factor
+        return self.power_spectral_density.power_spectral_density_interpolated(self.frequency_array) \
+               * self.strain_data.window_factor
 
     @property
     def frequency_array(self):
@@ -1426,14 +1433,17 @@ class Interferometer(object):
 
         fig, ax = plt.subplots()
         ax.loglog(self.frequency_array,
-                  gwutils.asd_from_freq_series(self.frequency_domain_strain),
+                  gwutils.asd_from_freq_series(freq_data=self.frequency_domain_strain,
+                                               df=(self.frequency_array[1] - self.frequency_array[0])),
                   color='C0', label=self.name)
         ax.loglog(self.frequency_array,
                   self.amplitude_spectral_density_array,
                   color='C1', lw=0.5, label=self.name + ' ASD')
         if signal is not None:
             ax.loglog(self.frequency_array,
-                      gwutils.asd_from_freq_series(signal), color='C2',
+                      gwutils.asd_from_freq_series(freq_data=signal,
+                                                   df=(self.frequency_array[1] - self.frequency_array[0])),
+                      color='C2',
                       label='Signal')
         ax.grid('on')
         ax.set_ylabel(r'strain [strain/$\sqrt{\rm Hz}$]')
@@ -1466,7 +1476,7 @@ class TriangularInterferometer(InterferometerList):
 
         for ii in range(3):
             self.append(Interferometer(
-                '{}{}'.format(name, ii+1), power_spectral_density[ii], minimum_frequency[ii], maximum_frequency[ii],
+                '{}{}'.format(name, ii + 1), power_spectral_density[ii], minimum_frequency[ii], maximum_frequency[ii],
                 length, latitude, longitude, elevation, xarm_azimuth, yarm_azimuth, xarm_tilt, yarm_tilt))
 
             xarm_azimuth += 240
@@ -1636,7 +1646,7 @@ class PowerSpectralDensity(object):
         self._check_frequency_array_matches_density_array(power_spectral_density)
         self.__power_spectral_density = power_spectral_density
         self._interpolate_power_spectral_density()
-        self.__amplitude_spectral_density = power_spectral_density**0.5
+        self.__amplitude_spectral_density = power_spectral_density ** 0.5
 
     @property
     def amplitude_spectral_density(self):
@@ -1646,7 +1656,7 @@ class PowerSpectralDensity(object):
     def amplitude_spectral_density(self, amplitude_spectral_density):
         self._check_frequency_array_matches_density_array(amplitude_spectral_density)
         self.__amplitude_spectral_density = amplitude_spectral_density
-        self.__power_spectral_density = amplitude_spectral_density**2
+        self.__power_spectral_density = amplitude_spectral_density ** 2
         self._interpolate_power_spectral_density()
 
     def import_amplitude_spectral_density(self):
@@ -1679,14 +1689,14 @@ class PowerSpectralDensity(object):
                 os.path.dirname(__file__), 'noise_curves',
                 self.power_spectral_density_file)
         self.frequency_array, self.power_spectral_density = np.genfromtxt(
-                self.power_spectral_density_file).T
+            self.power_spectral_density_file).T
 
     def _check_frequency_array_matches_density_array(self, density_array):
         """Check the provided frequency and spectral density arrays match."""
         try:
             self.frequency_array - density_array
         except ValueError as e:
-            raise(e, 'Provided spectral density does not match frequency array. Not updating.')
+            raise (e, 'Provided spectral density does not match frequency array. Not updating.')
 
     def _interpolate_power_spectral_density(self):
         """Interpolate the loaded power spectral density so it can be resampled
-- 
GitLab