plot_fgmax.py.html | |
Source file: plot_fgmax.py | |
Directory: /Users/rjl/clawpack_src/clawpack_master/geoclaw/examples/tsunami/chile2010_fgmax-fgout | |
Converted: Mon Feb 19 2024 at 14:27:24 using clawcode2html | |
This documentation file will not reflect any later changes in the source file. |
""" Plot fgmax output from GeoClaw run. """ import matplotlib.pyplot as plt import os import numpy from clawpack.geoclaw import fgmax_tools from clawpack.visclaw import geoplot def plot_fgmax_grid(outdir,plotdir): fg = fgmax_tools.FGmaxGrid() fg.outdir = outdir data_file = os.path.join(outdir, 'fgmax_grids.data') fg.read_fgmax_grids_data(fgno=1, data_file=data_file) fg.read_output() clines_zeta = [0.01] + list(numpy.linspace(0.05,0.3,6)) + [0.5,1.0,10.0] colors = geoplot.discrete_cmap_1(clines_zeta) plt.figure(1) plt.clf() zeta = numpy.where(fg.B>0, fg.h, fg.h+fg.B) # surface elevation in ocean plt.contourf(fg.X,fg.Y,zeta,clines_zeta,colors=colors) plt.colorbar() plt.contour(fg.X,fg.Y,fg.B,[0.],colors='k') # coastline # plot arrival time contours and label: arrival_t = fg.arrival_time/3600. # arrival time in hours clines_t = numpy.linspace(0,8,17) # hours clines_t_label = clines_t[2::2] # which ones to label clines_t_colors = ([.5,.5,.5],) con_t = plt.contour(fg.X,fg.Y,arrival_t, clines_t,colors=clines_t_colors) plt.clabel(con_t, clines_t_label) # fix axes: plt.ticklabel_format(style='plain',useOffset=False) plt.xticks(rotation=20) plt.gca().set_aspect(1./numpy.cos(fg.Y.mean()*numpy.pi/180.)) plt.title("Maximum amplitude / arrival times") if not os.path.isdir(plotdir): os.mkdir(plotdir) fname = os.path.join(plotdir, "amplitude_times.png") plt.savefig(fname) print("Created ",fname) if __name__=="__main__": plot_fgmax_grid(outdir='_output', plotdir='.')