Использование R для открытия файлов grib

Я использую R для работы с метеорологическими данными. Я делаю два шага:

  1. конвертировать grib в netcdf с помощью функции командной строки ncl_convert2nc из командного языка ncar
  2. используйте пакет ncdf в R для импорта данных netcdf.

У меня все еще есть одна проблема:

2- Для некоторых файлов grib преобразование с помощью инструмента ncar не работает. Есть ли другие способы или уловки (кроме транскрипции в netcdf) для чтения файлов grib в R?

Проблема, на которую ответил Дирк: 1- Я хотел бы сделать автоматическую обработку многих файлов в R. Могу ли я вызвать ncl_convert2nc в R? (ответил Дирк Эддельбюттель ниже)


person robin girard    schedule 16.06.2010    source источник


Ответы (5)


Что касается вопроса 1, ответ - «Да» - см. help(system) и internal=TRUE, если вы хотите зафиксировать результаты.

person Dirk Eddelbuettel    schedule 16.06.2010

rgdal также может это сделать, но он менее гибкий и требует большей осторожности и подробностей, чем ncdf или RNetCDF, и зависит от вашего GDAL / rgdal, созданного, включая драйвер GRIB.

person mdsumner    schedule 16.06.2010

ncl_convert2nc кажется лучшим решением. Однако, если структура данных немного сложнее, я использую GrADS для преобразования файла GRIB в ASCII (например, .csv), а затем можно создать файл NetCDF, используя пакет ncdf4, предназначенный для R. GrADS также обеспечивает поддержку повторного преобразования. запись GRIB в NetCDF, но есть ограничение только одной переменной.

person speleo    schedule 03.09.2012

В качестве альтернативы вызову ncl_convert2nc из R я могу предложить две альтернативы:

1. Преобразование CDO

Еще одно быстрое и простое решение для командной строки - использовать cdo для преобразования в netcdf для чтения:

cdo -f nc copy file.grb file.nc

Если вы хотите вывести файл netcdf4, вы указываете -f nc4.

Один из потенциальных сбоев этого подхода заключается в том, что ваш файл grib имеет более одной оси времени (например, для нескольких сезонных прогнозов), что может вызвать проблемы с преобразованием.

2. ECCODES преобразование

Вместо этого eccodes предлагает конвертер grib, который очень надежен и может обрабатывать все случаи с несколькими осями времени, которые обычно приводят к сбою преобразований на основе CDO и NCL.

Команда называется grib_to_netcdf

grib_to_netcdf -o output.nc input_grib.grb

До сих пор grib_to_netcdf мог без проблем обрабатывать каждый файл grib, который я ему бросал.

person Adrian Tompkins    schedule 20.09.2017

Другое решение - использовать программное обеспечение wgrib / wgrib2 (http://www.cpc.ncep.noaa.gov/products/wesley/wgrib2/) и выгрузите файл GRIB-1 / GRIB-2 прямо в формат CSV, например:

/path/to/your/wgrib2 input_file.grb -csv output_file.csv

Тогда его можно будет прочитать прямо в R ...

person speleo    schedule 02.01.2017
comment
По крайней мере, для wgrib -csv не вариант - person Fishish; 22.11.2019