我试图从一个3小时的全球数据集中计算每日Tmax。我可以使用groupby来完成这个任务,但是我想知道如何通过使用dask并行操作(例如使用apply_ufunc)来减少计算时间。如果有关于ufunc的好文档,请告诉我(关于xarray的文档对我来说不够详细,给我留下了一点困惑,因为我以前没有任何使用dask的经验)。谢谢!!time.dayofyear').max(dim='time')
DAY
这样的函数在时间维度上缩放每个“图像”for i in range(data.shape[0]):但是由于数据存储在dask我遇到了这个错误:
TypeError: this variable's data is stored in a dask array, which does not support item assignment如何在xarray/dask中做到这一点?
我的数据集有按(time, y, x)顺序排列的3个维度,我使用apply_ufunc沿time维度应用计算。这将维度的顺序重新排列为(y, x, time)。我需要重组xarray,使其按照(time, y, x)顺序作为原始数据集。我该怎么做呢?dcube, output_core_dims=[["time"]],
dask是否有阻止apply_ufunc</em
我想将自定义函数应用于xarray.Dataset中的一个变量,只修改指定的变量。同时,我正在尝试制作dask计算图的这一部分,以便在使用to_netcdf读取到磁盘之前将其延迟。目前,我可以使用ufunc应用xr.apply_ufunc(),但只能应用于数据集中的所有变量。我知道我可能可以直接使用变量的名称(如Dataset.var )访问它,并将其传递给apply_ufunc(),但我不太明白如何在输出之前将该函数的输出(延迟的未来)与原始数据集重新组合。import xar
import xarray as xr chunks={'latitude': 10to do quantile, or it throws a ValueError:
# ValueError: dimension time on 0th function argument to apply_ufunc我的问题来自内存的使用。我认为,通过执行open_mf