fig = plt.figure(figsize=(fac * 9.2, fac * 3.2)) g = [] cblevs = [] for jj in range(len(vec)): print 'processing ' + str(jj) + ' of ' + str(len(vec)) ddir = '../run' + str(vec[jj]) + '/' sname = ddir + 'saves/save0.00e00.517.085.nc' aname = ddir + 'saves/avfld0.00e00.517.085.nc' gname = ddir + 'saves/grid.517.85.nc' gname1 = ddir + 'data/grd.nc' ininame = ddir + 'data/init.nc' dname = ddir + 'saves/D.517.85.2.nc' ff = NF(ininame, 'r') xh = ff.variables['xh'][:] * 1e-3 yh = ff.variables['yh'][:] * 1e-3 ff.close() ff = NF(aname, 'r') e = ff.variables['etm'][-tind:, ifc, :, :] ff.close() ff = NF(gname1, 'r') D = ff.variables['D'][:] ff.close() ff = NF(dname, 'r') r2 = ff.variables['R'][1] ff.close()
#from Scientific.IO.NetCDF import NetCDFFile as NF from netCDF4 import Dataset as NF import matplotlib.pyplot as plt import numpy as np import mod_data as md import os as os import inspect as inspect rundir = os.path.dirname(inspect.getfile(inspect.currentframe())) grdname = rundir + '/../data/grd.nc' spngname = rundir + '/../data/sponge.nc' grid = NF(grdname, 'r') h = grid.variables['D'][:] grid.close() idamp = np.zeros(h.shape) #dmp=1./77. dmp = 1e-4 #dmp=0.; #dmp=1./20; n = 15 nv = dmp * np.linspace(1, 0, n) [x1, x2] = np.meshgrid(nv, np.arange(h.shape[0])) idamp[:, :n] = x1 dmp = 2.5e-5 n = 150 nv = dmp * np.linspace(1, 0, n) [x1, x2] = np.meshgrid(nv, np.arange(h.shape[0]))
handles = [] col = ['b', 'g', 'r'] for dr, icol in zip([light, basic, dense], range(3)): print dr q = [] qstd = [] eta_exit = [] for ii in range(4): ddir = '../run' + str(dr[ii]) + '/' sname = ddir + 'saves/save0.00e00.517.085.nc' aname = ddir + 'saves/avfld0.00e00.517.085.nc' dname = ddir + 'saves/D.517.85.2.nc' gname = ddir + 'saves/grid.517.85.nc' ff = NF(dname, 'r') D = ff.variables['D'][:] ff.close() jmid = np.argmax(D[:, 0]) inarrow = np.argwhere(D[jmid, :] == Dn)[0] iexit = np.argwhere( D[10, inarrow:] > 1)[0] + inarrow - 1 #index of strait exit ff = NF(aname, 'r') etm = ff.variables['etm'][-tind:, 1, jmid, :] ff.close() em_exit = np.mean(etm[:, iexit], axis=0) U1m, U2m, U1std, U2std = volume_flux(sname, gname, tind, inarrow) q.append(U1m)
# Isotropic grid gibRadEarth=6371e3; #gibDx=4e3; gibDx=2e3; dl = ((gibDx/gibRadEarth)/np.cos(36*np.pi/180))*180/np.pi; lon=np.arange(lonmin,lonmax,dl); i=0; lat=[latmin]; while lat[-1]<=latmax: i=i+1; b=[lat[i-1]+dl*np.cos(lat[i-1]*np.pi/180)] lat=np.r_[lat,b]; ff = NF('./ETOPO1_Ice_g_gdal.grd', 'r') x=np.linspace(-180.,180.,360*60+1); y=np.linspace(-90.,90.,180*60+1); xi=np.where((x>lonmin) & (x < lonmax))[0]; xi=np.arange(xi[0]-4,xi[-1]+4) yi=np.where((y>latmin) & (y < latmax))[0]; yi=np.arange(yi[0]-4,yi[-1]+4) x1=np.arange(np.size(yi)) x2=np.arange(np.size(yi)) for j in np.arange(0,np.size(yi)): x1[j]=np.size(x)*(np.size(y)-yi[j])+xi[0]; x2[j]=np.size(x)*(np.size(y)-yi[j])+xi[-1];