Skip to content
Snippets Groups Projects
Commit e32f012e authored by leufen1's avatar leufen1
Browse files

try out dask approach

parent f13604b0
Branches
Tags
5 merge requests!319add all changes of dev into release v1.4.0 branch,!318Resolve "release v1.4.0",!317enabled window_lead_time=1,!295Resolve "data handler FIR filter",!259Draft: Resolve "WRF-Datahandler should inherit from SingleStationDatahandler"
Pipeline #67277 passed
......@@ -10,6 +10,7 @@ import pandas as pd
from matplotlib import pyplot as plt
from scipy import signal
import xarray as xr
import dask.array as da
from mlair.helpers import to_list, TimeTrackingWrapper, TimeTracking
......@@ -267,10 +268,10 @@ class ClimateFIRFilter:
"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)
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:
......@@ -397,7 +398,7 @@ def fir_filter_numpy_vectorized(filter_input_data, var_dim, kwargs):
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 = np.apply_along_axis(fir_filter_vectorized, 2, filter_input_data.sel({var_dim: var}).values, **kwargs)
a = da.apply_along_axis(fir_filter_vectorized, 2, filter_input_data.sel({var_dim: var}).values, **kwargs)
filt_np.loc[{var_dim: var}] = a
return filt_np
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment