簡體   English   中英

如何減小netCDF文件的尺寸並更改數據?

[英]How can I reduce the dimension of the netCDF file and change data?

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)

但這並沒有給我輸出文件中的任何數據。

不幸的是,我無法運行您的代碼。 所以我只能猜測為什么它不起作用。

  1. nc = nc_create(..)行上沒有右括號。
  2. 未定義高度,溫度和土壤。
  3. 使用nc_create可以創建一個新文件,但不將數據添加到現有文件中,這就是您想要的嗎? 如果要添加新變量,則必須使用ncvar_add()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM