【问题标题】:Streaming for Xarray NetCDF FilesXarray NetCDF 文件的流式传输
【发布时间】:2020-12-23 17:52:07
【问题描述】:

我想知道是否有办法直接从 NetCDF 文件流式传输数据,因为它是用 `xarray 编写的。

我想我可以像这样“创建”一个非缓冲文件?

import io
ts_file_stream = io.open("/some/file/being/written/to.nc", mode='rb', buffering=-1)

我也知道我可以用 Xarray 打开这个:

import xarray as xr
ds = xr.open_dataset(ts_file_stream)

但是,我不确定这些数组是否会持续更新?整个事情的目的如下:我有一个产生输出的数值模型,我想在模型运行时可视化一些变量以了解当前状态。我知道这得到了 Holoviews 人的支持:https://hvplot.holoviz.org/user_guide/Streaming.html

这是否需要我使用streamz 库制作自己的流? https://streamz.readthedocs.io/en/latest/index.html

任何关于如何让它为 netcdf 工作的提示都会很棒!

干杯,
保罗

【问题讨论】:

    标签: python-xarray hvplot streamz


    【解决方案1】:

    不确定这是否能解决您的问题,但我有一个类似的用例,我想要一个经常更新的网格数据散景图。因为 NetCDF 不能在 Python 中并行读写,这不是开箱即用的,因为在绘制数据时写入 NetCDF 需要某种手动同步。

    我还没有尝试流。但我found that using zarr files instead of NetCDF 是解决这个问题的简单方法,因为您可以轻松地从 xarray 附加到 zarr 文件,而另一个应用程序从文件中读取。

    【讨论】:

      猜你喜欢
      • 2021-01-22
      • 2022-01-08
      • 2021-10-29
      • 1970-01-01
      • 2020-06-19
      • 1970-01-01
      • 2018-12-31
      • 1970-01-01
      • 2010-09-12
      相关资源
      最近更新 更多