我正在尝试从 3 小时的全球数据集中计算每日 Tmax。我可以使用 groupby 来做到这一点,但我想弄清楚如何通过使用 dask 并行操作(例如使用 apply_ufunc)来减少计算时间。如果有关于 ufunc 的好的文档,请告诉我(xarray 上的文档对我来说不够详细,让我有点困惑,因为我之前没有任何使用 dask 的经验)。谢谢!!
这是我的代码的样子:
TAS = xr.open_dataset(INFILE_template.format(YR, YR), chunks={'time':8})
DAYMAX = TAS.groupby('time.dayofyear').max(dim='time')
DAYMAX.to_netcdf(OUTFILE_template.format(YR, YR))
TAS的维度如下:
<xarray.Dataset>
Dimensions: (lat: 720, lon: 1440, time: 2928)
Coordinates:
* lon (lon) float64 0.125 0.375 0.625 0.875 1.125 1.375 1.625 1.875 ...
* lat (lat) float64 -89.88 -89.62 -89.38 -89.12 -88.88 -88.62 -88.38 ...
* time (time) datetime64[ns] 2008-01-01 2008-01-01T03:00:00 ...
Data variables:
tas (time, lat, lon) float32 dask.array<shape=(2928, 720, 1440),