微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如果 dask.distributed 客户端已创建,则 xarray.open_mfdataset() 不起作用

如何解决如果 dask.distributed 客户端已创建,则 xarray.open_mfdataset() 不起作用

我有一个奇怪的问题,希望您能提供一些意见。基本上,我正在 AWS Pangeo Cloud 上运行笔记本,并使用 xr.open_mfdataset.

在 S3(使用 s3fs)上打开一些 GOES-16 卫星数据

如果我根本不使用 dask,这会很好用,数据集在几分钟内构建完毕。

但如果我在打开文件之前创建一个 dask.distributed 客户端,open_mfdataset 会挂起,似乎永远。

我制作了一些可以在这里探索的简单笔记本,以及可用于运行它们的活页夹链接。任何输入将不胜感激!

https://github.com/lsterzinger/pangeo-cloud-L2-satellite/tree/main/dask_troubleshooting

解决方法

以下是否会实现您的目标?

ds = xr.open_mfdataset(file_objs,combine='nested',concat_dim='t',data_vars='minimal',coords='minimal',compat='override')

请注意,使用这些设置,非 dask 版本在大约 35 秒内加载,而 dask 版本似乎在 90 秒的范围内。我没有处理过这些数据,所以不知道这里是否是这种情况,但扩展优势可能会适用于更多文件(现在是 24 个)。

这是基于 docs 中的指导:

通常,其中一些变量需要沿着一个维度(比如“时间”)连接起来,而其余的在整个数据集中是相等的(忽略浮点差异)。

此命令沿“时间”维度连接变量,但仅连接那些已经包含“时间”维度的变量(data_vars='minimal',coords='minimal')。缺少“时间”维度的变量取自第一个数据集 (compat='override')。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。