当前位置: 首页 > 知识库问答 >
问题:

带dask sel的xarray速度很慢

东门秦迟
2023-03-14

使用xarray的open_mfdataset打开一系列大约90个netCDF文件,每个文件大约27MB,加载一个小的时空选择需要很长时间。

分块维度产生边际收益。decode_cf=True在函数内部或单独都没有区别。这里还有一个建议https://groups.google.com/forum/#!topic/xarray/11lDGSeza78让我将所选内容另存为一个单独的netCdf并重新加载。

当dask部分必须做一些工作(加载、计算、转换为数据帧)时,这似乎是一个瓶颈。

使用dask.visualize生成图形会生成一个巨大的图像。它可能告诉我们一些事情,但我不知道如何解释。

wind = xr.open_mfdataset(testCCMPPath,\
                         decode_cf=True,\
                         chunks={'time': 100,\
                                 'latitude': 100,\
                                 'longitude': 100})
%timeit wind.sel(latitude=latRange, longitude=windLonRange, time=windDateQueryRange).load()

wxr = wind.sel(latitude=latRange, longitude=windLonRange, time=windDateQueryRange)
df = wxr.to_dataframe()
print(df.shape)

输出显示的时间

每个回路1.93 s±29.8 ms(7次运行的平均值±标准偏差,每个回路1次)

df.shape输出仅为164x3。

对于另一个xr阵列,我有一个类似的sel,得到的时间大约为.05秒,但是这有很多稀疏点。wind xr阵列几乎没有空格。

共有1个答案

容修贤
2023-03-14

事实证明,文件数量太多,dask无法有效处理。

这些文件具有纬度、经度和时间维度。在本例中,时间的粒度为3小时。我使用的时间刻度使我能够处理大约35000个文件。太多了,达斯克无法处理。我通过每年合并文件来解决这个问题,将.nc文件的数量减少到12个。

CDO(气候数据操作员)是一个让我们能够快速合并文件的实用程序。看[https://www.unidata.ucar.edu/software/netcdf/software.html#CDO][1] 更多细节。

我如何使用cdo的一个例子是:对于目录中的一组文件。

cdo cat ./precip/2004/*.nc4 2004.nc

从那以后,xr.open_mfdataset()的表现要好得多。

 类似资料:
  • 问题内容: (重要)编辑3: 单独运行testajax2.php而 _不是_Ajax。持续时间大致相同,为1.02-1.03秒。所以我想这意味着问题出在PHP- MySQL或XAMPP中? 当我通过phpMyAdmin查询运行它时,结果如下:显示第0-29行(总计约50行。查询用时 0.0015秒 )。看来问题根本不在于Ajax,而可能在于PHP。我怎样才能解决这个问题?(我也刚刚编辑了问题标题。

  • 问题内容: 我正在使用Google BigQuery,并且正在从PHP执行一些简单的查询。(例如,从电子邮件中的SELECT * WHERE email='mail@test.com‘)我只是在检查表中是否存在该电子邮件。 表“电子邮件”目前为空。但是,PHP脚本仍然需要大约4分钟的时间来检查一个空表上的175封电子邮件。.如我希望将来该表将被填充,并且将有500 000封邮件,那么我想请求时间会

  • 受这个问题的启发。我创建了一个小型基准测试程序来比较原型、二进制格式和Json。NET。基准测试本身是一个基于https://github.com/sidshetye/SerializersCompare的小型控制台。随意添加/改进,向组合中添加一个新的序列化程序非常简单。无论如何,我的结果是: 免责声明: > 以上结果来自Windows虚拟机-与裸机操作系统相比,非常小间隔的秒表/计时器值可能不

  • xarray 是一个开源 Python 包,它可以使处理多维数组更加简单、高效并有趣。xarray 在原始类 NumPy 多维数组中引入了标签化的变量名称和坐标索引,实现了更直观、更简洁和更加不容易出错的能力。该软件包包括一个庞大且不断增长的域无关功能库,用于使用这些数据结构进行高级分析和可视化。xarray 灵感来自同为解决数据分析任务而诞生的 pandas。 多维数组(张量)是计算科学的重要组

  • 问题内容: 我有运行返回的json数据的此功能。在chrome中速度确实很高,但是在IE和FF中却很慢。有关如何改善此问题的建议?返回的数据约为15个对象。这将在顶部创建一堆锚点,并在每个标题下列出。 问题答案: 这是结合以下性能增强功能的代码版本: 在循环结束时仅将一次添加到innerHTML中。您希望尽可能避免这样做,因为每次添加到该项目时,它都会导致该项目中所有HTML的完整重新解析。这样可