2016-01-28 35 views
0

当我想用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组内)

在此先感谢

+0

您确定ncview能够处理netCDF组中的变量吗?这是一个相当老的工具,可能根本就没有这样做。 – Christoph

+0

Himm,这可能是问题,但我使用ncview与其他netcdf文件有组,可能我只是幸运。唯一不同的是,他们用Fortran创建了其实,但仍然都是NETCDF4 – trblnc

回答