如何使用R在维度变量中使用字符条目编写netCDF文件

时间:2017-06-22 10:13:19

标签: r netcdf dimension

我无法自己解决这个问题,因此希望你能提出一些想法。

我正在尝试使用netcdf4库在R中创建netCDF-4文件。 nc文件应该包含一个变量,比如说温度(ta),它有4个维度:经度,纬度,时间和压力水平。

由于某些原因,我希望最后一个维度“压力水平”由字符条目组成,例如“上层”,“下层”。 不幸的是,函数ncdim_def()只允许数值而不是字符。

我已经研究了很多东西,包括nco / cdo命令,但没有找到解决方案。有人有想法吗?

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:1)

我为我的问题找到了解决方法。所以你能做的是:

  • 创建一个包含两行的数组; rbind(“上层”,“下层”)
  • 为ncols(dim_p1)创建一个维度,为数组的nrows(dim_p2)创建一个维度。重要提示:使用ncdim_def(...,create_dimvar = FALSE)
  • 使用ncvar_def创建一个新变量(...,dim = list(dim_p1,dim_p2),prec =“char”)
  • 使用ncvar_put()将数组写入变量

希望这有帮助。

答案 1 :(得分:-1)

您可以用数字形式编码上层和下层,即。 1表示上部,0表示较低压力。

这可能需要在稍后阶段解码回字符串。