当我想用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; type
ncview -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
相关问题 更多 >
编程相关推荐