- 积分
- 633
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2012-3-9
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
ncfile = NetCDFFile('e:/data/ncep/hgt.mon.mean.nc')
hgt = ncfile.variables['hgt'][:,5,:37,:] #北半球500hpa
lats = ncfile.variables['lat'][:37]
lons = ncfile.variables['lon'][:]
ts= ncfile.variables['time'][:]
lev = ncfile.variables['level'][:]
ncfile.close()
ny,nx = hgt.shape[1:]
nt = 2010-1948
h_summer = np.empty( ( nt, ny, nx ), 'f' )
for yr in range( 1948, 2010 ):
t = (yr-1948)*12
mean = hgt[ t+5:t+8,:,:].mean( axis=0 )
h_summer[yr-1948,:,:] = mean
ncfile = NetCDFFile( 'c:/x.nc', mode='w' )
ncfile.createDimension( 'lon', nx )
ncfile.createDimension( 'lat', ny )
ncfile.createDimension( 'time',nt )
x = ncfile.createVariable( 'lon', 'f', ('lon',) )
y = ncfile.createVariable( 'lat', 'f', ('lat',) )
t = ncfile.createVariable( 'time','i', ('time',))
v = ncfile.createVariable( 'hgt', 'f', ('time','lat','lon') )
#---units需要正确设置,否则grads sdfopen就会出现SDF file has no discernable X coordinate的错误
y.units = 'degrees_north'
x.units = 'degrees_east'
t.units = 'years since 1-1-1 0:0:0'
v.units = 'm'
x[:] = lons[:]
y[:] = lats[:]
t[:] = np.arange( 1948,2010,dtype='i' )
v[:,:,:] = h_summer[:,:,:]
ncfile.close()
|
|