Ejemplo n.º 1
0
import os, sys
from importlib import import_module
import scipy as sp
import matplotlib.pyplot as pl
from matplotlib import ticker, mlab, colors
from matplotlib.cm import jet
from mpl_toolkits.basemap.cm import sstanom
import g5lib.plotters as ptrs
import g5lib.domain as domain
from g5lib import cmaps as g5cmaps
from g5lib import g5dset

varname = 'T'
# Read variable
exp = g5dset.read_exp(sys.argv[1])
exp.ctl = g5dset.Ctl(exp, 'geosgcm_ocn3d')

if exp.ctl.grid['lev'][-1] < 0.0:
    exp.ctl.grid['lev'][:] *= -1

dd = exp.ctl.domain
dd['dates'] = exp.dates
ind = domain.Domain(**dd)(exp.ctl.grid, exp.ctl.time)
exp.am = exp.ctl.tave(varname, ind['tind'])
exp.am.data -= 273.16

exp.am.shiftgrid(30.)

exp.lat_depth = exp.am.ave(3)
exp.eq_depth = exp.am(lats=(-2.1, 2.1)).ave(2)
Ejemplo n.º 2
0
#!/usr/bin/env python

import matplotlib
matplotlib.use('Agg')

import os, sys
import matplotlib.pyplot as pl
from matplotlib import dates
import g5lib.plotters as ptrs
from g5lib import g5dset

exp = g5dset.read_exp(sys.argv[1])
varname = 'SSH'
exp.ctl = g5dset.Ctl(exp, 'geosgcm_ocn2d')

exp.gm = exp.ctl(varname).aave()

# Plot

path = exp.plot_path
try:
    os.makedirs(path)
except OSError:
    pass

pl.clf()
exp.gm.name = exp.ctl.name + ' Global mean SSH'
p = ptrs.Plotter1d()
p(exp.gm)
ax = p.axis
if (exp.gm.time.size > 2500):
Ejemplo n.º 3
0
import g5lib.plotters as ptrs
from g5lib import cmaps as g5cmaps
from g5lib import g5dset


def read_precip(ctl, varname, dates):

    tprec = ctl(varname, dates=dates, levs=(1000, ))
    tprec.data *= 3600 * 24

    return tprec


# Read data
exp = g5dset.read_exp(sys.argv[1])
exp.ctl = g5dset.Ctl(exp, 'geosgcm_surf')

exp.clim = read_precip(exp.ctl, 'TPREC', dates=exp.dates).clim(12)

exp.clim.shiftgrid(30.)

ind = [0, 1, 11]
exp.djf = exp.clim.subset(tind=ind).mean(0)
exp.djf.name += ', DJF'
ind = [5, 6, 7]
exp.jja = exp.clim.subset(tind=ind).mean(0)
exp.jja.name += ', JJA'
exp.am = exp.clim.mean(0)
exp.am.name += ', Annual Mean'

# Read experiment to compare
Ejemplo n.º 4
0
from mpl_toolkits.basemap.cm import sstanom
import g5lib.plotters as ptrs
import g5lib.domain as domain
from g5lib import cmaps as g5cmaps
from g5lib import g5dset
from g5lib import mappers, plotters

# Read vaidation data and interpolate to exp grid
#obs=import_module('COREII')
obs = import_module('JRA55do')

#print obs.swctl.time

# Read variable
exp = g5dset.read_exp(sys.argv[1])
exp.ctl = g5dset.Ctl(exp, 'geosgcm_rad')

dd = exp.ctl.domain
dd['dates'] = exp.dates
ind = domain.Domain(**dd)(exp.ctl.grid, exp.ctl.time)

varname = 'SWGDWN'
exp.sw = exp.ctl(varname, dates=exp.dates).clim(12)
exp.lwnet = exp.ctl('FLNS', dates=exp.dates).clim(12)
exp.lwup = exp.ctl('SFCEM', dates=exp.dates).clim(12)
exp.lw = exp.lwnet.subset()
exp.lw.data += exp.lwup.data
exp.lw.name = 'LWGDWN'

ind = [5, 6, 7]
exp.sw.jja = exp.sw.subset(tind=ind).mean(0)