python - 我发现使用 Pygrib 访问 grb2 文件非常慢且耗时,对所有人来说都一样吗?

标签 python netcdf

我对两个数据集使用相同的Python代码, 1)我尝试从netcdf文件访问数据 2)我尝试使用 pygrib 访问 grb2 文件中的数据。 除此之外,代码是相同的(步骤数、循环数、总操作数 - 全部相同)。看来 pygrib 慢得要命。还有其他选择吗?

最佳答案

您没有提供很多信息,但从根本上来说,GRIB 的构建方式与 NetCDF 不同。 GRIB 文件通常由 1 个或多个 GRIB 消息组成 - 每个 GRIB 消息都是一个层,并且独立于所有其他层。这意味着您可以获取一个 GRIB 并将其连接到另一个 GRIB 的末尾,最后您将得到一个 GRIB 文件,其中包含两个原始文件中的所有消息。这不适用于 NetCDF。因此,如果您的数据由许多不同的层(或 GRIB 术语中的消息)组成,即使您没有读取数据有效负载,您也将通过文件进行大量查找。

替代软件例如GRIB API releases来自 ECMWF。它快速且可靠,但 Python API(至少目前)非常类似于 C。新的 Python API 即将推出。但如果不提供更多信息,这个问题就太笼统了,很难回答。

关于python - 我发现使用 Pygrib 访问 grb2 文件非常慢且耗时,对所有人来说都一样吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29295443/

相关文章:

python - ImageScraper 不工作

python - 从 netCDF 维度中减去值

python - 使用 xarray 计算给定年份的月份平均值

netcdf - 如何从时间序列数据中去除季节性?

Python/ NumPy /Scipy : Draw Poisson random values with different lambda

python - 在 Python 中,使用 `del` 语句是代码异味吗?

Python:如何取消隐藏关键字 'property' ?

javascript - 为什么Python的datetime和JS的Date不匹配?

python - 使用 Python 对 NetCDF 文件进行循环纬度/经度裁剪

python - 使用 netcdf 创建向量到数组中