问题标签 [cfgrib]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
dataset - 使用 xarray 和 dask 处理大型 grib 文件
我正在使用 xarray 读取一些(显然)大型 grib 文件。我说“显然”是因为它们每个大约 100MB,这对我来说似乎并不太大。然而,运行
需要5-10分钟。更糟糕的是,读取其中一个占用了近 4GB 的 RAM——考虑到 xarray 应该做的延迟加载,这让我感到惊讶。尤其是这是原始文件大小的 40 倍!
这种阅读时间和 RAM 使用似乎过多,并且无法扩展到我必须阅读的 24 个文件。
我试过使用 dask 和xr.open_mfdataset
,但是当单个文件很大时,这似乎没有帮助。有什么建议么?
附录:数据集打开后看起来像这样:
我通过一个接一个地读取 grib 文件并将它们作为 netcdf 写入磁盘暂时解决了这个问题。xarray 然后按预期处理 netcdf 文件。显然,不必这样做会很好,因为它需要很长时间 - 到目前为止我只做了 4 次。
python - 使用 eccodes/grib 时如何解决此 AttributeError?
我在 macOS 上使用 cfgrib,当我尝试将隐蔽的 grib 文件用于 xarray 时出现以下错误:
这是我到目前为止的代码:
我已经下载了所有似乎需要的东西,包括 eccodes、pyeccodes、cfgrib。我该如何解决这个问题?
python - 使用 xarray 和 cfgrib 引擎导入文件时,Jupyter 内核死机
我正在尝试使用cfgrib
Linux 上的包和 ecCodes 从 lat/lons 打开和提取数据。
注意:此代码在 jupyter 外部运行时有效 - 但在其中崩溃。
我已经安装了 ecCodes 并使用它检查了它,python -m cfgrib selfcheck
它给出了输出
然后,我按照此处的说明使用 anaconda 在虚拟环境中安装了 cfgrib 。
当我尝试在以虚拟环境为内核的 jupyter notebook 中使用相对较小的示例 grib 文件运行代码时,以下代码每次都会杀死内核。
ecCodes
我已经更新到and的最新版本,cfgrib
但我看不出出了什么问题。
python - 使用 DASK + CFGrib 并行打开文件真的很慢
我一直在使用以下代码构建一个 GRIB 文件读取工具。我有异构文件,所以我不能使用 xarray.open_mfdatasets 或类似的东西。
在运行代码时,我注意到与完全并行处理相比,以线程并行运行的性能降低了 10 倍(每个 Dask 工作人员只有 1 个线程)。我猜这与 GIL 有关,我猜任何人都不会感到惊讶。DASK 文档确实强调这是一个优化机会。拥有这么多工人有一些缺点,因为他们现在的内存有限,并且启动所有工人需要额外的开销,更不用说更多的进程通信了。每个任务大约需要 10 秒,所以我不关心 Dask.delayed 的开销。
我有两个问题:
- 下层 CFGrib/Eccodes 包中有什么可以提高多线程性能的吗?根据我的模糊理解,numpy 等在底层编译代码中采取步骤来释放 GIL?
- 是否可以利用 DASK 中新的 asyncIO python 功能?(我并没有要求任何人立即开发它,我只是想知道这样的东西是否存在或正在开发中,是否是一个愚蠢的想法)
谢谢。
cfgrib - 如何按压力级别提取信息?
我是cfgrib的新手,所以请原谅可能是一个直截了当的问题..
我有一个异构 grib 文件,它表示网格上各点和大气压力水平的天气信息。
对于我的一生,我无法弄清楚如何以可用的方式提取我需要的信息。
例如,我想获取每个可用压力水平下网格中每个点的温度信息(数据变量 = t)。或者,如果不可能,请获取特定压力水平下每个纬度、经度的温度。
我的 grib 文件如下所示:
非常感谢任何帮助!
python - 读取grb2文件很慢
使用以下代码读取大约 100 兆字节的 grb2 文件需要 5 分钟:
有什么方法或库可以让我更快地阅读这些文件吗?
python-xarray - xarray 使用 cfgrib 在 s3 上读取远程 grib 文件
crgrib 引擎可以处理读取远程文件吗?根据马丁杜兰特的评论,它看起来不像(https://github.com/ecmwf/cfgrib/issues/198#issuecomment-772852412)
在 s3 上托管了一个小的 grib 文件:https ://mf-nwp-models.s3.amazonaws.com/index.html#arpege-world/v2/2021-02-16/00/UGRD/10m/ (注意不要点击文件,因为它会下载)。
当我尝试阅读它时,sf3s
我得到
python - 通过 pip 在 WSL2 上未正确安装 Cfgrib
我正在尝试安装cfgrib
到我的 WSL2 Ubuntu,但是当我键入python3 -m cfgrib selfcheck
它时会出现以下错误,如下所示。
我的 python 版本是Python 3.8.2
. 是否可以通过 cfgrib 安装pip
?
python-xarray - 如何在 xarray 的后端添加 fsspec.open_local
遵循 Q here xarray 使用 cfgrib 读取 s3 上的远程 grib 文件
我将如何转换以下代码以在backend_kwargs
xarray 的open_dataset
.
至
但得到ERROR:cfgrib.messages:Can't create file 'simplecache::s3://mf-nwp-models/arpege-world/v2/2021-02-16/00/UGRD/10m/0h.grib2.90c91.idx'