Since GeoClaw is a modified version of AMRClaw, all of the parameters that are required for AMRClaw are also needed by GeoClaw. See Specifying AMRClaw parameters in setrun.py for a discussion of these, and Specifying run-time parameters in setrun.py for a description of setrun.py input scripts more generally.
In addition, a number of other parameters should be set in the setrun.py file in any GeoClaw application.
It is best to look at a specific example while reading this section, for example Sample GeoClaw setrun.py module.
The function setrun in this module is essentially the same as for AMRClaw, except that it expects to be called with claw_pkg = ‘geoclaw’. This call should be performed properly by the Makefile if you have CLAW_PKG = geoclaw set properly there.
The new section setgeo function in this module contains the new GeoClaw parameters.
A brief summary of these:
New in 4.6.0: It is now possible to have GeoClaw automatically choose refinement factors in time on each level based on an estimate of the maximum wave speed on all grids at this level. For most hyperbolic problems the CFL condition suggests that one should refine in time by the same factor as in space. However, for GeoClaw applications where fine grids appear only in shallow coastal regions this may not be the case. Automatic choice of refinement factors is used if
is set to True. The default is False, in which case refinement factors in time are specified by the user as usual.
icoordsys = 1 for Cartesian x-y in meters,
icoordsys = 2 for latitude-longitude.
These parameters are used for tsunami modeling (can also be used for other problems — need to clarify this!).
See Topography data for more information about specifying topography (and bathymetry) data files in GeoClaw.
topofiles should be a list of the form [file1info, file2info, etc.] where each element is itself a list of the form
[topotype, minlevel, maxlevel, t1, t2, fname]
with values
topotype : integer
1,2 or 3 depending on the format of the file (see Topography data).minlevel : integer
the minimum refinement level that should be enforced in the region covered by this grid (for times between t1 and t2).maxlevel : integer
the maximum refinement level that should be allowed in the region covered by this grid (for times between t1 and t2).t1, t2 : floats
the time interval over which refinement should be controlled.fname : string
the name of the topo file.For more about controlling AMR in various regions, see Specifying AMR regions.
Information about topography displacement files, giving perturbations to topography generated by an earthquake, for example.
dtopofiles should be a list of the form [] or [file1info] where each element (currently at most 1 is allowed!) is itself a list of the form
[minlevel, maxlevel, fname]
with values
minlevel : integer
the minimum refinement level that should be enforced in the region covered by this grid.maxlevel : integer
the maximum refinement level that should be allowed in the region covered by this grid.fname : string
the name of the dtopo file. See Topography data for information about the format of data in this file.
A modification to the initial data specified by default can be made as described at qinit data file.
Specifies what type of perturbation is stored in the qinitfile, see qinit data file for more information. Valid values for iqinit are
- 0 = No perturbation specified
- 1 = Perturbation to depth h
- 2 = Perturbation to x-momentum hu
- 3 = Perturbation to y-momentum hv
- 4 = Perturbation to surface level
qinitfiles should be a list of the form [] or [file1info] where each element (currently at most 1 is allowed!) is itself a list of the form
[minlevel, maxlevel, fname]
with values
minlevel : integer
the minimum refinement level that should be enforced in the region covered by this grid.maxlevel : integer
the maximum refinement level that should be allowed in the region covered by this grid.fname : string
the name of the qinitdata file. See Topography data for information about the format of data in this file.
See qinit data file for more details about the format.
Note: this should become a more general AMR parameter.
regions should be a list of the form [region1info, region2info, etc.] where each element is itself a list of the form
[minlevel, maxlevel, t1, t2, x1, x2, y1, y2]
with values
minlevel : integer
the minimum refinement level that should be enforced in the region covered by this grid (for times between t1 and t2).maxlevel : integer
the maximum refinement level that should be allowed in the region covered by this grid (for times between t1 and t2).t1, t2 : floats
the time interval over which refinement should be controlled.x1, x2, y1, y2 : floats
the spacial extent of this region.For more about controlling AMR in various regions, see Specifying AMR regions.
Note: this should become a more general AMR parameter.
gauges should be a list of the form [gauge1info, gauge2info, etc.] where each element is itself a list of the form
[gaugeno, x, y, t1, t2]
with values
gaugeno : integer
the number of this gaugex, y : floats
the location of this gauget1, t2 : floats
the time interval over which gauge data should be output.
For more about gauges, see Gauges.
Note: this might become a more general AMR parameter.
This can be used to specify a set of grids where output should be produced at the specified resolution regardless of how the AMR grids look at each time. Interpolation from the best available grid near each point is used. This is useful for comparing AMR output to results obtained with other codes that use a fixed grid.
fixedgrids should be a list of the form [grid1info, grid2info, etc.] where each element is itself a list of the form
[t1, t2, x1, x2, y1, y2, xpoints, ypoints]
with values
t1, t2 : floats
the time interval over which output should be written for this grid.x1, x2, y1, y2 : floats
the spacial extent of this grid.xpoints, ypoints : floats
the number of grid points in the x and y directions (the grid will include x1, x2 and xpoints-2 points in between, for example).