Ejemplo n.º 1
0
                cm = False

            try:
                extend = PL["extend"]
            except KeyError:
                extend = False

            cb = p.plot2D(
                vrbl,
                utc=t,
                level=PL["lv"],
                ncdir=ncdir,
                outdir=False,
                fig=fig,
                ax=ax,
                cb=False,
                clvs=PL["clvs"],
                nct=nct,
                plottype="contourf",
                cmap=cm,
                extend=extend,
                save=False,
                **lims
            )

            if not cb_saved[vrbl]:
                p.plot2D(
                    vrbl,
                    utc=t,
                    level=PL["lv"],
                    ncdir=ncdir,
Ejemplo n.º 2
0
 cmap = False
 # vrbl = 'dptp';lv=2000;clvs=N.arange(-20,1,1);cmap='terrain';extend='min'
 # vrbl = 'wind10';lv = 2000;clvs=N.arange(10,40,5);sm=False;extend='max'; cmap='jet';
 # vrbl = 'wind';lv = lvl;clvs=N.arange(10,40,5);False;sm=False;cmap='jet';extend='max'
 ######### COMMAND HERE #########
 if plot != 'RUC':
     cb = p.plot2D(vrbl,
                   utc=t,
                   level=lv,
                   ncdir=ncdir,
                   outdir=outdir,
                   fig=fig,
                   ax=ax,
                   cb=False,
                   clvs=clvs,
                   nct=nct,
                   match_nc=mnc,
                   other=other,
                   smooth=sm,
                   plottype=pt,
                   save=False,
                   dom=dom,
                   extend=extend,
                   cmap=cmap,
                   **lims)
 # cb = p.plot2D(vrbl,utc=t,level=lv,ncdir=ncdir,outdir=outdir,fig=fig,ax=ax,cb=cb,clvs=clvs,nct=nct,match_nc=mnc,other=other,smooth=sm,plottype=pt)
 # p.frontogenesis(utc=t,level=lv,ncdir=ncdir,outdir=outdir,clvs=clvs,smooth=5,fig=fig,ax=ax,cb=False,match_nc=mnc,nct=nct)
 # if plot!='RUC': cb = p.plot_strongest_wind(iwind,fwind,ncdir=ncdir,outdir=outdir,clvs=clvs,fig=fig,ax=ax,cb=False,nct=nct,dom=dom,save=False)
 ################################
 if plot is not 'RUC':
     try:
Ejemplo n.º 3
0
        if strongestwind:
            p.plot_strongest_wind(iwind,fwind,2000,ncdir=ncdir,nct=nct,outdir=outdir,clvs=windlvs,dom=dom,
                    cmap='jet',cb=True)

        for t in times:
            if plot2D:
                # p.plot2D('Z',t,500,wrf_sd=wrf_sd,out_sd=out_sd,plottype='contour',smooth=10)
                # p.plot2D('Td2',t,ncdir=ncdir,outdir=outdir,nct=t,match_nc=matchnc,clvs=N.arange(260,291,1))
                # p.plot2D('Q2',t,ncdir=ncdir,outdir=outdir,nct=t,match_nc=matchnc,clvs=N.arange(1,20.5,0.5)*10**-3)
                # p.plot2D('RAINNC',t,ncdir=wrf_sd,outdir=out_sd,locations=locs,clvs=N.arange(1,100,2))
                # p.plot2D('fluidtrapping',t,ncdir=ncroot,nct=nct,outdir=outdir,cb=True,dom=dom,clvs=N.arange(-1,1,0.1)*10**-6)
                # p.plot2D('lyapunov',t,700,ncdir=ncdir,nct=nct,outdir=outdir,cb=True,dom=dom,clvs=N.arange(-7.5,8.0,0.5)*10**-3,cmap='bwr')
                # print(ncdir)
                # p.plot2D('WSPD10MAX',t,ncdir=ncdir,nct=nct,outdir=outdir,cb=True,dom=dom,clvs=N.arange(10,31,1))
                p.plot2D('cref',t,ncdir=ncdir,nct=nct,outdir=outdir,cb=True,dom=dom,**lims)
                # p.plot2D('REFL_comp',t,ncdir=ncdir,nct=nct,outdir=outdir,cb=True,dom=dom)
                # p.plot2D('shear',t,ncdir=ncdir,nct=nct,outdir=outdir,cb=True,dom=dom)
                # p.plot2D('wind10',t,ncdir=ncdir,outdir=outdir,locations=locs,cb=True,clvs=N.arange(5,32,2))

            if radarplot:
                verifdir = '/chinook2/jrlawson/bowecho/{0}/VERIF'.format(case)
                p.plot_radar(t,verifdir,outdir=outdir,ncdir=ncroot,nct=nct,dom=dom)

    if axesofdilatation:
        outdir = os.path.join(outroot,'hires','d0{0}'.format(dom))
        for t in times:
            p.plot_axes_of_dilatation(utc=t,ncdir=ncroot,nct=nct,outdir=outdir,cb=True,dom=dom)

    if radarcomp:
        en = ensnames[0]
Ejemplo n.º 4
0
            outdir, ncdir = get_folders(en,ex)
            p.plot_skewT(skewT_time,latlon=skewT_latlon,outdir=outdir,ncdir=ncdir)

locs = {'Norman':(35.2,-97.4)}
if plot2D or radarplot:
    for en in ensnames:
        for ex in experiments:
            for t in times:
                outdir, ncdir = get_folders(en,ex)
                if plot2D:
                    # p.plot2D('Z',t,500,wrf_sd=wrf_sd,out_sd=out_sd,plottype='contour',smooth=10)
                    # p.plot2D('Td2',t,ncdir=ncdir,outdir=outdir,nct=t,match_nc=matchnc,clvs=N.arange(260,291,1))
                    # p.plot2D('Q2',t,ncdir=ncdir,outdir=outdir,nct=t,match_nc=matchnc,clvs=N.arange(1,20.5,0.5)*10**-3)
                    # p.plot2D('RAINNC',t,ncdir=wrf_sd,outdir=out_sd,locations=locs,clvs=N.arange(1,100,2))
                    # p.plot2D('REFL_comp',t,ncdir=ncdir,outdir=outdir,cb=True,match_nc=matchnc)
                    p.plot2D('cref',t,ncdir=ncdir,outdir=outdir,cb=True)
                    # p.plot2D('wind10',t,ncdir=ncdir,outdir=outdir,locations=locs,cb=True,clvs=N.arange(10,32,2))

                if radarplot:
                    outdir,datadir = get_verif_dirs()
                    p.plot_radar(t,datadir,outdir=outdir,ncdir=ncdir)

if radarcomp:
    en = ensnames[0]
    ex = experiments[0]
    out_sd, wrf_sd = get_folders(en,ex)
    outdir, datadir = get_verif_dirs()
    # p.plot_radar(compt,datadir,outdir,ncdir=wrf_sd,composite=True)
    p.plot_radar(compt,datadir,outdir,composite=True,
                    # Nlim=40.1,Elim=-94.9,Slim=34.3,Wlim=-100.8)
                    Nlim=42.7,Elim=-94.9,Slim=37.0,Wlim=-101.8)
Ejemplo n.º 5
0
                'color': '#9966FF',
                'clvs': N.arange(660, 2100, 30),
                'z': 1
            }

            for lv in levels:
                try:
                    im = p.plot2D(
                        'Z',
                        utc=utc,
                        level=lv,
                        ncdir=RUCdir,
                        outdir=outdir,
                        fig=fig,
                        ax=ax,
                        cb=False,
                        clvs=levels[lv]['clvs'],
                        nct=utc,
                        match_nc=False,
                        smooth=10,
                        plottype='contour',
                        color=levels[lv]['color'],
                        inline=True,
                    )
                    # Nlim=Nlim,Elim=Elim,Slim=Slim,Wlim=Wlim)
                except:
                    continue
            fpath = os.path.join(outdir, outstr + '_overview.png')
            fig.tight_layout()
            fig.savefig(fpath)
            plt.close(fig)
