FOCMEC package update historyEarlier 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 |