Я тоже боролся с открытием файлов GRIB в R. У вас есть несколько проблем, и вы можете решать их одну за другой.
Для проблем с распаковкой и gzip работайте из командной строки. Я не знаю, как создается / упаковывается tar-пакет из Eumetsat; создает ли он каталог и помещает в него все файлы данных? В этом случае поместите архив в каталог данных верхнего уровня, а затем
tar xvf tar_file_name cd (в только что созданный каталог) gunzip * .gz Запишите полный путь к файлам, которые вы хотите открыть для дальнейшего использования.
Находятся ли файлы в GRIB1 или GRIB2? Если в GRIB1, вам нужно установить wgrib. Если в GRIB2, вам нужно установить wgrib2. Оба доступны в NCEP.
Вы можете скачать их с: http://www.cpc.ncep.noaa.gov/products/wesley/
В R, 3.1 и новее вы устанавливаете пакет rNOMADS 2.0.1 и новее. Национальная система архива и распространения операционных моделей NOAA (NOMADS) распределяет глобальные сеточные данные в формате GRIB (в настоящее время в GRIB2).
rNOMADS помогает вам открывать данные GRIB1 и GRIB2 в R, вызывая wgrib или wgrib2 для декодирования двоичных данных GRIB и передачи их (в формате csv) для чтения R.
Откройте R, загрузите rNOMADS, а затем вызовите процедуру ReadGrib, используя полный путь к вашему файлу данных в «data_file_name». Это не тот способ, который описан в документации rNOMADS, но он работает.
Установка wgrib и wgrib2 - единственная сложная часть, и это может быть даже не так сложно, в зависимости от вашей системы. Я пишу руководства о том, как установить wgrib, wgrib2 и использовать rNOMADS с локальными файлами данных. Когда я закончу, они будут размещены здесь:
http://rda.ucar.edu/datasets/ds083.2/#!software
А теперь плохие новости: вам нужно открывать каждый файл последовательно. Но вы можете извлечь и сохранить нужные подполя, а затем прочитать их в следующем файле данных, перезаписав большую структуру данных, в которую вы читали предыдущий файл. Если это слишком много для PITA, рассматривали ли вы возможность использования инструмента GRADS для отображения данных GRIB?
person
user2565322
schedule
26.08.2014
getwd()
. - person josliber♦   schedule 15.05.2014"1098496-1of1.tar"
функции - person josliber♦   schedule 16.05.2014untar("1098496-1of1.tar"); list.files()
илиuntar("1098496-1of1.tar",list=TRUE)
... - person Ben Bolker   schedule 16.05.2014