def make_timing_plots(plotdata): import os,sys from clawpack.visclaw import plot_timing_stats try: timing_plotdir = plotdata.plotdir + '/_timing_figures' os.system('mkdir -p %s' % timing_plotdir) units = {'comptime':'seconds', 'simtime':'dimensionless', 'cell':'millions'} plot_timing_stats.make_plots(outdir=plotdata.outdir, make_pngs=True, plotdir=timing_plotdir, units=units) except: print('*** Error making timing plots') otherfigure = plotdata.new_otherfigure(name='timings', fname='_timing_figures/timing.html') otherfigure.makefig = make_timing_plots
units = {'comptime':'seconds', 'simtime':'dimensionless', 'cell':'millions'}Note that in this example the time and number of cells updated between frames is at a minimum around times 1 and 3, when the largest fraction of the domain is refined. This may seem wrong, but at these times the velocity also passes through zero as the flow reverses, and so much larger time steps can be taken than at other times.
Also note that there is a large amount of overhead in this example that is mostly spent in Output (valout). This is because frequent outputs are done in ASCII. If you set setrun.format = 'binary' then this overhead nearly disappears.
units = {'comptime':'seconds', 'simtime':'dimensionless', 'cell':'millions'}Note in this example the time between frames increases monotonically as more of the domain is refined.
units = {'comptime':'seconds', 'simtime':'hours', 'cell':'millions'}Note that in this example the time between frames increases at first and then decreases as the tsunami leaves the domain.
units = {'comptime':'hours', 'simtime':'hours', 'cell':'billions'}Note the change of units for this run, which required more than 200 hours of CPU time to model inundation along the west side of Whidbey Island from a Cascadia Subduction Zone event, with 1/3 arcsecond resolution over the fgmax region.