Я только что скачал климатические данные в формате grib. Я хочу использовать "R", чтобы преобразовать его в формат NetCDF.
Кроме того, поскольку файл состоит из разных переменных, я хотел бы извлекать по одной переменной в отдельные файлы.
Я только что скачал климатические данные в формате grib. Я хочу использовать "R", чтобы преобразовать его в формат NetCDF.
Кроме того, поскольку файл состоит из разных переменных, я хотел бы извлекать по одной переменной в отдельные файлы.
На этот вопрос сложно ответить без конкретного файла. Вам следует изучить возможность создания воспроизводимых примеров, особенно если вы: повторная публикация на доску 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)
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
вы можете использовать ncl, установленный на вашем компьютере
library(ncdf)
system(ncl_convert2nc xxxx.grb, internal = TRUE)
my.nc <- open.ncdf("result.nc")
print(my.nc)