示例#1
0
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()
示例#2
0
文件: ttt.py 项目: mjlosch/raslyboca
# #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)
示例#3
0
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])
示例#4
0
    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')
示例#5
0
#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()