compare_gauges.py.html | |
Source file: compare_gauges.py | |
Directory: /Users/rjl/clawpack_src/clawpack_master/geoclaw/examples/1d_classic/bouss_wavetank_usace | |
Converted: Mon Feb 19 2024 at 14:31:27 using clawcode2html | |
This documentation file will not reflect any later changes in the source file. |
""" Plot results at three gauges and compare with experimental data, obtained from https://nctr.pmel.noaa.gov/benchmark/Solitary_wave/ If you run this after running GeoClaw using the Madsen-Sorenson option with: rundata.bouss_data.boussEquations = 1 then you can compare the figure generated to Figure 4 in the BoussClaw paper http://dx.doi.org/10.1016/j.coastaleng.2017.01.005 See also compare_BoussSWE.py which runs the code with various settings and plots the results together using plot_gauges from this module. """ from pylab import * import clawpack.pyclaw.gauges as gauges def plot_gauges(outdirs=[('_output', 'Simulation', 'b')], fname_figure='GaugeComparison.png'): d = loadtxt('experimental_data/ts3b.txt',skiprows=6) tg = d[:,0] g5 = d[:,2] g7 = d[:,4] g8 = d[:,5] figure(400, figsize=(8,8)) clf() subplot(311) gaugeno = 5 plot(tg-tg[0], g5, 'r--', label='Experiment') for (outdir,outdir_label,outdir_color) in outdirs: gauge = gauges.GaugeSolution(gaugeno, outdir) t = gauge.t eta = gauge.q[2,:] plot(t, eta, color=outdir_color, label=outdir_label) xlim(0,25) ylim(-0.01,0.08) legend(loc='upper right') grid(True) xlabel('') ylabel('Surface (m)') title('Gauge %i' % gaugeno) subplot(312) gaugeno = 7 plot(tg-tg[0], g7, 'r--', label='Experiment') for (outdir,outdir_label,outdir_color) in outdirs: gauge = gauges.GaugeSolution(gaugeno, outdir) t = gauge.t eta = gauge.q[2,:] plot(t, eta, color=outdir_color, label=outdir_label) xlim(0,25) ylim(-0.01,0.08) legend(loc='upper right') grid(True) xlabel('') ylabel('Surface (m)') title('Gauge %i' % gaugeno) subplot(313) gaugeno = 8 plot(tg-tg[0], g8, 'r--', label='Experiment') for (outdir,outdir_label,outdir_color) in outdirs: gauge = gauges.GaugeSolution(gaugeno, outdir) t = gauge.t eta = gauge.q[2,:] plot(t, eta, color=outdir_color, label=outdir_label) xlim(0,25) ylim(-0.01,0.08) legend(loc='upper right') grid(True) xlabel('') ylabel('Surface (m)') title('Gauge %i' % gaugeno) tight_layout() if fname_figure is not None: savefig(fname_figure, bbox_inches='tight') print('Created %s' % fname_figure) if __name__=='__main__': plot_gauges(outdirs=[('_output', 'Simulation', 'b')], fname_figure='GaugeComparison.png')