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)
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]
outdir,datadir = get_verif_dirs() # for lvl in (1,2,4,7,10,15,20,25,30): for t in times: fig,axes = plt.subplots(nrow,ncol,figsize=(9,7)) pn = 0 for ax,plot,en,ex in zip(axes.flat,plotlist,enslist,exlist): # cb = False if plot=='NEXRAD': # Verification outdir, ncdir, sp_outdir = get_folders(enslist[3],exlist[3]) # import pdb; pdb.set_trace() print(("Looking for data in {0}".format(ncdir))) p.plot_radar(t,datadir,outdir=False,ncdir=ncdir,fig=fig,ax=ax,cb=False,dom=dom,nct=inittime,**lims) make_subplot_label(ax,labels[pn]) pn += 1 else: if plot=='RUC': outdir, ncdir, sp_outdir = get_folders('anl','VERIF',ic='RUC') nct = t mnc = matchnc sm = 1 cb_done = False else: if not cb_done: # cb = fig.add_axes([.9,.1,.05,.1]) # cb = axes.flat[-1] pass # cb, kw = M.colorbar.make_axes(cb,shrink=0.2)
import sys import numpy as N #import matplotlib as M #M.use('gtkagg') sys.path.append('/home/jrlawson/gitprojects/WEM') from WEM.postWRF.postWRF import WRFEnviron p = WRFEnviron() outdir = '/home/jrlawson/public_html/bowecho' datadir = '/chinook2/jrlawson/bowecho/20130815/VERIF' reportday = (2013,8,15,23,0,0) # utc = [(2013,8,16,3,m,0) for m in range(0,60,5)] utc = (2013,8,16,3,0,0) ncdir = '/chinook2/jrlawson/bowecho/20130815/GEFSR2/c00/ICBC' # p.plot2D(t,utc=utc,level=2000) p.plot_accum_rain(utc,6,ncdir,outdir,clvs=N.arange(5,85,1)) for t in utc: # R = Radar(t,datadir) # R.plot_radar(outdir,Nlim=42.0,Elim=-92.0,Slim=32.0,Wlim=-102.0) p.plot_radar(t,datadir,outdir,ncdir=ncdir,nct=nct) # SPC = SPCReports(reportday,datadir,torn=False,hail=False)
for t in times: fig, axes = plt.subplots(nrow, ncol, figsize=(9, 7)) pn = 0 for ax, plot, en, ex in zip(axes.flat, plotlist, enslist, exlist): # cb = False if plot == 'NEXRAD': # Verification outdir, ncdir, sp_outdir = get_folders(enslist[3], exlist[3]) # import pdb; pdb.set_trace() print(("Looking for data in {0}".format(ncdir))) p.plot_radar(t, datadir, outdir=False, ncdir=ncdir, fig=fig, ax=ax, cb=False, dom=dom, nct=inittime, **lims) make_subplot_label(ax, labels[pn]) pn += 1 else: if plot == 'RUC': outdir, ncdir, sp_outdir = get_folders('anl', 'VERIF', ic='RUC') nct = t mnc = matchnc sm = 1 cb_done = False
ncols = len(plotnames) fig, axes = plt.subplots(nrows, ncols, figsize=(9, 6)) axit = iter(axes.flat) cb = {} nicetimes = iter(['21 h', '24 h', '27 h']) 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,
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) if streamlines: for en in ensnames: for ex in experiments: for t in times:
dom, hires = nest_logic(nest) nct, casestr, W_fname = case_logic(case) casestr, ctrl_dir, ensnames = hires_logic(casestr,hires) 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]):
import sys import numpy as N #import matplotlib as M #M.use('gtkagg') sys.path.append('/home/jrlawson/gitprojects/WEM') from WEM.postWRF.postWRF import WRFEnviron p = WRFEnviron() outdir = '/home/jrlawson/public_html/bowecho' datadir = '/chinook2/jrlawson/bowecho/20130815/VERIF' reportday = (2013, 8, 15, 23, 0, 0) # utc = [(2013,8,16,3,m,0) for m in range(0,60,5)] utc = (2013, 8, 16, 3, 0, 0) ncdir = '/chinook2/jrlawson/bowecho/20130815/GEFSR2/c00/ICBC' # p.plot2D(t,utc=utc,level=2000) p.plot_accum_rain(utc, 6, ncdir, outdir, clvs=N.arange(5, 85, 1)) for t in utc: # R = Radar(t,datadir) # R.plot_radar(outdir,Nlim=42.0,Elim=-92.0,Slim=32.0,Wlim=-102.0) p.plot_radar(t, datadir, outdir, ncdir=ncdir, nct=nct) # SPC = SPCReports(reportday,datadir,torn=False,hail=False)
# radartimes = [datetime.datetime(2011,4,19,22,0,0), # datetime.datetime(2011,4,20,2,30,0), # datetime.datetime(2011,4,20,5,0,0)] radarthresh = 25 # radarthresh = 35 radartimes = datetime.datetime(2011,4,20,3,0,0) lims = {'Nlim':45.0,'Elim':-80.0,'Slim':32.0,'Wlim':-95.0} fname = 'ILIN11_reports_radar.png' outdir = '/home/jrlawson/public_html/bowecho' # FIGURE SETUP fig, ax = plt.subplots(1,figsize=(5,6)) p = WRFEnviron() # Composite radar p.plot_radar(radartimes,datadir,outdir,compthresh=radarthresh, composite=False,fig=fig,ax=ax,**lims) # Storm reports SR = StormReports(fpath) SR.plot('Wind',itime,ftime,fname,outdir,ax=ax,fig=fig,ss=8,color='magenta',**lims) # Annotate four bow echoes # Save fig fig.tight_layout() fig.savefig(os.path.join(outdir,fname))
labels = iter(list(string.ascii_lowercase)) pltitle = iter(plotnames) nrows = len(times) ncols = len(plotnames) fig, axes = plt.subplots(nrows,ncols,figsize=(9,6)) axit = iter(axes.flat) cb = {} nicetimes = iter(['21 h','24 h','27 h']) 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)