diff --git a/geomagio/algorithm/AverageAlgorithm.py b/geomagio/algorithm/AverageAlgorithm.py index fe970d63d67828576589416913e242a17db5a0ac..065e674ac9c3fb73ffaebb8e81b63fa04782019d 100644 --- a/geomagio/algorithm/AverageAlgorithm.py +++ b/geomagio/algorithm/AverageAlgorithm.py @@ -53,13 +53,13 @@ class AverageAlgorithm(Algorithm): min_count_start=None, min_count_end=None, ): - Algorithm.__init__(self) + Algorithm.__init__(self, inchannels=[channel]) self._npts = -1 self._stt = -1 self._stats = None self.scales = scales self.observatories = observatories - self.outchannel = channel + self.inchannel = channel self.outlocation = location self.min_count = min_count self.min_count_start = min_count_start @@ -135,11 +135,11 @@ class AverageAlgorithm(Algorithm): out_stream: new stream object containing the averaged values and available observatories. """ - self.observatories = self.observatories or [t.stats.station for t in timeseries] + observatories = self.observatories or [t.stats.station for t in timeseries] - self.outchannel = self.outchannel or timeseries[0].stats.channel + inchannel = self.inchannel or timeseries[0].stats.channel - self.outlocation = self.outlocation or timeseries[0].stats.location + outlocation = self.outlocation or timeseries[0].stats.location min_count = self.min_count or len(self.observatories) min_count_start = self.min_count_start or timeseries[0].stats.starttime @@ -148,7 +148,7 @@ class AverageAlgorithm(Algorithm): scale_values = self.scales or ([1] * len(timeseries)) lat_corr = {} i = 0 - for obs in self.observatories: + for obs in observatories: new_obs = {str(obs): scale_values[i]} lat_corr.update(new_obs) i += 1 @@ -159,7 +159,7 @@ class AverageAlgorithm(Algorithm): # initialize array for data to be appended combined = [] # loop over stations - for obsy in self.observatories: + for obsy in observatories: # lookup latitude correction factor, default = 1.0 if obsy in lat_corr: @@ -194,9 +194,9 @@ class AverageAlgorithm(Algorithm): # create first output trace metadata average_stats = obspy.core.Stats() average_stats.station = "USGS" - average_stats.channel = self.outchannel + average_stats.channel = inchannel average_stats.network = "NT" - average_stats.location = self.outlocation + average_stats.location = outlocation average_stats.starttime = timeseries[0].stats.starttime average_stats.npts = timeseries[0].stats.npts average_stats.delta = timeseries[0].stats.delta @@ -260,13 +260,14 @@ class AverageAlgorithm(Algorithm): arguments: Namespace parsed command line arguments """ + Algorithm.configure(self, arguments) - self.observatories = arguments.observatory - if arguments.outchannels: - if len(arguments.outchannels) > 1: - raise AlgorithmException("Only 1 channel can be specified") - self.outchannel = arguments.outchannels[0] + if self._inchannels: + if len(self._inchannels) > 1: + raise AlgorithmException("Only 1 input channel can be specified") + self.inchannel = self._inchannels + self.observatories = arguments.observatory self.scales = arguments.average_observatory_scale if self.scales: if len(self.observatories) != len(self.scales):