如何在 pygrib(grib2 文件)中创建索引?
How to make indexes in pygrib (grib2 files)?
我正在尝试使用 here 中的 pygrib 读取 grib2 文件。但是读完整个120个文件需要4-5个多小时。所以我尝试制作索引以更快地读取文件。每当我尝试在值键上建立索引时,我都会收到此错误:
msgs = grbindx.select(level = 0, typeOfLevel = "surface",parameterName = "values")
File "pygrib.pyx", line 2003, in pygrib.index.select (pygrib.c:30731)
ValueError: no matches found
这是我的代码:
#grb = grbs.select(name='UV index')[0]
#uvi surface 0
grbindx = pygrib.index('uv.t12z.grbf64.grib2','typeOfLevel','level','parameterName')
msgs = grbindx.select(level = 0, typeOfLevel = "surface",parameterName = "values")
print msgs.keys
谁能解释我做错了什么?
grib_ls
显示在此类文件中:
edition centre date dataType gridType stepRange typeOfLevel level shortName packingType
2 kwbc 20160612 fc regular_ll 12 surface 0 uvi grid_jpeg
1 of 1 grib messages in uv.t12z.grbf12.grib2
因此,请尝试像这样阅读:
grbindx = pygrib.index('uv.t12z.grbf64.grib2','typeOfLevel','level','shortName')
msgs = grbindx.select(level = 0, typeOfLevel = "surface",shortName = "uvi")
print msgs
不过,我猜你不会得到加速,因为这个文件只有一条记录。
我正在尝试使用 here 中的 pygrib 读取 grib2 文件。但是读完整个120个文件需要4-5个多小时。所以我尝试制作索引以更快地读取文件。每当我尝试在值键上建立索引时,我都会收到此错误:
msgs = grbindx.select(level = 0, typeOfLevel = "surface",parameterName = "values")
File "pygrib.pyx", line 2003, in pygrib.index.select (pygrib.c:30731)
ValueError: no matches found
这是我的代码:
#grb = grbs.select(name='UV index')[0]
#uvi surface 0
grbindx = pygrib.index('uv.t12z.grbf64.grib2','typeOfLevel','level','parameterName')
msgs = grbindx.select(level = 0, typeOfLevel = "surface",parameterName = "values")
print msgs.keys
谁能解释我做错了什么?
grib_ls
显示在此类文件中:
edition centre date dataType gridType stepRange typeOfLevel level shortName packingType
2 kwbc 20160612 fc regular_ll 12 surface 0 uvi grid_jpeg
1 of 1 grib messages in uv.t12z.grbf12.grib2
因此,请尝试像这样阅读:
grbindx = pygrib.index('uv.t12z.grbf64.grib2','typeOfLevel','level','shortName')
msgs = grbindx.select(level = 0, typeOfLevel = "surface",shortName = "uvi")
print msgs
不过,我猜你不会得到加速,因为这个文件只有一条记录。