Netcdf4 Python 保存成功,可视化失败

Netcdf4 for Python successful save, failed to visualize

当我想使用 python 在现有的 netcdf 文件上添加新组时,我遇到了困难。 MWE 在我的机器上工作。

MWE

import os 
import numpy as np
from scipy.io import netcdf
from netCDF4 import Dataset

try:
    os.remove('test.nc')
except OSError:
    pass

mydata = np.linspace(1,30,30)

g=Dataset('test.nc','w',format='NETCDF4') 
g.description = 'The data in this file was created for a test'
g.close()

#Do stuff

g=Dataset('test.nc','r+',format='NETCDF4') 
g1 = g.createGroup('grp1')
g1.createDimension('dim', len(mydata))
ncdata = g1.createVariable('data1', 'f8', ('dim',)); ncdata[:] = mydata
ncdata = g1.createVariable('data2', 'f8', ('dim',)); ncdata[:] = mydata
g.close()


#Do stuff

g=Dataset('test.nc','r+',format='NETCDF4') 
g1 = g.createGroup('grp2')
g1.createDimension('dim', len(mydata))
ncdata = g1.createVariable('data1', 'f8', ('dim',)); ncdata[:] = mydata
ncdata = g1.createVariable('data2', 'f8', ('dim',)); ncdata[:] = mydata
g.close()

但是我无法使用 ncview 打开我的文件,相反我得到

Ncview 1.93g David W. Pierce 24 February 2009 http://meteora.ucsd.edu:80/~pierce/ncview_home_page.html Copyright (C) 1993 through 2009, David W. Pierce Ncview comes with ABSOLUTELY NO WARRANTY; for details type ncview -w'. This is free software licensed under the Gnu General Public License version 3; typencview -c' for redistribution details.

no displayable variables found!

它说 no displayable variables found!,但是通过 ncdump -h test.nc 我能够看到以下几行;

netcdf test {

// global attributes: :description = "The data in this file was created for a test" ;

group: grp1 { dimensions: dim = 30 ; variables: double data1(dim) ; double data2(dim) ; } // group grp1

group: grp2 { dimensions: dim = 30 ; variables: double data1(dim) ; double data2(dim) ; } // group grp2 }

我的 Python 脚本中是否遗漏了什么? (我认为 ncview 没问题,因为当我不将它们保存在 netcdf 组 中时,我能够看到完全相同的数据)

您可以尝试升级您的ncview版本; 1.93g 已经很老了。 2.1.6(2015 年秋季发布)可在此处获取:http://meteora.ucsd.edu/~pierce/ncview_home_page.html