【发布时间】:2018-03-14 07:16:35
【问题描述】:
我正在使用 xarray 读取 NetCDF 文件。每个变量都有 4 个维度(Times, lev, y, x)。读取变量后,我计算变量 QVAPOR 沿 (Times,lev) 尺寸。计算后我得到变量 QVAPOR_mean 这是一个二维变量,形状为 (y: 699, x: 639) .
Xarray 只用了 10 微秒来读取形状数据(Times:2918, lev:36, y:699, x:639);但花了超过 60 分钟 绘制形状数据的填充轮廓(y: 699, x: 639)。
我想知道为什么 Xarray 需要很长时间(超过 60 分钟)来绘制大小为 (y: 699, x: 639 的数组的轮廓)。
我使用以下代码来读取文件并执行计算。
flnm=xr.open_mfdataset('./WRF_3D_2007_*.nc',chunks={'Times': 100})
QVAPOR_mean=flnm.QVAPOR.mean(dim=('Times','lev')
QVAPOR_mean.plot.imshow()
最后一个命令需要 60 多分钟才能完成。帮助表示赞赏。 谢谢你
【问题讨论】:
-
您的总数据集有多大,以 GB 为单位?
2918 * 36 * 699 * 639 * 8 / 2**30 = 350GB?您可以使用块大小,但我不确定您可以期望多好。 -
是的,大约是 350 GB。我已经沿
Time维度存储数据。计算速度非常快,唯一的问题是绘图。 Python 绘制形状为(y: 699, x: 639)的数据不应超过几秒钟。我想知道发生了什么?
标签: python netcdf dask python-xarray xarray