Program: MKLOCSMITH2
mklocsmith.......LOCSMITH main program: location of Earthquakes on grids
call: [exitstatus,loc,mygrid]=mklocsmith(lsopt,statcat,seisdat);
lsopt: (structure)
LOCSMITH options structure as returned by MKLSOPT
statcat: (structure)
Optional LSD structure containing Station descriptions
This struct may contain station descriptions
(coordinates) to be used when the SEISDAT structure does
not contain all station information (or no station info
at all)
This might be empty [], then only the station
information from the SEISDAT structure is used.
IMPORTANT:
It is not checked if STATCAT and SEISDAT contain
contradictory informations, e.g. different coordinates
for the same station. If such contradictory data is
given, it is undefined which information is actually
used, and phantastic things may happen!
seisdat: (structure)
LSD structure containing seismic arrival data for a
single event. The structure may optionally contain
station information data.
NOTE: _some_ station information must be given! If
neither STATCAT nor SEISDAT contain station info, the
location cannot be carried out!
result:
exitstatus: (string)
a string denoting the reason why MKLOCSMITH came to a
halt. This string should be considered when evaluating
the output. The follwiong values are possible:
'unexpected': the exit status is initialized with this
value. At any legal exit condition, a new
value should be written into the string.
If this is not the case, the init value
remains, because the stopping of the
routine was indeed due to an unexpected
reason. This should never occur.
'no data': There is no data to evaluate. No grid is
generated and no location produced.
'converged': The grid has reached a resolution
corresponding to lsopt.iter_circmin, i.e. the
desired spatial resolution for the
location has been reached. The routine
quits because the job is done.
'iteration timeout': The maximum number of iterations as
defined in lsopt.iter_max has been
reached. If this occurs, the job is NOT
done and you should probably repeat the
location with a higher iter_max limit.
lsopt.iter_max is intended to be an
emergency brake to avoid infinite
iteration, not a standard tool to finish
the program!
incomp: (numeric array) [counter]
final incompatiblity status as determined by
MKLSGRIDEVALINCOMP.
incomp(1): This value shows how many of the data
are not compatible with the returned solution.
0: all data compatible. congratulations, you have located
the quake!
>0: a number of INCOMP data values is not compatible with
the observations. You should look into MYGRID and
into the data to find out the reason (outlier data,
wrong velocity model or other problems)
Running MKLOCSMITH at higher verbosity (level 4 or higher)
will give hints which data are not compatible.
incomp(2): This is just the total number of data against
which the nodes were checked. You need this to
find out how severe the incompatibility really is.
loc: (structure)
This structure contains the 4D coordinates of those node
which fit the data best. The details of the structure depend
on grid type, see MKLSGRIDEXTRACTLOC for details.
mygrid: (structure array)
The search grid as it is at the end of the location
process. This is a LOCSMITH search grid structure as
returned by MKLSGRIDNEW.
MKLOCSMITH is the main routine of the LOCSMITH package. This routine is
the one called by the user in order to locate a quake. It drives the
construction and subsequent modifcation of the search grid and the
evaluation of the seismoligcal data on this grid.
Martin Knapmeyer, 03.02.2005
Read M-File Source Code
eof.