我在创建矩阵时遇到问题。我期望输出矩阵d20的维数为nt*12 x ny x nx,但我得到了一个维数为nt x ny x nx的矩阵。
代码(Python)如下所示:
d20=ma.empty([nt*12,ny,nx]);
for k in range(nt):
ee=time[k]
files3='thetao_ora20c_1m_' +str(ee) +'_grid_1x1.nc'
fils3 = nc.Dataset(path+ files3,'r')
t3=np.array(fils3.variables['thetao'][:,:,:,:])
for i in range(nx):
for j in range(ny):
for monthit in range(12):
t3c=t3[monthit,:,j,i]
dd = [i for (i, val) in enumerate(t3c[:]) if val >= 19.5 and val <= 20.5]
if len(dd)==0:
d20[12*k+monthit,j,i]=0;
else:
d20[12*k+monthit,j,i]=dep[dd[0]]
CreateFilenc(d20, 'D20', 'meters', lat, lon, path +'D20_global_1900_2009_ora20c_op.nc')
在这里,我每年都会打开一个不同的文件。时间是一个长度为nt的向量,其中每个元素都是从1900年到2009年的一年。
为什么我得到错误的尺寸?我做错了什么?
事先非常感谢。