LSOPT structure

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:

Planet Description
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.
Grid Geometry
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)
Initial Properties of Grid
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
Iteration Control
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.
Evaluation Method Control
Field Type Units Description
.eval_baz stringpredefined 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 stringpredefined 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 stringpredefined 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 stringpredefined 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 stringpredefined 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
Travel Time Computation
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:
.tt_options.model
(strcuture) TTBOX CLR structure defining the iasp91 model
.tt_options.interpdz
(number) depth interpolation stepwidth used by MKCLR2MODEL
.tt_options.interpmode
(string) depth interpolation mode used by MKCLR2MODEL
Mapping Options
Field Type Units Description
mapopt struct (field dependent) A complete mapopt structure as returned by MKMAPOPT. See the MAPOPT page for description.
Verbosity
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);

eof.