If a dtopo file is specified with the dtopo t0 in the header less than or equal to t0 for the job run, then the change to topo may be applied before qinit is called, so that the initial ocean is flat and never changes if there are no subsequent dtopo changes specified (particularly if mt = 1 so only one dtopo time is specified). This may or may not be what is desired, but for instantaneous earthquake models it probably is not desired, instead you might want to see the initial surface displacement matching the specified dtopo. At any rate this should be clarified in the documentation.
There might also be a bug in this, since in some tests I did the initial surface was not entirely flat but had some small perturbations near the coast on coarser grid levels (but not on the finest level patches). This needs more exploration.
At any rate, for earthquake models it is best to specify t0 in the dtopo file to be larger than the t0 set in setrun.py for the simulation, e.g. to 1 second as we often do for "instantaneous uplift" models. And then setting e.g.
rundata.clawdata.dt_initial = 0.5
rundata.dtopo_data.dt_max_dtopo = 0.5
insures that it takes small enough time steps initially on the coarsest grid to capture the initial deformation before it starts taking time steps governed by rundata.clawdata.cfl_desired, which can be several hundred seconds if the coarsest level is one or two degrees.
Also, if dt_max_dtopo <= dt_initial then it should be using this time step initially, one would think, but in fact it uses dt_initial for the first time step regardless of dt_max_dtopo and this should be fixed.
If a dtopo file is specified with the dtopo
t0in the header less than or equal tot0for the job run, then the change to topo may be applied beforeqinitis called, so that the initial ocean is flat and never changes if there are no subsequentdtopochanges specified (particularly ifmt = 1so only one dtopo time is specified). This may or may not be what is desired, but for instantaneous earthquake models it probably is not desired, instead you might want to see the initial surface displacement matching the specifieddtopo. At any rate this should be clarified in the documentation.There might also be a bug in this, since in some tests I did the initial surface was not entirely flat but had some small perturbations near the coast on coarser grid levels (but not on the finest level patches). This needs more exploration.
At any rate, for earthquake models it is best to specify
t0in thedtopofile to be larger than thet0set insetrun.pyfor the simulation, e.g. to 1 second as we often do for "instantaneous uplift" models. And then setting e.g.insures that it takes small enough time steps initially on the coarsest grid to capture the initial deformation before it starts taking time steps governed by
rundata.clawdata.cfl_desired, which can be several hundred seconds if the coarsest level is one or two degrees.Also, if
dt_max_dtopo <= dt_initialthen it should be using this time step initially, one would think, but in fact it usesdt_initialfor the first time step regardless ofdt_max_dtopoand this should be fixed.