Skip to content
Snippets Groups Projects

Resolve "release v1.4.0"

Merged Ghost User requested to merge release_v1.4.0 into master
1 file
+ 8
7
Compare changes
  • Side-by-side
  • Inline
+ 8
7
@@ -267,11 +267,11 @@ class ClimateFIRFilter:
kwargs = {"fs": fs, "cutoff_high": cutoff_high, "order": order,
"causal": False, "padlen": int(min(padlen_factor, 1) * length)}
with TimeTracking():
filt = fir_filter_numpy_vectorized(filter_input_data, var_dim, kwargs)
with TimeTracking():
filt = xr.apply_ufunc(fir_filter_vectorized, filter_input_data, time_axis,
input_core_dims=[[new_dim], []], output_core_dims=[[new_dim]], vectorize=True,
kwargs=kwargs)
filt = fir_filter_numpy_vectorized(filter_input_data, var_dim, new_dim, kwargs)
# with TimeTracking():
# filt = xr.apply_ufunc(fir_filter_vectorized, filter_input_data, time_axis,
# input_core_dims=[[new_dim], []], output_core_dims=[[new_dim]], vectorize=True,
# kwargs=kwargs)
# plot
if self.plot_path is not None:
@@ -393,12 +393,13 @@ def fir_filter(data, fs, order=5, cutoff_low=None, cutoff_high=None, window="ham
return filtered, h
def fir_filter_numpy_vectorized(filter_input_data, var_dim, kwargs):
def fir_filter_numpy_vectorized(filter_input_data, var_dim, new_dim, kwargs):
filt_np = xr.DataArray(np.nan, coords=filter_input_data.coords)
for var in filter_input_data.coords[var_dim]:
logging.info(
f"{filter_input_data.coords['Stations'].values[0]}: {str(var.values)}") # ToDo must be removed, just for debug
a = da.apply_along_axis(fir_filter_vectorized, 2, filter_input_data.sel({var_dim: var}).values, **kwargs)
a = np.apply_along_axis(fir_filter_vectorized, filter_input_data.dims.index(new_dim),
filter_input_data.sel({var_dim: var}).values, **kwargs)
filt_np.loc[{var_dim: var}] = a
return filt_np
Loading