in analysis/webservice/algorithms/TimeSeriesSolr.py [0:0]
def calc(self, computeOptions, **args):
"""
:param computeOptions: StatsComputeOptions
:param args: dict
:return:
"""
ds = computeOptions.get_dataset()
if type(ds) != list and type(ds) != tuple:
ds = (ds,)
resultsRaw = []
for shortName in ds:
results, meta = self.getTimeSeriesStatsForBoxSingleDataSet(computeOptions.get_min_lat(),
computeOptions.get_max_lat(),
computeOptions.get_min_lon(),
computeOptions.get_max_lon(),
shortName,
computeOptions.get_start_time(),
computeOptions.get_end_time(),
computeOptions.get_apply_seasonal_cycle_filter(),
computeOptions.get_apply_low_pass_filter())
resultsRaw.append([results, meta])
results = self._mergeResults(resultsRaw)
if len(ds) == 2:
stats = self.calculateComparisonStats(results, suffix="")
if computeOptions.get_apply_seasonal_cycle_filter():
s = self.calculateComparisonStats(results, suffix="Seasonal")
stats = self._mergeDicts(stats, s)
if computeOptions.get_apply_low_pass_filter():
s = self.calculateComparisonStats(results, suffix="LowPass")
stats = self._mergeDicts(stats, s)
if computeOptions.get_apply_seasonal_cycle_filter() and computeOptions.get_apply_low_pass_filter():
s = self.calculateComparisonStats(results, suffix="SeasonalLowPass")
stats = self._mergeDicts(stats, s)
else:
stats = {}
meta = []
for singleRes in resultsRaw:
meta.append(singleRes[1])
res = TimeSeriesResults(results=results, meta=meta, stats=stats, computeOptions=computeOptions)
return res