cdiag = 'mean_' + cvar
        print '\n Treating ' + cdiag

        for cocean in bo.voce2treat:
            Xf[:, :] = 0.
            jrun = 0
            for confrun in clist_confruns:

                cf_in = cd_diag + '/' + confrun + '/' + cdiag + '_' + confrun + '_' + cocean + '.nc'
                vt0, vd0 = bn.read_1d_series(cf_in,
                                             cvar,
                                             cv_t='time',
                                             l_return_time=True)
                nbm = len(vt0)
                test_nb_mnth_rec(nbm, nb_years, cdiag)
                VY, FY = bt.monthly_2_annual(vt0, vd0)
                vtime[:nbm / 12] = VY[:]
                Xf[jrun, :nbm / 12] = FY[:]
                Xf[jrun, nbm / 12:] = -999.
                jrun = jrun + 1

            bp.plot("1d_multi")(vtime[:],
                                Xf[:, :],
                                clist_runs,
                                cfig_type=cffig,
                                cfignm=cdiag + '_comparison_' + cocean,
                                dt_year=ittic,
                                loc_legend=DEFAULT_LEGEND_LOC,
                                cyunit=vunit[jvar],
                                ctitle=vname[jvar] + ', ' + cocean,
                                ymin=0,
Exemple #2
0
if idfig == 'simple':

    cf_in = 'mean_' + cvar + '_' + CONFRUN + '_global.nc'
    bt.chck4f(cf_in, script_name='plot_time_series.py')
    id_in = Dataset(cf_in)
    vtime = id_in.variables['time'][:]
    nbm = len(vtime)
    vvar = id_in.variables[cvar][:]
    id_in.close()

    if nbm % 12 != 0:
        print 'ERROR: plot_time_series.py => ' + cvar + ', number of records not a multiple of 12!'
        sys.exit(0)

    # Annual data
    VY, FY = bt.monthly_2_annual(vtime[:], vvar[:])

    ittic = bt.iaxe_tick(nbm / 12)

    # Time to plot
    bp.plot("1d_mon_ann")(vtime,
                          VY,
                          vvar,
                          FY,
                          cfignm=cdiag + '_' + CONFRUN,
                          dt_year=ittic,
                          cyunit=cyu,
                          ctitle=CONFRUN + ': ' + clnm,
                          ymin=ym,
                          ymax=yp,
                          cfig_type=ff)

    jvar=0
    for cvar in vvar:
        cdiag = 'mean_'+cvar
        print '\n Treating '+cdiag

        for cocean in bo.voce2treat:
            Xf[:,:] = 0. ; jrun = 0
            for confrun in clist_confruns:

                cf_in = cd_diag+'/'+confrun+'/'+cdiag+'_'+confrun+'_'+cocean+'.nc'
                vt0, vd0 = bn.read_1d_series(cf_in, cvar, cv_t='time', l_return_time=True)
                nbm = len(vt0)
                test_nb_mnth_rec(nbm, nb_years, cdiag)
                VY, FY = bt.monthly_2_annual(vt0, vd0)
                vtime[:nbm/12]   = VY[:]
                Xf[jrun,:nbm/12] = FY[:] ; Xf[jrun,nbm/12:] = -999.
                jrun = jrun + 1

            bp.plot("1d_multi")(vtime[:], Xf[:,:], clist_runs, cfig_type=cffig,
                                cfignm=cdiag+'_comparison_'+cocean, dt_year=ittic, loc_legend=DEFAULT_LEGEND_LOC,
                                cyunit=vunit[jvar], ctitle = vname[jvar]+', '+cocean, ymin=0, ymax=0)

        jvar = jvar+1





Exemple #4
0
        v_var_lngnm[jv] = id_clim.variables[v_var_names[jv]].long_name
    except AttributeError:
        v_var_lngnm[jv] = v_var_names[jv]

id_clim.close()

for jv in range(nbvar):

    cv = v_var_names[jv]
    cln = v_var_lngnm[jv]
    cfn = cv + '_' + CRUN

    print '   Creating figure ' + cfn

    # Annual data
    VY, FY = bt.monthly_2_annual(vtime[:], XX[jv, :])

    ittic = bt.iaxe_tick(nbr / 12)

    # Time to plot
    bp.plot_1d_mon_ann(vtime[:],
                       VY,
                       XX[jv, :],
                       FY,
                       cfignm=cfn,
                       dt_year=ittic,
                       cyunit=v_var_units[jv],
                       ctitle=CRUN + ': ' + cln,
                       cfig_type='svg',
                       l_tranparent_bg=False)


# Loop along sections:
######################

jsec = 0

for csec in list_sections:


    Xst = nmp.flipud(nmp.rot90(id_in.variables['sigtrsp_'+csec][:,:]))
    print ' Shape of "sigtrsp_'+csec+'" => ', nmp.shape(Xst)

    # Annual array:
    vtime_ann, Xst_ann = bt.monthly_2_annual(vtime, Xst)



    # FIGURE 1
    ###########

    ittic = bt.iaxe_tick(nbm/12)

    # We want rmax to be a multile of 0.2:
    rmax = nmp.amax(nmp.abs(Xst_ann))
    r1   = round(rmax+0.05,1)*100; rmax = (r1 + r1%20)/100. ; rmin = -rmax
    dc = (int(round(100*(rmax+0.6)/20.,2))/5*5)/100.
    
    bp.plot("trsp_sig_class")(vtime_ann, vsigma_bounds, Xst_ann, rmin, rmax, dc, dsigma,
                              lkcont=True, cpal='bbr2_r', dt_year=ittic,
dsigma = vsigma[1] - vsigma[0]
vsigma_bounds[:nbin] = vsigma[:] - 0.5 * dsigma
vsigma_bounds[nbin] = vsigma[nbin - 1] + 0.5 * dsigma

# Loop along sections:
######################

jsec = 0

for csec in list_sections:

    Xst = nmp.flipud(nmp.rot90(id_in.variables['sigtrsp_' + csec][:, :]))
    print ' Shape of "sigtrsp_' + csec + '" => ', nmp.shape(Xst)

    # Annual array:
    vtime_ann, Xst_ann = bt.monthly_2_annual(vtime, Xst)

    # FIGURE 1
    ###########

    ittic = bt.iaxe_tick(nbm / 12)

    # We want rmax to be a multile of 0.2:
    rmax = nmp.amax(nmp.abs(Xst_ann))
    r1 = round(rmax + 0.05, 1) * 100
    rmax = (r1 + r1 % 20) / 100.
    rmin = -rmax
    dc = (int(round(100 * (rmax + 0.6) / 20., 2)) / 5 * 5) / 100.

    bp.plot("trsp_sig_class")(
        vtime_ann,
Exemple #7
0
        bp.plot_1d_multi(vt_y, vice_c, vlabels=['March', 'September'], cfignm=cfn,
                         dt_year=ittic, cyunit=list_units[jv], ctitle = CRUN+': Sea-Ice extent ('+cv[13:]+')',
                         cfig_type='svg', l_tranparent_bg=False)



        
        
    elif cv == 'votemper' or cv == 'vosaline':

        if not l3d:
            print ' ERROR: '+sys.argv[0]+' => variable '+cv+' are here but '+cv_depth+' was not there!'
            sys.exit(0)


        VY, ZY = bt.monthly_2_annual(vtime, nmp.flipud(nmp.rot90(X2d[jv2d,:,:])))

        y1 = int(VY[0]) ;   y2 = int(VY[nbr/12-1])
        ittic = bt.iaxe_tick(nbr/12)
	
        # Anomaly with regards to first year:
        vini = nmp.zeros(nblev) ; vini[:] = ZY[:,0]
        for jy in range(nbr/12): ZY[:,jy] = ZY[:,jy] - vini[:]

        [ rmin, rmax, rdf ] = bt.get_min_max_df(ZY,40)

        bp.plot_vert_section(VY-0.5, vdepth[:], ZY, ZY*0.+1., rmin, rmax, rdf,
                             cpal='bbr2', xmin=y1, xmax=y2, dx=ittic, lkcont=True,
                             zmin = vdepth[0], zmax = max(vdepth), l_zlog=True,
                             cfignm=cfn, cbunit=r''+list_units[jv],
                             czunit='Depth (m)',
##########################################
# Basic temp., sali. and SSH time series #
##########################################

if idfig == 'simple':

    cf_in = 'mean_'+cvar+'_'+CONFRUN+'_global.nc' ;  bt.chck4f(cf_in, script_name='plot_time_series.py')
    id_in = Dataset(cf_in)
    vtime = id_in.variables['time'][:] ; nbm = len(vtime)
    vvar  = id_in.variables[cvar][:]
    id_in.close()

    if nbm%12 != 0: print 'ERROR: plot_time_series.py => '+cvar+', numberof records not a multiple of 12!', sys.exit(0)

    # Annual data
    VY, FY = bt.monthly_2_annual(vtime[:], vvar[:])

    ittic = bt.iaxe_tick(nbm/12)

    # Time to plot
    bp.plot("1d_mon_ann")(vtime, VY, vvar, FY, cfignm=cdiag+'_'+CONFRUN, dt_year=ittic,
                          cyunit=cyu, ctitle = CONFRUN+': '+clnm, ymin=ym, ymax=yp)




if idfig == 'ts3d':

    nb_oce = len(bo.voce2treat)

    vzrange = [ '0-bottom', '0-100'  , '100-1000',   '1000-bottom'  ] ;  nbzrange = len(vzrange)
Exemple #9
0
cf_in = sys.argv[1]
cv_in = sys.argv[2]

bt.chck4f(cf_in)

cname = replace(os.path.basename(cf_in), '.nc', '')

id_in = Dataset(cf_in)
vt_m = id_in.variables['time'][:]
vsst_m = id_in.variables[cv_in][:]
id_in.close()

Nm = len(vsst_m)

# Annual averaging first:
vt, vsst = bt.monthly_2_annual(vt_m, vsst_m)

Nt = len(vt)

n1 = (n_run_mean - 1) / 2
n2 = -n1 - 1

vtmp = nmp.zeros(Nt)
vtime = nmp.zeros(Nt - n_run_mean)
xplot = nmp.zeros((Nt - n_run_mean, 4))
# Nt-n_run_mean because X month-running mean

vtime[:] = vt[n1:n2]
if n_run_mean == 11:
    vtmp = bs.running_mean_11(vsst)
    # 11-month running mean
Exemple #10
0
##########################################
# Basic temp., sali. and SSH time series #
##########################################

if idfig == 'simple':

    cf_in = 'mean_'+cvar+'_'+CONFRUN+'_global.nc' ;  bt.chck4f(cf_in, script_name=csn)
    id_in = Dataset(cf_in)
    vtime = id_in.variables['time'][:] ; nbm = len(vtime)
    vvar  = id_in.variables[cvar][:]
    id_in.close()
    nby = __test_nb_years__(nbm, cdiag)

    # Annual data
    VY, FY = bt.monthly_2_annual(vtime[:], vvar[:])

    ittic = bt.iaxe_tick(nbm/12)

    # Time to plot
    bp.plot("1d_mon_ann")(vtime, VY, vvar, FY, cfignm=cdiag+'_'+CONFRUN, dt_year=ittic,
                          cyunit=cyu, ctitle = CONFRUN+': '+clnm, ymin=ym, ymax=yp, cfig_type=ff)



if idfig == 'htf':

    l_qsr = False
    cf_in = cdiag+'_'+CONFRUN+'_global.nc' ;  bt.chck4f(cf_in, script_name=csn)

    id_in = Dataset(cf_in)
        print '\n Treating ' + cdiag

        joce = 0
        for cocean in list_basin_names:
            Xf[:, :] = 0.
            jexp = 0
            for confexp in clist_confexps:

                cf_in = cd_diag + '/' + confexp + '/' + cdiag + '_' + confexp + '_' + cocean + '.nc'
                vt0, vd0 = bn.read_1d_series(cf_in,
                                             cvar,
                                             cv_t='time',
                                             l_return_time=True)
                nbm = len(vt0)
                test_nb_mnth_rec(nbm, nb_years, cdiag)
                VY, FY = bt.monthly_2_annual(vt0, vd0)
                Vt[:nbm / 12] = VY[:]
                Xf[jexp, :nbm / 12] = FY[:]
                Xf[jexp, nbm / 12:] = -999.
                jexp = jexp + 1

            bp.plot("1d_multi")(Vt[:],
                                Xf[:, :],
                                clist_exps,
                                cfig_type=cffig,
                                cfignm=cdiag + '_comparison_' + cocean,
                                dt=ittic,
                                loc_legend=DEFAULT_LEGEND_LOC,
                                cyunit=vunit[jvar],
                                ctitle=vname[jvar] + ', ' +
                                list_basin_lgnms[joce],