Last modified 14 years ago Last modified on 02/05/2009 09:59:49 AM

Menu entry LocSAT

Interface to the location program of Steve Bratt and Walter Nagy. This program is not part of the distribution of SH/SHM. It must be copied and installed separately. The code is a mixture of Fortran and C. For some platforms executable version are available on our ftp server. Calling this entry writes all phases which are picked and have a quality factor (see phase dialog box) of at least 2 (!) into a scratch file which is passed to LocSAT and run. The output of LocSAT is displayed in a text window and the location results also read into SHM. If the location program does not work, please check first the quality factor of your phases.

General usage

The dialog box of LocSAT has the following options:

  • Depth: If the value is set to free the location algorithm inverts also for depth. This can cause instabilities. Fixing it to a value sometimes improves the location, if the depth can be guessed. But fixing to a completely wrong value also makes the inversion instable (and makes the location bad).
  • Auto start loc: A value of yes causes LocSAT to compute a starting location by itself, no means LocSAT takes the closest station as the starting location.
  • Table prefix: Prefix of the travel time tables used for the inversion. The tables are located in $SH_LOCSAT/tables (LocSAT does not use the travel time tables of SH/SHM). The tables with the prefix tab are created with the IASP91 velocity model. Provide your own tables with another prefix, then you may switch between the tables.
  • Deg. of freedom: Degrees of freedom. I don't really know ...
  • Max iterations: Maximum number of iterations. After this number of iterations the location algorithm is stopped, it does not converge, at least not fast enough.
  • Brief output: Tells whether the output file of LocSAT should be shown as original (no, rather lengthy) or should be reduced to the most important results (yes).

Installation of the LocSAT tar file has to be done in $SH_UTIL:

tar xvf <locsat-tarfile>

A man page of LocSAT itself is then found in $SH_UTIL/locsat/doc/man/man1. To read it enter in a C-shell:

setenv MANPATH ${MANPATH}:$SH_UTIL/locsat/doc/man
man LocSAT


What happens is:

  • SHM writes three files in $SH_SCRATCH: locsat_c.txt with control information, locsat_s.txt with station information and locsat_d.txt with phase readings.
  • It calls the command (in $SH_SCRATCH):
    $SH_UTIL/LocSAT -c locsat_c.txt -s locsat_s.txt -d locsat_d.txt -o locsat_r.txt
    which creates the output file locsat_r.txt. All these files remain on $SH_SCRATCH until they are overwritten by the next call to LocSAT. There they may be examined to find any errors in processing.
  • The output file locsat_r.txt is reformatted to locsat_edit.txt if not switched off in the LocSAT dialog box (option brief output).
  • locsat_edit.txt or (locsat_r.txt) is displayed on screen and the location results put to the analysis parameter box.

Please note a bug in LocSAT: if the path to the travel time table files (given as $SH_LOCSAT in $SH_ROOT/setup/shsetup) is too long (more than 22 characters) the program crashes. If your path is longer then you have to use a link to your LocSAT tables directory which is shorter and 22 characters. This link you have to specify in the definition of $SH_LOCSAT in $SH_ROOT/setup/shsetup. Do not change the definition of $SH_LOCSAT_EXEC.

back to documentation index