Ejemplo n.º 6
0
p = WRFEnviron()

for case in NC:
    times = utils.generate_times(NC[case]['itime'],NC[case]['ftime'],hourly*60*60)
    for tn, t in enumerate(times):
        mnc = os.path.join(NC[case]['Gncdir'],NC[case]['Gnc'])
        fig,axes = plt.subplots(nrow,ncol,figsize=(6,6))
        axn = 0
        for vrbl in PLOT.keys():
            for lv,clvs in PLOT[vrbl].items():
                for model,ncdir in zip(['RUC','GEFSR2','NAM'],(NC[case]['Rncdir'],NC[case]['Gncdir'],NC[case]['Nncdir'])):
                    if model=='RUC':
                        nct = t
                    else:
                        nct = NC[case]['nct']
                    cb = p.plot2D(vrbl,utc=t,level=lv,ncdir=ncdir,fig=fig,ax=axes.flat[axn],cb=False,clvs=clvs,nct=nct,smooth=sm,plottype=pt,save=False,match_nc=mnc)
                    axes.flat[axn].set_title('{0} {1}'.format(model,lv))
                    axn += 1
        fnameout = fname+'_{0:04d}_{1:02d}h.png'.format(NC[case]['nct'][0],tn*hourly)
        fpath = os.path.join(outroot,fnameout)
        fig.tight_layout()
        fig.savefig(fpath)
        print('Saved to {0}'.format(fpath))






