Запись R растрового стека в NetCDF

У меня есть файл сетки R, содержащий месячные данные о температуре за 1981 год, которые я прочитал и попытался записать в NetCDF, используя следующий код:

library(raster)
library(ncdf4)
library(RNetCDF)

test <- raster('.../TavgM_1981.gri', package = "raster")
rstack = stack(test)

writeRaster(rstack, "rstack.nc", overwrite=TRUE, format="CDF",     varname="Temperature", varunit="degC", 
        longname="Temperature -- raster stack to netCDF", xname="X",   yname="Y",zname="nbands",
        zunit="numeric")

При этом записывается файл NetCDF, но кажется, что у него всего один месяц (я не уверен, какой именно) вместо 12 месяцев в году, когда я проверяю его с помощью panoply.

Можно ли записать файл NetCDF и сохранить как можно больше данных из файла R-grid? Особенно данные за каждый месяц!

РЕДАКТИРОВАТЬ:

Новый рабочий код:

test <- brick('/TavgM_1981.gri')
writeRaster(test, "rstack.nc", overwrite=TRUE, format="CDF",     varname="Temperature", varunit="degC", 
        longname="Temperature -- raster stack to netCDF", xname="Longitude",   yname="Latitude", zname="Time (Month)")

1 ответ

Решение

Как указывало dww, чтобы получить все слои, это

test <- raster('.../TavgM_1981.gri', package = "raster")

должно быть

test <- brick('TavgM_1981.grd')

Главное заменить raster с brick, Кроме того, три точки .../ не имеет смысла. Это может быть одна или две точки (или ненужные), и package = "raster" аргумент не имеет смысла.

Другие вопросы по тегам