FOCMEC package update history

Earlier versions of this software package could be built and run on IBM/CMS, PDP/RSX, VAX/VMS, Sun snuos, Sun Solaris, and Windows 98. The current version has been tested on Linux, and Mac OS X (i686). The programs are written in Fortran 77 and compile successfully using gfortran, g77, and Sun's f77. Two programs written in C (gcc) transform graphics plot files from the Sac Graphics Format (SGF) to postscript (sgftops) and swap the byte order of the binary SGF files (sgfswap). Unix scripts (csh) are included for displaying plots on the screen and for converting plot files from postscript to EPS or PDF. The plot-conversion scripts require the external program ghostscript. If the user has or prefers a different postscript viewer for displaying plots, it is easy to modify the plot-display script. Except for these plot-conversion scripts, X-Windows capability is not required by the FOCMEC package.

October 2017 updates:

In December 2013 I modified the procedure for processing S/P amplitude ratio 
  data, so runs made now with the same data sets as used for the earlier 
  versions of the program may have slightly different answers.  The potential 
  effects of this modification on solutions found using earlier versions of the 
  package are discussed in Section 4.3 in the manual.  For the example 
  considered, the modification results in changes in solutions that are 
  non-zero, but not significant.

Other changes for processing ratio data: (1) The input format has been changed 
  so that the VPVS at the source is no longer entered at run time because it is 
  included in the input file. (2)  Previously, if FLAG was N&D, that ratio was 
  simply not counted, now it is treated as an error.  To see why I made this 
  change, if there are 13 ratios with a chosen maximum number of errors of 
  three was set, but there are  eight N&D.   Previously the total would have 
  been decreased to five so there are only two errors and the solution would 
  have been considered acceptable.  Now that same scenario would not accept the 
  solution, which I consider more appropriate. (3) The default for P and S
  radiation-pattern cut-offs has been changed from 0.05/0.15 to 0.1 0.1.  (4) 
  For ratio output in default focmec.out, I no longer have RMS (all) but instead 
  AbsMaxDiff, the absolute value of the maximum ratio-error difference for the 
  acceptable solutions.  I think that a more useful number.  See the manual and 
  examples in sample_events/sakhalin.
  
As of 2017, for the RW option there is no prompt for a lower limit of the 
  radiation pattern.  There is no reason not to have zero be the lower limit.
  Now RW is the default rather than UW, as I think that to be superior (see
  the manual).
  
New program ratplt allows one to plot amplitude-ratio data in a way that show 
  explicitly how well the calculated ratios fit the observed.  An option to 
  plot ratios in program focplt has been deleted because I feel ratplt is a 
  better way to display ratio data.

A new feature in output for program dsretc is the value of Angle.  As
  discussed in Appendix E in the manual, this is useful if one wants to run
  focmec for an input data set to get the focmec statistics for a focal
  mechanism that does not appear naturally in the default focmec grid search. 
  While writing this program, changes were made to  the focmec grid search, but
  only in the way the grid is searched.  Results are unchanged from what would
  have gotten with the earlier versions of the frid search.

Program dsretc input of the A and N trend and plunge might give the wrong answer 
  (reversing T and P).  I deleted that input option.

The updated sgftops does can handle either byte order.

An additional model has been added to the iaspei-tau set: nocrust, which is
  the same as ak135 except that the crustal values have been replaced by the
  values in the uppermost mantle.  This was done because in the solutions for 
  the Sakhalin Island event, the waveforms have a large enough wavelengths that 
  they average over the crustal depths which affects the free-surface 
  correction for ratios.
  
A new program, ratio_prep_1layer, was written to deal with the case of finding 
  focal mechanisms for shallow earthquakes recorded at stations at very small 
  epicentral distances, such as an aftershock study.  It is useful if the focal 
  depths are less than the thickness of the first layer thickness in the 
  velocity model.  It uses plane geometry to find traveltimes and take-off 
  angles, and it assumes the velocities between sea level and the station 
  elevation are the same as the velocity in the surface layer when calculating 
  distances, traveltimes, and the take--off angles.  Because it is not used in 
  the two examples discussed in  detail in the manual, one must go to the source 
  code ./focmec/src/ratio_prep_1layer to learn how to use it.

June 2009: (1)Program sgfswap has been added; it swaps the byte order in the 
  binary .sgf plot files.  (2)The discussion of the Sakhalin Island event 
  example has bee expanded.  Now it shows explicitly how well (in this case) one 
  can do with a sparse broadband network using S polarities and amplitude 
  ratios.  Previously, I showed only that the solution could be improved by 
  adding the BB data to P-wave polarity data.
July 2008:  I have dropped SAC graphics to maximize portability.  
  Furthermore,  the way I had used SAC graphics was through a Fortran
  library last updated prior to 1994 (when SC2000 was introduced) 
  and is specific to only a couple of operating systems (Sun OS and
  some versions of Linux).  What is lost is the ability to edit plots
  online when running program focplt.  One can  still add labels, but
  only through iterations of runs such as those included in the 
  sample_runs sub_directories.  The system has been tested on Mac OS X
  (both PPC and i686), Linux, and Sun Solaris.  Two programs have been
  renamed: fileprep is now ratio_prep and fmecprep is now focmec_prep.