Ejemplo n.º 7
0
# Create list of times
itime = (2013, 8, 16, 1, 0, 0)
ftime = (2013, 8, 16, 5, 0, 0)
hourly = 1
times = p.generate_times(itime, ftime, hourly * 60 * 60)
levels = (2000, )
vrbls = ('cref', )

# import pdb; pdb.set_trace()
# Plot standard 2D plots
if plot2D:
    for t in times:
        for lv in levels:
            for v in vrbls:
                p.plot2D(v, t, lv, ncdir, outdir)

# Streamline 2D plots
if streamlines:
    for t in times:
        for lv in levels:
            p.plot_streamlines(t, lv, ncdir, outdir, smooth=5)

# Skew Ts
# skewT_time = (2013,8,16,3,0,0)
# skewT_latlon = (35.2435,-97.4708)
# p.plot_skewT(skewT_time,skewT_latlon)

# DKE
# p.compute_diff_energy('sum_z','total',path_to_wrfouts,times,
#   d_save=picklefolder, d_return=0,d_fname=pfname)
Ejemplo n.º 8
0
     # vrbl = 'strongestwind';lv=False;clvs = N.arange(10,31,1); tstr=False;extend='max';cmap='jet'
     # vrbl = 'RH';lv = 700;clvs=N.arange(0,105,5)
     # vrbl = 'Q2';lv = False;clvs=N.arange(1,20.5,0.5)*10**-3
     # vrbl = 'Z';lv = 300;clvs=N.arange(8400,9600,30); pt='contour';sm=sm*3
     # vrbl = 'Z';lv = 700;clvs=N.arange(2800,3430,30); pt='contour';sm=sm*3
     # vrbl='Z';lv=500;clvs=N.arange(5000,6000,50);pt='contour';sm=sm*3
     # vrbl = 'T2';lv = False;clvs=N.arange(280,316,1)
     # vrbl = 'shear';lv = False;clvs=N.arange(5,36,1); other = {'top':6,'bottom':0};extend='max';cmap='YlGnBu'
     # vrbl = 'Q_pert';lv=800;clvs=N.arange(-0.005,0.0051,0.0001);cmap='BrBG';extend='both'
     # vrbl = 'frontogen';lv = 2000; clvs = N.arange(-1.5,1.6,0.1)*10**-7
     vrbl = 'cref';lv = False;clvs=False;sm=False;extend=False;cmap=False
     # vrbl = 'dptp';lv=2000;clvs=N.arange(-20,1,1);cmap='terrain';extend='min'
     # vrbl = 'wind10';lv = 2000;clvs=N.arange(10,40,5);sm=False;extend='max'; cmap='jet';
     # vrbl = 'wind';lv = lvl;clvs=N.arange(10,40,5);False;sm=False;cmap='jet';extend='max'
     ######### COMMAND HERE #########
     if plot!='RUC': cb = p.plot2D(vrbl,utc=t,level=lv,ncdir=ncdir,outdir=outdir,fig=fig,ax=ax,cb=False,clvs=clvs,nct=nct,match_nc=mnc,other=other,smooth=sm,plottype=pt,save=False,dom=dom,extend=extend,cmap=cmap,**lims)
     # cb = p.plot2D(vrbl,utc=t,level=lv,ncdir=ncdir,outdir=outdir,fig=fig,ax=ax,cb=cb,clvs=clvs,nct=nct,match_nc=mnc,other=other,smooth=sm,plottype=pt)
     # p.frontogenesis(utc=t,level=lv,ncdir=ncdir,outdir=outdir,clvs=clvs,smooth=5,fig=fig,ax=ax,cb=False,match_nc=mnc,nct=nct)
     # if plot!='RUC': cb = p.plot_strongest_wind(iwind,fwind,ncdir=ncdir,outdir=outdir,clvs=clvs,fig=fig,ax=ax,cb=False,nct=nct,dom=dom,save=False)
     ################################
     if plot is not 'RUC':
         try:
             make_subplot_label(ax,labels[pn])
         except IndexError:
             pass
         else:
             pn += 1
 print(("Plotting {0} panel".format(plot)))
 if plot=='ICBC':
     axtitle = 'Control'
 elif plot=='RUC':
