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

时间:2015-03-27 07:31:51

标签: python netcdf

我对两个数据集使用相同的python代码, 1)我试图从netcdf文件访问数据 2)我试图使用pygrib从grb2文件访问数据。 除此之外,代码是相同的(步数,循环,总操作 - 都相同)。似乎pygrib地狱很慢。还有其他选择吗?

1 个答案:

答案 0 :(得分:1)

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

替代软件例如来自ECMWF的GRIB API releases。它快速可靠,但Python API(目前至少)非常类似C。一个新的Python API即将发布。但是,如果没有提供更多信息,这个问题就很普遍,很难回答。