The LSOPT structure contains all control parameters of LOCSMITH the user might want to tune for his or her specific problem. LSOPT controls the grid construction and iteration as well as the mapping of results (via the MAPOPT substructure).
The structure is subdivided into several topics:
Field | Type | Units | Description |
---|---|---|---|
.planet_radius | numeric | km | Radius of the planet. No layer of spherical grids may have points outside this. This is used for spherical grids only. |
.max_depth | numeric | km | Maximum z coordinate of cartesian grids.This is only used for cartesian grids. |
Field | Type | Units | Description |
---|---|---|---|
.grid_type | string | predefined values | defines the type of grid to be used. possible values are: 'cartesian': a simple rectangular x/y/z grid (currently not supported) 'triangular': a triangular grid similar to Buckmister Fuller's domes |
.grid_base | string | predefned values | the basic geometry for triangular grids. These are based
on some polyhedron and the refined recursively. The
starting geometry defines symmetry properties and the point
density that is reached after a given number of iterations.
This is ignored if grid_type is not 'triangle'. possible values are: 'tetrahedron': 4 points in tetrahedron cofniguration 'octahedron': 6 points in octahedron configuration 'icosahedron': 12 points in icosahedron configuration (recommended) |
Field | Type | Units | Description |
---|---|---|---|
.grid_init_minr | number | km | Radius of the inner most grid layer for triangle grids, in km. This is used for initialization only, as the grid will change during adaption. |
.grid_init_maxr | number | km | Radius of the outermost grid layer for triangle grids, in km. This is used for initialization only, as the grid will change during adaption. |
.grid_init_dr: | number | km | initial spacing between layers for triangle grids, in km The outermost layer will have a radius equal to the outermost layer's, and the next deeper layer will be this number of kilometers deeper. |
.grid_init_wdt | number | km | initial node spacing on the outermost layer, in km
The grid on the outermost layer will be iterated until the
average node spacing corresponds to this value. Deeper
layers are then constructed to keep the node density
constant. NOTE that during grid construction, this value overrides the value of iter_circmin. During grid construction, the grid is iterated far enough to make the largest circumcircle in each layer smaller (or equal) to .grid_init_wdt, no matter what the value of iter_circmin is! |
.grid_init_dx | number | km | initial grid spacing in x direction, in km. This defines the x spacing for cartesian grids |
.grid_init_dy | number | km | initial grid spacing in y direction, in km. This defines the y spacing for cartesian grids |
.grid_init_dz | number | km | initial grid spacing in z direction, in km. This defines the z spacing for cartesian grids |
Field | Type | Units | Description |
---|---|---|---|
.iter_matchthresh | number | percent | compatibility threshold: a triangle is included in the
iteration when the compatibility at one of its nodes
exceeds this percentage of the number of available data
(or if it is a neighbour of such a triangle) For example: if iter_matchthresh==75, then only those triangles are iterated that have a node with equal or more than 75% of the current maximum compatibility within the layer. Set this to 0 to get a simple regular sampling of a uniform triangle grid (be careful not to produce too many nodes!) |
.iter_circmin | number | km | minimum circumcircle radius of triangles: if the circumcircle of
a triangle is smaller than this, it will not be iterated any further. NOTE that this value is ignored during the construction of the grid: The initial grid will always have maximum circumcircle radii smaller than grid_init_wdt, even if this means that some triangles become smaller than the iter_circmin limit! |
.iter_drmin | number | km | minimum radius difference between two neigbouring layers.
If the distance between to layers is smaller than this, no
layer will be constructed inbetween. NOTE that this value is ignored during grid construction: the initial grid is constructed with respect to grid_init_minr, grid_init_maxr and grid_init_dr only! |
.iter_max | number | counter | The maximum number of iterations that can be applied to the individual horizontal layers of the grid. This is only an emergency brake to guarantee that the process will come to an end at some time. If the location process stops because of iteration timeout, you should reconsider your settings (and probably increase iter_max or decrease your ideas about spatial resolution!). .iter_max should simply be a not-too-large number, e.g. something like 20. |
.iter_vertical_max | number | counter | The maximum number of iterations that can be applied to determine the vertical coordinate of the location. This is only an emergency brake to guarantee that the process will come to an end at some time. If the location process stops because of iteration timeout, you should reconsider your settings (and probably increase iter_vertical_max or decrease your ideas about spatial resolution!) .iter_vertical_max should simply be a not-too-large number, e.g. something like 20. |
.iter_vertical_matchthresh | number | percent | compatibility threshold: threshold analogous to .iter_matchthresh, but for the iteration of the depth sampling. This is the threshold used by Rule I of the algorithm for the insertion of new depth samples. |
.iter_searchmode | string | predefined values | Search mode defines how to characterize the solution set of the location problem; The following modes are defined: interior: the whole interior of the solution set is returned, discretized at the predefined grid solution boundary: only the boundary of the solution set is discretized at full resolution, it's interior is discretized with a less dense grid. The difference between these modi is best describe with the continents-demo (see MKLSGRIDDEMO routine): in 'interior' mode, the whole land mass is returned, whereas the 'boundary' mode returns coast lines only. |
Field | Type | Units | Description |
---|---|---|---|
.eval_baz | string | predefined values | Flag to switch the evaluation of back azimuth data on or
off. The following values are allowed: 'on': back azimuth data will be evaluated 'off': back azimuth data will NOT be evaluated |
.eval_at | string | predefined values | Flag to switch the evaluation of arrival time data on or
off. The following values are allowed: 'on': arrival time data will be evaluated 'off': arrival time data will NOT be evaluated |
.eval_dt | string | predefined values | Flag to switch the evaluation of arrival time difference data on or
off. The following values are allowed: 'on': arrival time difference data will be evaluated 'off': arrival time difference data will NOT be evaluated |
.eval_emerg | string | predefined values | Flag to switch the evaluation of emergence angle data on or
off. The following values are allowed: 'on': emergence angle data will be evaluated 'off': emergence angle data will NOT be evaluated |
.eval_slo | string | predefined values | Flag to switch the evaluation of slowness data on or
off. The following values are allowed: 'on': slowness data will be evaluated 'off': slowness data will NOT be evaluated |
Field | Type | Units | Description |
---|---|---|---|
.tt_package | (string) | string defining the travel time software package to be used for travekl time computation. Ths string given here will be used to switch between different packages. | |
.tt_options | (undefined struct) | The contents of this field depend on the external travel
time software defined in the .tt_package field. See the
interface routines for more information.
THE OPTIONS RETURNED BY MKLSDEFAULTS ARE VALID FOR THE
TTBOX PACKAGE ONLY. OTHER SOFTWARE MIGHT USE SOMETHING COMPLETELY
DIFFERENT. For use with TTBOX, the following fields are used:
|
Field | Type | Units | Description |
---|---|---|---|
mapopt | struct | (field dependent) | A complete mapopt structure as returned by MKMAPOPT. See the MAPOPT page for description. |
Field | Type | Units | Description |
---|---|---|---|
.verbosity | number | - | Verbosity level. This controls the number of progress messages printed during program run. The higher this number is, the more messages are printed. Set this to zero to run in silence. (some routines always run silent to save time) |
.verbosity_plot_mode | string | - | Control plot verbosity level. Some routines can produce
control plots according to the plot mode defined here.
Thsi must be a string parameter that is accepted by the
MKLSGRIDPLOT routine. Control plots are drawn into the current figure. 'none': no plot is produced. |
.verbosity_plot_fig | number | - | handle to the figure in which verbosity plots are made. The figure is made active using figure(lsopt.verbosity_plot_fig); |