Ejemplo n.º 9
0
                    ctrl_fpath = os.path.join(ctrl_dir,W_fname)
                    radar_datadir = os.path.join('/chinook2/jrlawson/bowecho/',case[:8],'VERIF')
                    fhr_ = utc-nct
                    # import pdb; pdb.set_trace()
                    totalsec = fhr_.seconds + 24*60*60*(fhr_.days)
                    fhr = '{0:02d}'.format(totalsec/(60*60))
                    DATA = {}
                    if plotfig:
                        p = WRFEnviron()
                        fig, axes = plt.subplots(3,4,figsize=(8,6))
                        if use_radar_obs:
                            p.plot_radar(utc,radar_datadir,ncdir=ctrl_dir,fig=fig,ax=axes.flat[0],cb=False,nct=nct,dom=dom)
                            axes.flat[0].set_title("NEXRAD")
                        else:
                            p.plot2D(vrbl,utc,fig=fig,ax=axes.flat[0],ncdir=ctrl_dir,nct=nct,cb=False,dom=dom,accum_hr=accum_hr,clvs=clvs)
                            axes.flat[0].set_title("Ctrl")
                    else:
                        axes = N.array([False,] * 12)

                    if use_radar_obs:
                        ctrl_fpath = False
                    else:
                        radar_datadir = False

                    print(("----- {0}\t{1} ------".format(nest,utc)))
                    # for ens in ensnames[0:1]:
                    for ens,ax in zip(ensnames,axes.flat[1:12]):
                        # if ens=='s21':
                            # continue
                        # import pdb; pdb.set_trace()
Ejemplo n.º 10
0
# Create list of times
itime = (2013,8,16,1,0,0)
ftime = (2013,8,16,5,0,0)
hourly = 1
times = p.generate_times(itime,ftime,hourly*60*60)
levels = (2000,)
vrbls = ('cref',)

# import pdb; pdb.set_trace()
# Plot standard 2D plots
if plot2D:
    for t in times:
        for lv in levels:
            for v in vrbls:
                p.plot2D(v,t,lv,ncdir,outdir)

# Streamline 2D plots
if streamlines:
     for t in times:
         for lv in levels:
            p.plot_streamlines(t,lv,ncdir,outdir,smooth=5)

# Skew Ts
# skewT_time = (2013,8,16,3,0,0)
# skewT_latlon = (35.2435,-97.4708)
# p.plot_skewT(skewT_time,skewT_latlon)

# DKE
# p.compute_diff_energy('sum_z','total',path_to_wrfouts,times,
                    #   d_save=picklefolder, d_return=0,d_fname=pfname)
Ejemplo n.º 11
0
            title = ens[:-4].replace('_',' ')
            ax.set_title(title)
            make_subplot_label(ax,labels[n])

            try:
                cm = PL['cmap']
            except KeyError:
                cm = False

            try:
                extend = PL['extend']
            except KeyError:
                extend = False

            cb = p.plot2D(vrbl,utc=t,level=PL['lv'],ncdir=ncdir,outdir=False,fig=fig,ax=ax,cb=False,
                    clvs=PL['clvs'],nct=nct,plottype='contourf',cmap=cm,extend=extend,save=False,
                    **lims)

            if not cb_saved[vrbl]:
                p.plot2D(vrbl,utc=t,level=PL['lv'],ncdir=ncdir,outdir=outdir,
                        f_suffix=False,cb='only',
                        clvs=PL['clvs'],nct=nct,plottype='contourf',cmap=cm,extend=extend,
                        **lims)
                # if vrbl is not 'dptp':
                cb_saved[vrbl] = True

        fig.tight_layout()
        fig.subplots_adjust(bottom=0.12,top=0.94)
        # cbar_ax = fig.add_axes([0.15,0.075,0.7,0.025])
        cbar_ax = fig.add_axes([0.15,0.06,0.7,0.02])
        cb1 = plt.colorbar(cb,cax=cbar_ax,orientation='horizontal')#,extend='both')
