首页 > 解决方案 > 将 R RasterStack 类转换为 NetCDF CF-1.6 约定

问题描述

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

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

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

我希望你们能帮助我

标签: rrasternetcdf

解决方案


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

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


推荐阅读