как конвертировать Grib1 в Netcdf с помощью R?

Я только что скачал климатические данные в формате grib. Я хочу использовать "R", чтобы преобразовать его в формат NetCDF.

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


person SaZa    schedule 29.08.2013    source источник


Ответы (3)


На этот вопрос сложно ответить без конкретного файла. Вам следует изучить возможность создания воспроизводимых примеров, особенно если вы: повторная публикация на доску R.

Для R проверьте library(raster) и library(ncdf4). Я просто взял первый файл grib1, который увидел, и собрал быстрый пример.

library(raster)
library(ncdf4)

download.file(url = 'ftp://ftp.hpc.ncep.noaa.gov/grib/20130815/p06m_2013081500f030.grb', destfile = 'test.grb')

(r <- raster('test.grb'))

n <- writeRaster(r, filename = 'netcdf_in_youR_comp.nc', overwrite = TRUE)
person vitale232    schedule 29.08.2013

1. РНОМАДС

В пакете Rnomads есть функция readgrib, предоставляющая оболочки для внешних библиотек, позволяющая читать файлы grib.

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

Если данные GRIB находятся в обычной сетке широты и долготы, то, вероятно, более простой способ - преобразовать в netcdf как более развитую поддержку чтения (и вы, вероятно, уже привыкли ее использовать)

Гриб можно конвертировать несколькими способами, два из самых простых:

CDO:

cdo -f nc copy test.grb test.nc 

Используйте "-f nc4", если вам нужны соглашения netcdf4.

ECCODES (при установке Mac с использованием кодов brew install eccodes)

grib_to_netcdf -o test.nc test.grb
person Adrian Tompkins    schedule 05.10.2017

вы можете использовать ncl, установленный на вашем компьютере

library(ncdf)
 system(ncl_convert2nc  xxxx.grb, internal = TRUE)
 my.nc <- open.ncdf("result.nc")
 print(my.nc)
person TOPMAD    schedule 20.06.2018