The most important variable in the parameter file is the one called travel_time_calculator. The last two lines in the typedef for the Phase_handle object are a C construct for a pointer to an external function. Internally when genloc initializes it resolves these pointers to a particular travel time calculator defined by a keyword it gets from the travel_time_calculator parameter. At the time of this writing the acceptable names associated with the travel_time_calculator parameter are: general, ttlvz, and "uniform table interpolation". ttlvz and uniform interpolation are in the process of being phased out (see genloc_ttinterface(3) for more details on these calculators). The preferred approach for the future is to use the "general" interface which uses the generic interface described in the antelope man pages under tt(3). The example above uses this interface. The TTmethod and TTmodel parameters define the method and model parameters passed to the generic tt interface. The example above looks in a velocity model database (see velocity model schema document. ) for a model named "kyrghyz" and says to use the method called "tt1dcvl" (a simple 1d, flat-earth, travel time calculator implemented through the generic travel time interface -- functionally the same as ttlvz).
Distance weighting is controlled by the time_distance_weight_function, ux_distance_weight_function, and uy_distance_weight function definitions. When distance weight is turned on in these define ordered pairs of (distance (degrees), weight) values that define a continuous distance weighting function by linear fits between the given node point. The example above for time uses a weight of 1.0 to a distance of 2.5 degrees then dropping in two stages to a small value at 5 degrees, then falling to 0 beyond 92 degrees. The ux and uy weight functions are for array slowness vector measurements. In this example, they are null. When any of the distance weight function tables are empty genloc defaults to a weight of 1.0 for all distances (effectively turning distance weighting off for that particular phase). Note that genloc ALWAYS uses vector components ux,uy to specify slowness vector data. Normally one should assume the same weight function should be used for both components, but this is generalized here to be different if desired.
The default_time_uncertainty and default_slowness_uncertainty map directly into the deltat0 and deltau0 entries in the phase handle object. As described in the man pages for genloc arrival time and slowness vector weighting always turned on. If the deltim, delslo, and delaz fields in the arrival table are filled in these are used to weight each measurement by the reciprocal of that number. If a field is null these parameters set the default value of uncertainty for this phase for time and slowness vector data respectively.
The dt_bound_factor and du_bound_factor are used
in a model error bound calculator computed by genloc. See the genloc
man pages for more information on this. Most people will likely not
want to change these.
P &Arr{
-- as in example above --
}
S &Arr{
-- as in example above --
}
Pn &Arr{
-- as in example above --
}
S-P &Arr{
-- as in example above --
}
}
There is one feature here that requires a separate discussion.
One of the phase handles listed above has the tag "S-P". The genloc
library now accepts "minus" phases and automatically forces processing
in this form in certain circumstances. S-P is the type example of
a minus phase where the raw arrival times are replaced by the difference
in arrival time of the two phases. They are most valuable when dealing
with data containing timing problems since the differencing removes the
dependence upon the origin time. It is possible to use only
minus times for a list of stations or have the feature automatically implemented
using a database table called "timing. See the man pages on
genloc for more details on this feature.