我有一个R grid file包含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 file,但它似乎只有一个月(我不确定是哪一个),而不是一年中的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)")
答案 0 :(得分:1)
正如dww指出的那样,要获得所有图层,这个
test <- raster('.../TavgM_1981.gri', package = "raster")
应该是
test <- brick('TavgM_1981.grd')
主要是将raster
替换为brick
。此外,三个点.../
毫无意义。它可能是一个或两个点(或不必要的),package = "raster"
参数毫无意义。