2016-06-06 6 views
1

Я пытаюсь прочитать файл grib2 с помощью pygrib от here. Но для чтения всего 120 файлов требуется более 4-5 часов. Поэтому я попробовал сделать индексы для чтения файла быстрее. Всякий раз, когда я пытаюсь сделать индекс по ключу значения, я получаю эту ошибку:Как сделать индексы в pygrib (файлы grib2)?

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 

Может кто-нибудь объяснить, что я делаю неправильно?

ответ

1

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 

Однако, я думаю, вы не получите ускорение из-за этого файла имеет только одну запись.

 Смежные вопросы

  • Нет связанных вопросов^_^