【问题标题】:How can I reduce the dimension of the netCDF file and change data?如何减少 netCDF 文件的维度并更改数据?
【发布时间】:2017-11-08 00:08:11
【问题描述】:
dimensions:
    i1 = 3 ;
    x = 11 ;
    s1 = 1 ;
    mid1 = 8 ;
    mid2 = 8 ;
variables:
    double Height(i1,x) ;
    double Temp(s1, x) ;
    short Soil(s1, x) ;
    double Liq(mid1, x) ;

我有一个 netCDF 文件,我想减小其中一个维度 mid1 的大小并替换值:

icond <- ncdf4::nc_open('dat.nc)

#New dimensions for new file
idim <- icond$dim[['i1']]
xdim <- icond$dim[['x']]
s1dim <- icond$dim[['s1']]
mid1dim <- ncdim_def("mid1", "", 1:3) #3 layers
mid2dim <- icond$dim[['mid2']]

mv <- -9999

#Get variable data
Liqxdat <- ncvar_get(icond, 'Liq')[,1:3] #3 Layers 

#Define new variable
Liqx = ncvar_def( "Liq", "units", list(mid1dim, i1), mv, prec="double")

#Create netCDF file
nc =  nc_create("test.nc", list(Height, Temp, Soil, Liqx)

#Write data to the NetCDF file
ncvar_put(nc, Liqx, Liqxdat)

但这并没有给我输出文件中的任何数据。

【问题讨论】:

    标签: r netcdf netcdf4


    【解决方案1】:

    很遗憾,我无法运行您的代码。所以我只能猜测为什么它不起作用。

    1. nc = nc_create(..) 行缺少右括号。
    2. 高度、温度和土壤未定义。
    3. 使用 nc_create 创建一个新文件,但不向现有文件添加数据,这是您想要的吗?如果你想添加一个新变量,你必须使用ncvar_add()

    【讨论】:

      猜你喜欢
      • 2013-09-22
      • 2015-02-05
      • 2020-09-11
      • 1970-01-01
      • 2022-10-14
      • 2013-04-15
      • 2018-08-01
      • 1970-01-01
      • 2014-07-20
      相关资源
      最近更新 更多