Scientific.IO.NetCDF を使用して、NetCDF データを Python に読み込みます。サイズ (366,30,476,460) の 4d 32 ビット変数を読み込もうとしていますが、ndarray でゼロになってしまいます。奇妙なことに、3D データ (1,30,476,460) だけを読み取ると、返される値は問題ありません。
これは私がやろうとしていることです:
from Scientific.IO.NetCDF import NetCDFFile as Dataset
from collections import namedtuple
# Define output data structure as a named tuple
Roms_data=namedtuple('Roms_data','Ti Tf Nt U V W Zeta')
# Open the NetCDF file for reading.
ncfile = Dataset(data_file,'r')
if Tstart==-1:
ti=0
tf=NTsav-1
else:
ti=Tstart-1
tf=Tend-1
try:
udata = ncfile.variables['u'][:]
print str(udata.shape)
except:
print ' Failed to read u data from '+data_file
「[:]」は、4d 変数「u」全体を udata という ndarray に読み込んでいることを意味します。これは機能せず、udata はゼロでいっぱいです。しかし、もしそうなら:
try:
udata = ncfile.variables['u'][0,:,:,:]
print str(udata.shape)
except:
print ' Failed to read u data from '+data_file
次に、現在3d ndarrayである「udata」には、NetCDFファイルから読み取ることになっている値があります。
何か助けはありますか?前もって感謝します。