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)
#!/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):
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
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)