我对两个数据集使用相同的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/