Ejemplo n.º 12
0
for tn,t in enumerate(times):
    print(("Creating row for time #{0} of {1}.".format(tn+1,len(times))))

    # Verification
    ax = next(axit)
    p.plot_radar(t,radar_datadir,ncdir=ncdir['SINGLE'],fig=fig,ax=ax,cb=False,nct=nct,dom=1,**lims)
    make_subplot_label(ax,next(labels))
    if tn == 0:
        ax.set_title(next(pltitle))

    # Sim cref
    for vrbl, nest in zip(('cref','cref','dptp','dptp'),('SINGLE','NESTED','SINGLE','NESTED')):
        print((vrbl, nest))
        ax = next(axit)
        cb[vrbl] = p.plot2D(vrbl,utc=t,level=PLOTS[vrbl]['lv'],ncdir=ncdir[nest],outdir=False,fig=fig,ax=ax,cb=False,
                clvs=PLOTS[vrbl]['clvs'],nct=nct,plottype='contourf',cmap=PLOTS[vrbl]['cmap'],
                extend=PLOTS[vrbl]['extend'],save=False,**lims)
        if tn == 0:
            ax.set_title(next(pltitle))
        make_subplot_label(ax,next(labels))
    ax.text(1.1,0.5,next(nicetimes),transform=ax.transAxes)

fig.tight_layout()
fig.subplots_adjust(bottom=0.13,right=0.92)
# cbar_ax = fig.add_axes([0.15,0.075,0.7,0.025])
cbar_ax1 = fig.add_axes([0.245,0.08,0.27,0.02])
cbar_ax2 = fig.add_axes([0.615,0.08,0.27,0.02])
for cbar_ax, vrbl in zip((cbar_ax1,cbar_ax2),('cref','dptp')):
    cbx = plt.colorbar(cb[vrbl],cax=cbar_ax,orientation='horizontal')#,extend='both')
    cbx.set_label(PLOTS[vrbl]['cbl'])
Ejemplo n.º 13
0
                         outdir=outdir,
                         ncdir=ncdir)

locs = {'Norman': (35.2, -97.4)}
if plot2D or radarplot:
    for en in ensnames:
        for ex in experiments:
            for t in times:
                outdir, ncdir = get_folders(en, ex)
                if plot2D:
                    # p.plot2D('Z',t,500,wrf_sd=wrf_sd,out_sd=out_sd,plottype='contour',smooth=10)
                    # p.plot2D('Td2',t,ncdir=ncdir,outdir=outdir,nct=t,match_nc=matchnc,clvs=N.arange(260,291,1))
                    # p.plot2D('Q2',t,ncdir=ncdir,outdir=outdir,nct=t,match_nc=matchnc,clvs=N.arange(1,20.5,0.5)*10**-3)
                    # p.plot2D('RAINNC',t,ncdir=wrf_sd,outdir=out_sd,locations=locs,clvs=N.arange(1,100,2))
                    # p.plot2D('REFL_comp',t,ncdir=ncdir,outdir=outdir,cb=True,match_nc=matchnc)
                    p.plot2D('cref', t, ncdir=ncdir, outdir=outdir, cb=True)
                    # p.plot2D('wind10',t,ncdir=ncdir,outdir=outdir,locations=locs,cb=True,clvs=N.arange(10,32,2))

                if radarplot:
                    outdir, datadir = get_verif_dirs()
                    p.plot_radar(t, datadir, outdir=outdir, ncdir=ncdir)

