Exemple #1
0
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()
Exemple #2
0
#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]))
Exemple #3
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)
Exemple #4
0
# 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];