1
我想將緯度邊界添加到現有的netCDF文件。有關邊界的定義,請參見http://www.cgd.ucar.edu/cms/eaton/netcdf/CF-20010629.htm#bnds
。將邊界變量添加到netcdf文件
有沒有可以自動添加邊界的命令?我願意使用任何使用nco或netCDF4或cdms工具包的解決方案。不過,我寧願它是一個後期處理解決方案。
我想將緯度邊界添加到現有的netCDF文件。有關邊界的定義,請參見http://www.cgd.ucar.edu/cms/eaton/netcdf/CF-20010629.htm#bnds
。將邊界變量添加到netcdf文件
有沒有可以自動添加邊界的命令?我願意使用任何使用nco或netCDF4或cdms工具包的解決方案。不過,我寧願它是一個後期處理解決方案。
添加範圍爲現有協調這樣的:
ncap2 -O -s '[email protected]="crd_bnds";defdim("bnds",2);crd_bnds[$crd,$bnds]=0.0;*crd_dff=0.5*(crd(1)-crd(0));crd_bnds(:,0)=crd-crd_dff;crd_bnds(:,1)=crd+crd_dff;' in.nc out.nc
這就產生
[email protected]:~$ ncks --cdl -v crd ~/foo2.nc
netcdf foo2 {
dimensions:
bnds = 2 ;
crd = 10 ;
variables:
int crd(crd) ;
crd:bounds = "crd_bnds" ;
double crd_bnds(crd,bnds) ;
data:
crd = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ;
crd_bnds = -0.5, 0.5, 0.5, 1.5, 1.5, 2.5, 2.5, 3.5, 3.5, 4.5, 4.5, 5.5, 5.5, 6.5, 6.5, 7.5, 7.5, 8.5, 8.5, 9.5 ;
} // group/
此時的座標被命名爲 「CRD」,並且邊界被命名爲 「crd_bnds」。當座標改變一個固定值(如上)時,邊界值的公式可以很簡單,或者更多地涉及到變量間距(讀者的練習)。我們將添加一個ncap2函數在不久的將來自動完成此操作。
cz
太棒了!謝謝,這個作品很棒! – user308827
僅供參考ncap2的最新快照有一個新功能來創建符合CF規範的邊界: defdim(「bnd_dmn」,2); bounds_var = make_bounds(crd_var,$ bnd_dmn,「bounds_var_nm」); 「bounds_var_nm」是可選的。通過它會導致make_bounds()到 添加屬性crd_var @ bounds =「bounds_var_nm」。 http://nco.sf.net/nco.html#make_bounds –