当我想用python在现有的netcdf文件上添加新组时,我很困难。 MWE在我的机器上工作。用于Python的Netcdf4成功保存,未能可视化
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
,而不是我得到
Ncview1.93克大卫·W·皮尔斯2009年2月24日 http://meteora.ucsd.edu:80/~pierce/ncview_home_page.html版权所有(C) 1993年至2009年,David W. Pierce Ncview附带ABSOLUTELY NO 担保;有关详细信息,请键入
ncview -w'. This is free software licensed under the Gnu General Public License version 3; type
ncview -c'for 重新分配的详细信息。找不到可显示的变量!
它说no displayable variables found!
,而是通过ncdump -h test.nc
我能看到下面的线;
的NetCDF测试{
//全局属性: :描述= “被用于测试创建该文件中的数据”;
组:grp1 {尺寸: dim = 30;变量: double data1(dim); double data2(dim); } // group grp1
group:grp2 {dimensions: dim = 30;变量: double data1(dim); double data2(dim); } // group grp2}
我在Python
脚本中丢失了什么吗? (我想ncview
是好的,因为我能看到同样的数据时,我不把它们保存的NetCDF组内)
在此先感谢
您确定ncview能够处理netCDF组中的变量吗?这是一个相当老的工具,可能根本就没有这样做。 – Christoph
Himm,这可能是问题,但我使用ncview与其他netcdf文件有组,可能我只是幸运。唯一不同的是,他们用Fortran创建了其实,但仍然都是NETCDF4 – trblnc