def plot_interpolated_data(outfile, data): #{{{2 '''Plot interpolated data before and after writing to file outfile: name of the output file data: interpolated array ''' fig = plt.figure(figsize=(15, 6)) fig.clf() pcol(sq(llc.flat(data[6, :, :])), cmap='viridis') # pcol(llc.flat(t_new2[6,:,:]),cmap='viridis') plt.xlabel('Latitude [$\degree$]', fontsize=14) plt.ylabel('Longitude [$\degree$]', fontsize=14) cbar = plt.colorbar() fid = open(outfile, 'r') v_new2 = np.fromfile(fid, np.float32) fid.close() v_new2 = np.reshape(v_new2, (12, 1170, 90)) v_new2.byteswap(True) fig = plt.figure(figsize=(15, 6)) fig.clf() pcol(sq(llc.flat(v_new2[6, :, :])), cmap='viridis') plt.xlabel('Latitude [$\degree$]', fontsize=14) plt.ylabel('Longitude [$\degree$]', fontsize=14) cbar = plt.colorbar() plt.show()
# #llc.pcol(xg,yg,xc,m,edgecolors='k',facecolor='none') #d[0,:,:]) # #llc.pcol(xg,yg,sq(d[3,:,:]*hf[0,:,:]),m,vmax=4.,edgecolors='k',facecolor='none') #d[0,:,:]) # llc.pcol(xg,yg,sq(d[3,:,:]*hf[0,:,:]),m,vmax=4) #,edgecolors='k',facecolor='none') # #llc.pcol(xg,yg,sq(d[1,:,:]*hf[0,:,:]),m) #d[0,:,:]) # m.drawmapboundary() # #m.drawcoastlines(color='k') # #m.fillcontinents(color='w') # plt.colorbar(orientation='horizontal') # #plt.colorbar() # plt.show() # sys.exit('bye bye') vind, vmax = 3, 6 #vind,vmax =4, 1 #vind,vmax =0, 1000 tmp = sq(xc) fig = plt.figure() m1 = Basemap(projection='cyl', lon_0=10., resolution='l') m2 = Basemap(projection='npaeqd', lon_0=0., boundinglat=60, resolution='l') m3 = Basemap(projection='spaeqd', lon_0=180., boundinglat=-50, resolution='l') refdate = 1 for i in range(len(iter)): if len(iter) == 1: tmp = sq(d[vind, :, :]) else: tmp = sq(d[i, vind, :, :]) daysSinceRefDate = iter[i] / 3 yearsSinceRefDate = daysSinceRefDate / 365 monthsSinceRefDate = round(np.mod(daysSinceRefDate, 365) / (365. / 12.)) mydate = "%04i/%02i" % (refdate + yearsSinceRefDate, monthsSinceRefDate) print "iteration[%i] = %i, %s" % (i, iter[i], mydate)
else: cfac = 1. zdir = 1. pfac = 1e-6 * cfac psiw = overturningw(d3z[4,...],rac) #psit = overturning(dl[1,...],dyg) psir,zl = overturning(dl[0,...],dl[1,...],dl[2,...],dl[3,...],dxg,dyg) yl = np.tile(yg[:3*nx,0].reshape((1,3*nx)),(nl,1)) zlmsk = np.where(zl,1,0) levs = np.linspace(-30,20,26) fig, ax = plt.subplots(3,1,sharex=True,sharey=False,squeeze=True,figsize=(8,10)) csf=np.copy(ax) csf[0]=ax[0].contourf(yg[:3*nx,0],rf[:-1]*cfac*zdir,sq(psiw)*pfac*zdir, levels=levs,extend='both') csf[1]=ax[1].contourf(yg[:3*nx,0],dlr[:-1,0,0],sq(psir)*pfac, levels=levs,extend='both') #csf[2]=ax[2].pcolormesh(yg[:,0],dlt,sq(psit)*pfac) csf[2]=ax[2].contourf(yl[:,:3*nx],np.array(zl[:,:3*nx])*cfac, sq(psir*zlmsk)*pfac, levels=levs, extend='both') ax[0].set_title('%s: MOC (Sv) at timestep %i'%(myrun,myiter[0])) ax[-1].set_xlabel('latitude (degN)') ax[1].set_ylim(dlr.max(), dlr.min()) ylab=('depth (m)','$\sigma_{2}$ in kg/m$^3$', '$\sigma_{2}$ remapped to depth (m)') for k,b in enumerate(ax): b.set_ylabel(ylab[k]) # csf[k].set_clim([-30,20])
ub = np.concatenate((ubf[0], ubf[1], vbf[3][:, ::-1].transpose(), vbf[4][:, ::-1].transpose()), axis=-1) psib = np.cumsum(np.ma.masked_array(ub, ub == 0.), axis=0) return psib msku, mskv = atlantic_mask(msku, mskv) psi = overturning(d[-2, :, :, :] * msku, d[-1, :, :, :] * mskv, dxg, dyg, drf) psib = barostream(d[-2, :, :, :], d[-1, :, :, :], dxg, dyg, drf) fig = plt.figure() fig.clf() plt.pcolormesh(yg[:270, 0], zc, sq(psi) * 1e-6) #plt.clim([-10,10]) plt.colorbar(orientation='horizontal') plt.title("%s, %04i: overturning stream function (Sv)" % (mydir, myyear)) fig = plt.figure() fig.clf() plt.pcolormesh(sq(psib) * 1e-6) plt.colorbar(orientation='horizontal') plt.title("%s, %04i: overturning stream function (Sv)" % (mydir, myyear)) plt.show() # sys.exit('bye bye')
#d3=rdmds('diag3Dm',iter) i = 0 for i in range(1): uu = np.mean(f[:, 0, :, :], axis=0) vv = np.mean(f[:, 1, :, :], axis=0) # uu = np.mean(d3[:,2,1,:,:],axis=0) # vv = np.mean(d3[:,3,1,:,:],axis=0) # uu = np.ma.masked_array(uu,hf[0,:,:]<=0.0) # vv = np.ma.masked_array(vv,hf[0,:,:]<=0.0) spd = np.sqrt(uu * uu + vv * vv) u, v = Basemap.rotate_vector(m, uu * cs - vv * sn, uu * sn + vv * cs, xc, yc) fig.clf() lh = llc.pcol(xg, yg, sq(wspd[i, :, :] * hf[0, :, :]), m) m.drawcoastlines(color='k') di = 1 q = m.quiver(xc[::di, ::di], yc[::di, ::di], u[::di, ::di], v[::di, ::di], latlon=True, scale=200, pivot='mid', edgecolor='none', headaxislength=5) # pivot = 'mid',units = 'x', edgecolor = 'none',headaxislength = 5) plt.show()