将R RasterStack类转换为NetCDF CF-1.6约定



我的R-Project中有一个R RasterStack类,我想使用RasterStack类使NetCDF文件CF-1.6兼容。我该怎么做?

RasterStack具有以下属性

class : RasterStack dimensions : 97, 107, 10379, 6 (nrow, ncol, ncell, nlayers) resolution : 0.05, 0.05 (x, y) extent : -58.45, -53.1, -34.95, -30.1 (xmin, xmax, ymin, ymax) crs : +proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0 names : X2020.06.21, X2020.06.26, X2020.07.01, X2020.07.06, X2020.07.11, X2020.07.16 min values : 15.17224, 16.62855, 17.57079, 25.34024, 37.90452, 35.48506 max values : 56.56909, 63.15136, 64.47987, 64.54590, 83.37997, 87.15372 time : 2020-06-21, 2020-06-26, 2020-07-01, 2020-07-06, 2020-07-11, 2020-07-16

我一直在尝试使用WriteRaster函数创建一个netcdf文件。然而,当我打开netcdf时,约定格式是CF-1.4。

myRaster <- writeRaster(raster.file,"prctl3_26072020.nc",format="CDF", overwrite=TRUE,varname="percentile")

我想获得一个NetCDF文件CF 1.6,因为我想将该数据导入另一个需要NetCDF CF 1.6才能工作的平台。有一个合规性检查器,可以将您的netcdf文件与不同的CF版本进行比较。当我上传我创建的Netcdf文件时,我收到一条警告消息,说我的CF是1.4

如何在全局属性中将约定从CF-1.4更改为CF-1.6?

我希望你们能帮我

当我编写该函数时,我试图使其符合CF 1.4——这是否真的正确是另一回事;但我没有听到其他消息。正如Robert Wilson所指出的,大多数1.4兼容的文件也可能是1.6兼容的。

但是,如果使用raster::writeRaster创建的文件不是这样,您能指出需要更改的内容吗?然后我们也许可以帮你(我可以更新代码(。