if radarcomp:
    en = ensnames[0]
    ex = experiments[0]
    out_sd, wrf_sd = get_folders(en, ex)
    outdir, datadir = get_verif_dirs()
    # p.plot_radar(compt,datadir,outdir,ncdir=wrf_sd,composite=True)
    p.plot_radar(
        compt,
        datadir,
Ejemplo n.º 14
0
        print(utc)
        # import pdb; pdb.set_trace()
        if plot_Z:
            fig, ax = plt.subplots()

            levels = {}
            # levels[300] = {'color':'blue','clvs':N.arange(8400,9600,120)}
            # levels[500] = {'color':'black','clvs':N.arange(4800,6000,60)}
            # levels[850] = {'color':'red','clvs':N.arange(900,2100,30)}
            levels[500] = {'color':'black','clvs':N.arange(5460,6000,60),'z':10}
            levels[925] = {'color':'#9966FF','clvs':N.arange(660,2100,30),'z':1}

            for lv in levels:
                try:
                    im = p.plot2D('Z',utc=utc,level=lv,ncdir=RUCdir,outdir=outdir,
                            fig=fig,ax=ax,cb=False,clvs=levels[lv]['clvs'],nct=utc,match_nc=False,
                            smooth=10,plottype='contour',color=levels[lv]['color'],inline=True,)
                            # Nlim=Nlim,Elim=Elim,Slim=Slim,Wlim=Wlim)
                except:
                    continue
            fpath = os.path.join(outdir,outstr+'_overview.png')
            fig.tight_layout()
            fig.savefig(fpath)
            plt.close(fig)

        if plot_T_adv:
            levels = {}
            levels[700] = {'clvs':N.arange(-5,5.51,0.5)*0.0001}
            levels[850] = {'clvs':N.arange(-5,5.5,0.5)*0.0001}

            for lv in levels:
Ejemplo n.º 15
0
            except KeyError:
                cm = False

            try:
                extend = PL['extend']
            except KeyError:
                extend = False

            cb = p.plot2D(
                vrbl,
                utc=t,
                level=PL['lv'],
                ncdir=ncdir,
                outdir=False,
                fig=fig,
                ax=ax,
                cb=False,
                clvs=PL['clvs'],
                nct=nct,
                plottype='contourf',
                cmap=cm,
                extend=extend,
                save=False,
                **lims)

            if not cb_saved[vrbl]:
                p.plot2D(
                    vrbl,
                    utc=t,
                    level=PL['lv'],
                    ncdir=ncdir,
                    outdir=outdir,
Ejemplo n.º 16
0
    if tn == 0:
        ax.set_title(next(pltitle))

    # Sim cref
    for vrbl, nest in zip(('cref', 'cref', 'dptp', 'dptp'),
                          ('SINGLE', 'NESTED', 'SINGLE', 'NESTED')):
        print((vrbl, nest))
        ax = next(axit)
        cb[vrbl] = p.plot2D(vrbl,
                            utc=t,
                            level=PLOTS[vrbl]['lv'],
                            ncdir=ncdir[nest],
                            outdir=False,
                            fig=fig,
                            ax=ax,
                            cb=False,
                            clvs=PLOTS[vrbl]['clvs'],
                            nct=nct,
                            plottype='contourf',
                            cmap=PLOTS[vrbl]['cmap'],
                            extend=PLOTS[vrbl]['extend'],
                            save=False,
                            **lims)
        if tn == 0:
            ax.set_title(next(pltitle))
        make_subplot_label(ax, next(labels))
    ax.text(1.1, 0.5, next(nicetimes), transform=ax.transAxes)

fig.tight_layout()
fig.subplots_adjust(bottom=0.13, right=0.92)
# cbar_ax = fig.add_axes([0.15,0.075,0.7,0.025])
Ejemplo n.º 17
0
p = WRFEnviron()

meteogram = 0
plot2D = 1
nens = 9

itime = (2015,2,7,0,0,0)
ftime = (2015,2,8,1,0,0)
hourly = 1
times = utils.generate_times(itime,ftime,hourly*60*60)

ncfiles = [os.path.join(ncroot,'SGp{0:02d}'.format(n)) for n in range(1,11)]
ncfiles.append(os.path.join(ncroot,'Gm4km'))

vrbls = ['T2','wind10']

loclist = [{'Stockton':(54.57,-1.32)},
            {'Norwich':(52.63,1.30)},
            {'FortWill':(56.82,-5.11)},
            {'Wick':(58.45,-3.09)},
            ]
            
if meteogram:
    for loc in loclist:
        for vrbl in vrbls:
            p.meteogram(vrbl,loc,ncfiles,outdir=outroot)

if plot2D:
    for t in times:
        p.plot2D('T2',t,ncdir=ncfiles[nens],outdir=outroot,cb=True,clvs=N.arange(263,284,1),f_suffix='{0}'.format(nens))
Ejemplo n.º 18
0
        dt = datetime.datetime(*time.gmtime(t)[:-2])
        nicetime = '{0:%H:%M UTC %Y/%m/%d}'.format(dt)
        # Verification
        ax = next(axit)
        if nest == 'SINGLE':
            ax.set_title(nicetime)

        # if vrbl is not 'wind':
        cb = p.plot2D(vrbl,
                      utc=t,
                      level=PLOTS[vrbl]['lv'],
                      ncdir=ncdir[nest],
                      outdir=False,
                      fig=fig,
                      ax=ax,
                      cb=cb_opt,
                      clvs=PLOTS[vrbl]['clvs'],
                      nct=nct,
                      plottype='contourf',
                      cmap=PLOTS[vrbl]['cmap'],
                      extend=PLOTS[vrbl]['extend'],
                      save=False,
                      dom=1,
                      **lims)
        if plot_cref:
            p.plot2D('cref',
                     utc=t,
                     level=False,
                     ncdir=ncdir[nest],
                     outdir=False,
                     fig=fig,
                     ax=ax,
Ejemplo n.º 19
0
labels = iter(list(string.ascii_lowercase))
axit = iter(axes.flat)

for nest in ('SINGLE','NESTED'):
    for tn,t in enumerate(times):

        dt = datetime.datetime(*time.gmtime(t)[:-2])
        nicetime = '{0:%H:%M UTC %Y/%m/%d}'.format(dt)
        # Verification
        ax = axit.next()
        if nest == 'SINGLE':
            ax.set_title(nicetime)

        # if vrbl is not 'wind':
        cb = p.plot2D(vrbl,utc=t,level=PLOTS[vrbl]['lv'],ncdir=ncdir[nest],outdir=False,fig=fig,ax=ax,cb=cb_opt,
                clvs=PLOTS[vrbl]['clvs'],nct=nct,plottype='contourf',cmap=PLOTS[vrbl]['cmap'],
                extend=PLOTS[vrbl]['extend'],save=False,dom=1,**lims)
        p.plot2D('cref',utc=t,level=False,ncdir=ncdir[nest],outdir=False,fig=fig,ax=ax,cb=cb_opt,
                clvs=[35,],nct=nct,plottype='contour',cmap=None,
                extend=False,save=False,dom=1,smooth=3,**lims)
        # else:
            # cb = p.plot2D(vrbl,utc=t,level=PLOTS[vrbl]['lv'],ncdir=ncdir[nest],outdir=False,fig=fig,ax=ax,cb=cb_opt,
                    # clvs=PLOTS[vrbl]['clvs'],nct=nct,plottype='quiver',cmap=PLOTS[vrbl]['cmap'],
                    # extend=PLOTS[vrbl]['extend'],save=False,dom=1,**lims)
            # lims = False
            # cb = p.plot_streamlines(t,PLOTS[vrbl]['lv'],ncdir[nest],outdir=False,fig=fig,ax=ax,nct=nct,
                       # bounding=lims,dom=1,density=0.8)
        make_subplot_label(ax,labels.next())
        if tn == len(times)-1:
            ax.text(1.03,0.42,nest+'\nControl\n(No SKEB)',transform=ax.transAxes)
Ejemplo n.º 20
0
                        if use_radar_obs:
                            p.plot_radar(utc,
                                         radar_datadir,
                                         ncdir=ctrl_dir,
                                         fig=fig,
                                         ax=axes.flat[0],
                                         cb=False,
                                         nct=nct,
                                         dom=dom)
                            axes.flat[0].set_title("NEXRAD")
                        else:
                            p.plot2D(vrbl,
                                     utc,
                                     fig=fig,
                                     ax=axes.flat[0],
                                     ncdir=ctrl_dir,
                                     nct=nct,
                                     cb=False,
                                     dom=dom,
                                     accum_hr=accum_hr,
                                     clvs=clvs)
                            axes.flat[0].set_title("Ctrl")
                    else:
                        axes = N.array([
                            False,
                        ] * 12)

                    if use_radar_obs:
                        ctrl_fpath = False
                    else:
                        radar_datadir = False
Ejemplo n.º 21
0
        fig, ax = plt.subplots()
        cb = False
        clvs = False
        mnc = False
        sm = 10
        other = False
        pt = 'contour'

        levels = {}
        # levels[300] = {'color':'blue','clvs':N.arange(8400,9600,120)}
        levels[500] = {'color':'black','clvs':N.arange(5460,6000,60),'z':10}
        # levels[850] = {'color':'green','clvs':N.arange(900,2100,30)}
        levels[925] = {'color':'#9966FF','clvs':N.arange(660,2100,30),'z':1}

        for lv in sorted(levels,reverse=True):
            im = p.plot2D('Z',utc=cases[case]['utc'],level=lv,ncdir=cases[case]['datadir'],outdir=outdir,
                        fig=fig,ax=ax,cb=cb,clvs=levels[lv]['clvs'],nct=cases[case]['utc'],match_nc=mnc,
                        other=other,smooth=sm,plottype=pt,color=levels[lv]['color'],inline=True,
                        Nlim=Nlim,Elim=Elim,Slim=Slim,Wlim=Wlim)

        datestr = '_'.join(['{0:02d}'.format(n) for n in cases[case]['utc'][2:4]])
        fpath = os.path.join(outdir,case,datestr+'_forecastfunnel.png')
        fig.tight_layout()
        fig.savefig(fpath)
        plt.close(fig)

    if Tplot:
        levels = {}
        levels[700] = {'clvs':N.arange(-10,11,1)*0.0001}
        levels[850] = {'clvs':N.arange(-10,11,1)*0.0001}
Ejemplo n.º 22
0
                                  cb=True)

        for t in times:
            if plot2D:
                # p.plot2D('Z',t,500,wrf_sd=wrf_sd,out_sd=out_sd,plottype='contour',smooth=10)
                # p.plot2D('Td2',t,ncdir=ncdir,outdir=outdir,nct=t,match_nc=matchnc,clvs=N.arange(260,291,1))
                # p.plot2D('Q2',t,ncdir=ncdir,outdir=outdir,nct=t,match_nc=matchnc,clvs=N.arange(1,20.5,0.5)*10**-3)
                # p.plot2D('RAINNC',t,ncdir=wrf_sd,outdir=out_sd,locations=locs,clvs=N.arange(1,100,2))
                # p.plot2D('fluidtrapping',t,ncdir=ncroot,nct=nct,outdir=outdir,cb=True,dom=dom,clvs=N.arange(-1,1,0.1)*10**-6)
                # p.plot2D('lyapunov',t,700,ncdir=ncdir,nct=nct,outdir=outdir,cb=True,dom=dom,clvs=N.arange(-7.5,8.0,0.5)*10**-3,cmap='bwr')
                # print(ncdir)
                # p.plot2D('WSPD10MAX',t,ncdir=ncdir,nct=nct,outdir=outdir,cb=True,dom=dom,clvs=N.arange(10,31,1))
                p.plot2D('cref',
                         t,
                         ncdir=ncdir,
                         nct=nct,
                         outdir=outdir,
                         cb=True,
                         dom=dom,
                         **lims)
                # p.plot2D('REFL_comp',t,ncdir=ncdir,nct=nct,outdir=outdir,cb=True,dom=dom)
                # p.plot2D('shear',t,ncdir=ncdir,nct=nct,outdir=outdir,cb=True,dom=dom)
                # p.plot2D('wind10',t,ncdir=ncdir,outdir=outdir,locations=locs,cb=True,clvs=N.arange(5,32,2))

            if radarplot:
                verifdir = '/chinook2/jrlawson/bowecho/{0}/VERIF'.format(case)
                p.plot_radar(t,
                             verifdir,
                             outdir=outdir,
                             ncdir=ncroot,
                             nct=nct,
                             dom=dom)
Ejemplo n.º 23
0
            for lv, clvs in list(PLOT[vrbl].items()):
                for model, ncdir in zip(
                    ['RUC', 'GEFSR2', 'NAM'],
                    (NC[case]['Rncdir'], NC[case]['Gncdir'],
                     NC[case]['Nncdir'])):
                    if model == 'RUC':
                        nct = t
                    else:
                        nct = NC[case]['nct']
                    cb = p.plot2D(vrbl,
                                  utc=t,
                                  level=lv,
                                  ncdir=ncdir,
                                  fig=fig,
                                  ax=axes.flat[axn],
                                  cb=False,
                                  clvs=clvs,
                                  nct=nct,
                                  smooth=sm,
                                  plottype=pt,
                                  save=False,
                                  match_nc=mnc)
                    axes.flat[axn].set_title('{0} {1}'.format(model, lv))
                    axn += 1
        fnameout = fname + '_{0:04d}_{1:02d}h.png'.format(
            NC[case]['nct'][0], tn * hourly)
        fpath = os.path.join(outroot, fnameout)
        fig.tight_layout()
        fig.savefig(fpath)
        print(('Saved to {0}'.format(fpath)))