如何获得具有特定尺寸的netCDF变量列表?

时间:2017-10-18 17:40:33

标签: python r netcdf netcdf4 nco

Mongoid

{ dimensions: grp = 50 ; time = UNLIMITED ; // (0 currently) depth = 3 ; scalar = 1 ; spectral_bands = 2 ; x1AndTime = 13041 ; x2AndTime = 13041 ; midTotoAndTime = 13041 ; variables: double time(time) ; double a1(time, hru) ; double a2(time, hru) ; double a3(x1AndTime, hru) ; double a4(x2AndTime, hru) ; double a5(hru) ;

中打开netCDF文件

R

获取所有变量

out <- ncdf4::nc_open('test.nc')

这为我提供了netCDF文件中所有变量的列表。

如何获取尺寸为ncvars <- names(out[['var']])time的变量列表?

预期输出:

列出hru

1 个答案:

答案 0 :(得分:1)

注意:这是python,而不是R,但说明了逻辑。

import netCDF4

out = netCDF4.Dataset("test.nc")
# list of vars w dimenions 'time' and 'hru'
wanted_vars = []

# loop thru all the variables
for v in out.variables:
  # this is the name of the variable.
  print v
  # variable.dimensions is a tuple of the dimension names for the variable
  # In R you might need just ('time', 'hru')
  if out.variables[v].dimensions == (u'time', u'hru'):
    wanted_vars.append(v)

print wanted_vars