January 6, 2003: Plot files without needing the SAC graphics package:
  I have written and tested (on Sun Solaris only) a modified set of
  subroutines which can produce an SGF-format plot file without using
  the SAC library, and the executables will be more portable as they
  can be built with the -Bstatic switch.  Unlike the SAC routines, one
  gets only a disk file -- no terminal display.  The output file is
  still in the unformatted SGF format, but the conversion programs to
  postscript which are based on sgf2ps.c look like they should not be
  system dependent.  I will try to test this on PC/Linux, but have not
  done it as of this writing.  To use this feature, go to subroutine
  fmplotsub_nosac and enter "make" (no quotes).  To build program focplt,
  go to subdirectory src and enter "clp_nosac focplt" which should create
  a focplt binary and put it in subdirectory bin.  The scripts for running
  focplt must be modified as one is not asked for choices for the plot
  output (screen, named disk file, temp.sgf disk file) as the program is
  hard wired to create a disk file named temp.sgf.  
September 12, 2002:  The comment lines in fmecprep.f implied that files
  were read in the opposite order from the way they are so I fixed that.
  (the first file read in is the output from fileprep, the second is a
  stripped-down Focmec input file.  Also, in the Appendix in 
  focmec_manual.pdf describing the input polarity format, there were 
  questions about the directions which is hopefully cleared up with some 
  rewording.  The biggest problem comes from the fact that "C" stands for 
  "Compression" which means up on the vertical which in fact corresponds to 
  dilatation at the source.
late July 2002:  I had not paid adequate attention to the problems of
  using SV polarities and amplitudes near or above the critical emergence
  angle.  I have added an appendix in focmec_manual.pdf and put in caveats in
  programs fmecprep and freesurf to address this.  The bottom line is
  that one should use SV near or above the critical angle only with
  great care..
March 2002: Emergent polarity picks can now be used in focmec if the user
  so chooses.  Previously they could only be displayed in focplt plots.
March 2002:  Added an option to program dsretc so that one could use
  moment-tensor input (CMT convention).  It is an adaptation of Bob
  Herrmann's programs mteig and mtdec.  Instead of using Numerical
  Recipes subroutine, I used the original EISPACK versions..
September 2001:  Using Microsoft Fortran 4.0 Powerstation, I was able to 
  create the unformatted sequential file iasp91.hed and direct access 
  iasp91.tbl which could then be read by a revised version of fileprepL.f.  
  (I found that the unformatted, sequential access file could be read only 
  by programs built using the same PC compiler as was used to create the 
  file.)  All this was done using Virtual PC v3 on a Mac G4 running OS9.)
August 2001: Alexey A. Lyubushin, Dr.Sci., United Institute of the Physics 
  of the Earth, Russian Academy of Sciences, Moscow, created PC executables 
  of all but the plotting program focplt and program fileprep in the FOCMEC 
  programs.  The programs compiled and ran on both Digital Visual Fortran 
  under MS  Windows-98 and GNU g77 under PC Solaris 5.8.  These have not 
  been exhaustively tested.
April 2000: Replaced the examples from previous versions with two new
  examples: one for a P polarities only from a regionally recorded
  event in eastern Tennessee, and the other for the teleseismically
  recorded 1990 deep-focus Sakhalin Island deep-focus event.  These
  can be found in directory sample_runs.  This was part of a preparation
  of the package to appear as a sub-chapter in the IASPEI centennial
  handbook.
6 October 1985:  For the V and H S/P ratio input lines in
  FOCINP, added the S take-off angle as a separate entry.
  Previously just assumed it to be the same as the P angle.
  This results in a change in the input format so that old
  input files will not work.  The R format (simple SV input)
  remains unchanged.
27 September 1985:  Added a relative weighting option
  for polarities.  If chosen, the total number of error
  is entered as before but as a real variable and a
  threshold weight is asked for.  Each polarity error is
  weighted by the absolute value of the radiation factor
  or the threshold, whichever is larger.
27 JULY 1985:  Added SH polarity.  For the key one enters
  < r > (for left or right respectively) for first motion (back
  to event).  Also, added moment tensor representation to output in
  listing file  (Dziewonski & Woodhouse convention, unit
  scalar moment)
23 October 1984: Added the possibility for using SH
  amplitudes instead of only SV on the vertical.
  Also, if the input line key is V (for SV) or H
  (for SH), the program expects to find a polarity
  for the S and a comment following the log(ratio).
  Entering R for the key will work as before: assumes
  the ratio is for SV on vertical and there is no
  polarity or comment.  The output now includes the
  theoretical S polarity, but it does not use it in
  the search.  Another small change which only acts
  to speed up the search is that for a B axis plunge
  of 90 degrees there is only one trend tried.
  The SH amplitude case has not been checked yet.
  
Arthur Snoke   Virginia Tech