diff --git a/mlair/helpers/filter.py b/mlair/helpers/filter.py index 2e42d4c058c51f02ca3e65ebdcd92140e286da4b..2231fcd25afdc70669b473d4d7be6fef4e66b4f1 100644 --- a/mlair/helpers/filter.py +++ b/mlair/helpers/filter.py @@ -55,7 +55,7 @@ class FIRFilter: h.append(hi) # visualization - plot_data.extend(self.create_visualization(fi, input_data, plot_dates, self.time_dim, self.fs, hi, + plot_data.append(self.create_visualization(fi, input_data, plot_dates, self.time_dim, self.fs, hi, self.minimum_length, self.order, i, self.offset, self.var_dim)) # calculate residuum input_data = input_data - fi @@ -260,7 +260,7 @@ class ClimateFIRFilter(FIRFilter): input_data = self._shift_data(input_data, coord_range, self.time_dim, new_dim) - fi # create new apriori information for next iteration if no further apriori is provided - if len(apriori_list) <= i + 1: + if len(apriori_list) < len(self.order): #TODO: is this true? or should it be < i+1 resp. <= i logging.info(f"{self.station_name}: create diurnal_anomalies") if self.apriori_diurnal is True and sampling == "1H": diurnal_anomalies = self.create_seasonal_hourly_mean(input_data.sel({new_dim: 0}, drop=True), diff --git a/mlair/plotting/data_insight_plotting.py b/mlair/plotting/data_insight_plotting.py index 581a30b16680f1faa8a13a96a6632f642370375e..1eee96623d4fed6fcfb23fd1438a954a4aca230f 100644 --- a/mlair/plotting/data_insight_plotting.py +++ b/mlair/plotting/data_insight_plotting.py @@ -1187,22 +1187,23 @@ class PlotFirFilter(AbstractPlotClass): # pragma: no cover def _prepare_data(self, data): """Restructure plot data.""" plot_dict = {} - for i in range(len(data)): - plot_data = data[i] - t0 = plot_data.get("t0") - filter_input = plot_data.get("filter_input") - filtered = plot_data.get("filtered") - var_dim = plot_data.get("var_dim") - time_dim = plot_data.get("time_dim") - for var in filtered.coords[var_dim].values: - plot_dict_var = plot_dict.get(var, {}) - plot_dict_t0 = plot_dict_var.get(t0, {}) - plot_dict_order = {"filter_input": filter_input.sel({var_dim: var}, drop=True), - "filtered": filtered.sel({var_dim: var}, drop=True), - "time_dim": time_dim} - plot_dict_t0[i] = plot_dict_order - plot_dict_var[t0] = plot_dict_t0 - plot_dict[var] = plot_dict_var + for i in range(len(data)): # filter component + for j in range(len(data[i])): # t0 counter + plot_data = data[i][j] + t0 = plot_data.get("t0") + filter_input = plot_data.get("filter_input") + filtered = plot_data.get("filtered") + var_dim = plot_data.get("var_dim") + time_dim = plot_data.get("time_dim") + for var in filtered.coords[var_dim].values: + plot_dict_var = plot_dict.get(var, {}) + plot_dict_t0 = plot_dict_var.get(t0, {}) + plot_dict_order = {"filter_input": filter_input.sel({var_dim: var}, drop=True), + "filtered": filtered.sel({var_dim: var}, drop=True), + "time_dim": time_dim} + plot_dict_t0[i] = plot_dict_order + plot_dict_var[t0] = plot_dict_t0 + plot_dict[var] = plot_dict_var return plot_dict def _plot(self, plot_dict):