Berkeley Automatic Seismic Moment Tensor Code
Release 1.0
By
Douglas S. Dreger
February 4, 2000
Time Domain Moment Tensor Inverse Program
Introduction
This package includes source code for the time domain, deviatoric moment tensor inverse program, tdmt_invc, supporting code and UNIX shell scripts. To use this package you must have 'Numerical Recipes for C' installed on your computer. The path to the nrcv2.a library will need to be changed in the makefile. Additionally, the data processing scripts make use of the Seismic Analysis Code (SAC) and will need to be available on the system.
To build the software use the command ‘make all’
from both the MTCODE and the FKRPROG subdirectories.
After the build, all of the executables are located
in the ./MTCODE/BIN subdirectory. The README file in that directory identifies
shell scripts that CANNOT be rebuilt
if removed.
The software in this package performs a time domain
inversion of three-component seismic data for the seismic moment tensor. It is
possible to obtain the seismic moment tensor using a single three-component
station with this code, however the use of several three-component stations
provides greater stability. Included
with the inverse program is a method of triggering processing from email event
messages, a wrapper program that controls automatic operation, and individual
supporting code and UNIX shell scripts that process the data and the Green’s
functions. This code has been optimized for speed and the typical processing
time of three, three-component stations is 10s on a SUN Ultra 1 (200 MHz)
workstation. To develop the basis Green’s functions used by the inversion
program a frequency wave-number integration code developed by Chandan Saikia
(Saikia et al., 1994) is included with permission.
Finally, this software is freely distributed for
non-commercial use. The reporting of seismic moment tensor solutions obtained
using this software on the WWW and in the technical literature should include
the following acknowledgement statement. “Moment tensors were computed using
the tdmt-invc package developed by Douglas Dreger of the Berkeley Seismological
Laboratory, and Green’s functions were computed using the FKRPROG software
developed by Chandan Saikia with URS Granger, Woodward Clyde Federal Services.”
The general representation of seismic sources is
simplified by considering both a spatial and temporal point-source.
![]()
Un, is the observed nth component of
displacement, Gni,j is the nth component Green’s
function for specific force-couple orientations, and Mij is
the scalar seismic moment tensor, which describes the strength of the
force-couples. The general force-couples for a deviatoric moment tensor may be
represented by three fundamental-faults, namely a vertical strike-slip, a
vertical dip-slip, and a 450 dip-slip.
The temporal behavior is carried in the Green’s
function, x represents the source-station distance, and z is the
source depth. The indices i and j refer to geographical directions. The
above equation is solved using linear least squares for a given source depth.
The inversion yields the Mij which is decomposed into the
scalar seismic moment, a double-couple moment tensor and a compensated linear
vector dipole moment tensor. The double-couple is further represented in terms
of the strike, rake and dip of the two nodal planes. The basic methodology and
the decomposition of the seismic moment tensor is described in Jost and
Herrmann (1989).
Source depth is found iteratively by finding the
solution that yields the largest variance reduction,
,
where data, and synth are the discrete data and Green’s function time series,
respectively, and the summation is performed for all stations and components.
It is assumed that the event location is well
represented by the high frequency hypocentral location. A low frequency
centroid location is not determined. Second, the simplified representation
above assumes that the source time history is synchronous for all of the moment
tensor elements and that it may be approximated by a delta function. These
assumptions are generally reasonable for Mw<7.5 events since long
period waves (>10-20s) are used. It is noted however, that for larger events
these point-source assumptions break down for the period range employed and
alternative finite fault approaches (e.g. Dreger and Kaverina, 2000) or longer
period waves and larger source-station distances (e.g. Fukuyama and Dreger,
1999) are required.
In addition, it is assumed that the crustal model is
sufficiently well known to explain low frequency wave propagation. In
California, we have found that two 1D velocity models are adequate for the
recovery of the seismic moment tensor (Pasyanos et al., 1996). Different
monitoring regions may require fewer or more crustal velocity models and the
corresponding Green’s function catalogs.
Crustal velocity models that are sufficient for moment tensor analysis
may be derived from models used to locate earthquakes, or by modeling of the
broadband seismograms (e.g. Dreger and Helmberger, 1990, 1993; Dreger and
Romanowicz, 1994; Rodgers et al., 1999;
Zhao and Helmberger, 1991; Song et al., 1996). Two- and three-dimensional
models may be used provided that the codes used to synthesize the Green’s
functions produces the full compliment of fundamental-fault responses.
The runtime properties of the software are
controlled by the “tdmt.config” configuration file, located in the MTCODE
subdirectory. At runtime this file must be ‘sourced’ to set environment
variables that define the locations of executables, supporting files, and runtime
parameters. Each of the environment
variables are described below,
setenv REDI_MT_BINDIR sets the executable directory
setenv REDI_MT_PROG_1 defines the launching program
setenv REDI_MT_DATDIR sets the directory where individual event working directories are created
setenv REDI_MT_LOGDIR sets the directory where results are logged.
setenv REDI_MT_SYNTHDIR sets the directory where Green’s functions are located
setenv REDI_MT_EXTRACT_OPTIONS defines runtime flags for qdata data extraction program
setenv REDI_MT_DEBUG_OPTION turns on debugging output (not used in this subset of software)
setenv REDI_MT_STATLIST defines the station coordinate file
setenv REDI_MT_RESP defines the instrument response (pole-zero file)
setenv REDI_MT_DATASTREAM defines data stream to be used (BH and LH streams are supported in this release)
setenv REDI_MT_PLOT flag for plot output (1=yes; 0=no)
# Program specific variables
setenv REDI_MT_PROG1_PAGE flag for paging results (1=yes; 0=no)
setenv REDI_MT_PROG1_GFLOC sets the directory where Green’s functions are located (same as REDI_MT_SYNTHDIR)
setenv REDI_MT_PROG1_STATMAX number of REDI approved stations
`
setenv REDI_MT_PROG1_GETLIST list of REDI approved stations (stations not on this list will not be processed, may include stations that are not moment tensor processing approved)
setenv REDI_MT_PROG1_NSTAT number of moment tensor approved stations
setenv REDI_MT_PROG1_STATLIST list of moment tensor approved stations
Note that the REDI_MT_STATLIST and
REDI_MT_PROG1_STATLIST environment variables are extremely important in
defining the subset of available stations to use in the automatic inversion.
The first environment variable defines the path to a file that contains a list
of operational stations (and their location coordinates). By removing a
problematic station from the station list the station is effectively removed
from all seismic moment tensor processing. Although a station is operational,
and included on the REDI_MT_STATLIST, it may not be suitable for moment tensor
analysis. For example, stations that are located inside of buildings, have
substantial site response, or whose source-station paths have complex local and
regional structure may not perform well using 1D velocity model Green’s
functions. Therefore a second environment variable, REDI_MT_PROG1_STATLIST, is
used to define those stations that perform well under the assumptions of the
methodology. In sum, REDI_MT_STATLIST is used for the extraction of data and
preprocessing to the SAC format. Only stations on the REDI_MT_PROG1_STATLIST
qualify for subsequent processing and are used by the inversion routine.
Finally, it is noted that it is assumed that the
pole-zero responses in the REDI_MT_RESP file produce ground velocity in m/s.
Subsequent processing produces ground displacement in cm.
Figure 1 illustrates the program flow. The UNIX cron
function is used to read mail every 3 minutes and stuff event email messages in
the ‘tdmt.msgs’ file. The script that oversees this is tdmt_trigger, which
contains fixed path names that will need to be changed. An example of the crontab function is below:
0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57 * * * * /data/10/dreger/AUTOMT/tdmt_trigger 1>/data/10/dreger/AUTOMT/NEWEVENT/trig.msgs 2>&1
The program, tdmt_msgs_scan, scans the email
messages for a specific sender (redi in our case) and retrieves the event
information and creates an event file in the staging subdirectory, GUIDE. If
files are present in GUIDE a new event directory is created and a moment tensor
input file (tdmt_redi_sched.in) is copied. Subsequently, tdmt_redi_sched is
launched.
tdmt_redi_sched reads tdmt_redi_sched.in and is the
main scheduling program that executes a series of codes and shell scripts to
retrieve waveform data, process the data, retrieve Green's functions, execute
the moment tensor routine, iterate over source depth, create a solution file,
and disseminate the information. The following is an example of a
tdmt_redi_sched.in file.
tdmt.config 1995 050 04 03 0.0 40.547 -125.826 2.000000 4.900000 1222
The first field is the name of the run-time configuration file, the year, julian day, hour, minute, and second of the event, the latitude, longitude, hypocentral source depth, magnitude, and an event id number. The origin time only needs to be approximate as the data are optimally aligned with the Green’s functions using a cross-correlation function. In practice the origin time is truncated to the preceding minute (seconds field is always zero).
tdmt_redi_sched.c will need to be modified for specific monitoring situations, different crustal velocity models, different frequency passbands and changes to the Green’s function distance and depth ranges. It is this program that will require the most significant modification for your particular monitoring situation.
The tdmt_redi_getdata shell script is the first
algorithm executed by tdmt_redi_sched, and will need to be modified for the
specific data retrieval method used on your system. In our application we retrieve data in miniseed format and use
the ms2sac program to translate miniseed to SAC. All of the subsequent
processing is done using SAC.
tdmt_redi_prepdata is a shell script that removes
the instrument response, integrates to ground displacement (cm), applies a
bandpass filter, and resamples to 1 sps. All data processing is accomplished
using SAC.
tdmt_redi_prepsyn is a shell script that uncompresses Green's functions files for the
relevant source-station distances, and all source depths into the event
subdirectory. You may use multiple velocity models that are regionally defined
(see tdmt_redi_sched.c). The code is currently designed to use the sc and gil7_
velocity models that are provided in the LP10SYN (0.02 to 0.10 Hz), LP20SYN
(0.02 to 0.05 Hz) and LP5020SYN (0.02 to 0.05 Hz) subdirectories. The addition
of new velocity models will require modification of the tdmt_redi_sched
program, and the computation of new Green's functions (described in a later
section).

Figure 1. Automated moment tensor program flow.
Time Domain Moment Tensor Code (tdmt_invc)
Usage: tdmt_invc > plot
tdmt_invc has a single input file, mt_inv.in, which
defines the inversion parameters and the filenames of input data and Green’s
functions. There is a single ascii output file (mt_inv_redi.out), which logs
inversion results, and a plot output file (plot, viewed in a xterm –t window
using ‘tkx < plot’ or translated to postscript using the ‘psigl < plot
> plot.ps’ commands). The tkx and psigl programs are included in the
software package.
The mt_inv.in file is created automatically for each
source depth that is tested. The following is an example of the mt_inv.in input
file:
3 39 1 0
ORV_f0.05.data 385.3 105.2 0 120
WDC_f0.05.data 278.4 88.2 0 120
gil7_385d39 0 120
gil7_280d39 0 120
gil7_295d39 0 120
The first line describes the number of stations used in the inversion, the source depth (just for plotting purposes), a flag controlling relative distance weighting (1=on 0=off), and a flag for plotting (1=on 0=off). The distance weighting flag is typically set to ‘on’ to balance the data-synthetic variance for stations spanning a large range of source-station distance (it is recommended that you always have it set to ‘on’). The plotting flag is set to ‘off’ to reduce processing time and disk storage requirements. Lines 2-4 list the data files (three-component ascii files), the source-station distance (km), source-station azimuth (degrees), zero-offset (number of samples to shift data to align with the synthetics), and the number of samples to use in the inversion. The processed data is resampled to 1 sps so two minutes of data is actually inverted. Note that the tdmt_redi_prepdata script requires 5 minutes of raw data to resolve the low frequency ground motions. Lines 5-7 list the Green’s function files for each respective station, the zero shift, and the number of samples to use in the inversion. As the code is presently configured, depending upon location in California (see tdmt_redi_sched) either a gil7_ or sc Green’s function will be used. The number after the model designator in the Green’s function filename is distance (km). Available Green’s functions cover a range of 30 to 400 km. The number after the d in the Green’s function filename is the source depth (km). The deepest depth is 39 km. It is possible to expand the distance and depth range of the Green’s functions by modifying the tdmt_redi_sched.c routine, and computing the filtered Green’s functions (described in a later section).
As few as one station may be used and a single
station is often sufficient to retrieve the source parameters. The automated
code is configured to find the three closest stations in the distance range
from 30 to 400 km. The code can accommodate any number of stations, and the choice
to use the three closest results from a desire to incorporate sufficient
information for a stable inversion and to minimize event processing time.
Robust automatic solutions are often obtained, however it is the practice of the Berkeley Seismological Laboratory to review all solutions before disseminating the results To review a solution a plot must be created. The pager.file in the event subdirectory contains the solution which resulted in the largest variance reduction. The following is an example pager.file,
REDIMT:1222
6.6 19950219040300 40.55 -125.83 2.0 7.94E+25 122,170,81 213,9,80 21 VR85.1
The file contains a program identifier (REDIMT:), the event id number, the moment magnitude, the date string, latitude, longitue, hypocentral depth, scalar seismic moment (dyne cm), strike, rake and dip for the two nodal planes, the source depth determined by the inversion and the variance reduction.
To create the plot change all of the source depth fields in the mt_inv.in file (line 1, and all of the Green’s function filenames) to the moment tensor depth in pager.file. Change the plot flag to 1, and manually run the program (tdmt_invc > plot) to produce the “plot” file. This file may be viewed in a tektronix window (xterm –t) or as a postscript file using the tkx or psigl programs described above. The plot file shows the variance reduction for each station, and is used to determine if any of the stations are fitting poorly. If there is a poorly fitted station the fastest thing to do is remove it and see if the overall variance reduction of the solution is high with the remaining stations. One can also manually adjust the zero shift parameter to see if there is a value that increase the fit for a given station. At run-time if the zero shift in mt_inv.in on the data lines is equal to zero a cross-correlation is performed and the optimal zero shift parameters are determined based on the fundamental-fault Green’s functions that are used in the cross-correlation. The zero shift (Zcor) is written to stdout,
Station(0): ORV_f0.05.data R=385.3km AZI=105.2 W=1.384 Zcor=69
Station(1): WDC_f0.05.data R=278.4km AZI=88.2 W=1.000 Zcor=56
Station(2): YBH_f0.05.data R=292.9km AZI=62.3 W=1.052 Zcor=55
The zero shift (Zcor) is adjusted by trial and error to examine if there is a nearby value that provides a greater level of fit. Typically the value returned by the code is the optimal value, however there are some cases where the cross-correlation fails due to high noise levels in the data. Even with low noise data it is useful to perform this test because the cross-correlation to obtain the zero shift is done using fundamental-fault Green’s functions and if the actual focal mechanism is very different the zero shift that is returned may be slightly off.
Figure 2 compares inversion results obtained automatically for a Mw6.6 west of the Mendocino, CA. coast, with a reviewed solution. By trial and error a trivially better solution is obtained by shifting the YBH station by 1 sample.

Figure
2. Examples of the plot output from tdmt_invc for the automatic inversion (a),
and a reviewed inversion (b). In addition to a comparison of data (solid) and
synthetics (dashed), the output file provides information on the strike, rake,
dip for the two best double-couples, the scalar seismic moment (dyne-cm), the
percent double-couple (DC), percent CLVD, the variance, the variance reduction,
and the variance divided by the percent double-couple. This plot file may be
viewed on a xterm –t (Tektronix window) using the tkx command or translated to
postscript for plotting, using psigl < plot.output > postscript. The tkx
and psigl programs are included with this release.
The data for a Mw6.6 Mendocino event, and a Mw5.1 earthquake near San Juan Bautista are provided in the MENDOEXAMPLE and the SJBEXAMPLE subdirectories. Each directory contains the tdmt_redi_sched.in file. To reproduce the results shown in this guide you must first set the environment (“source../MTCODE/tdmt.config”). Launching the $REDI_MT_BIN/tdmt_redi_sched program from each directory will reproduce the automatic results. Because the data in the two directories is already in SAC format the tdmt_redi_getdata shell script has been disabled by capitalizing the first letter of the shell script name. Figure 3 is an example of the reviewed solution for the San Juan Bautista event.
To gain proficiency in the using tdmt_invc adjust the zero shift, and source depth of the synthetics to improve the fit to the data. Try to obtain the solution shown in Figure 3. Note that the solution in Figure 3 includes the CMB station and uses two different frequency passbands. The closest station, MHC, is better modeled with the 0.02 to 0.10 Hz passband, while the other stations are filtered using 0.01 to 0.05 Hz corner frequencies. The tdmt_redi_sched.msgssave file in the SJBAUTISTA directory is a typescript of the stdout and stderr output of the code, and documents the specific command strings for each of the system calls executed by tdmt_redi_sched. This file contains commands that you will find useful in manually adjusting a solution, which include the following;
$REDI_MT_BIN/tdmt_redi_prepdata 19980812141000 CMB 1998 224 36.75 -121.46 0.01 0.05
This command is used to process the CMB station data. The command line includes the date string, the station name, the year, the day of the year, the event latitude and longitude and the low and high filter corner frequencies. When you run this command manually make a note of the azimuth and distance that are output to the screen.
$REDI_MT_BIN /tdmt_redi_prepsyn gil7_ 170 0.01 0.05
This command uncompresses the gil7_ synthetics for a distance of 170 km (appropriate for station CMB) for the filter passband of 0.01 to 0.05 Hz into the working directory.
To reprocess the MHC data for a passband of 0.02 to 0.10 Hz apply the tdmt_redi_prepdata and tdmt_redi_prepsyn commands. tdmt_redi_prepdata will create a new data file, MHC_f0.10.data, and tdmt_redi_prepsyn will overwrite the Green’s function files.
Finally, edit the mt_inv.in file to add the CMB station, change the MHC data filename, and adjust the source depth and zero shift parameters.

Figure 3. Example of a reviewed solution for the
August 12, 1998 San Juan Bautista event (MW5.1). Stations JRSC, CMB
and PKD were bandpass filtered between 0.01 to 0.05 Hz, and station MHC was
filtered between 0.02 to 0.10 Hz. See Figure 2 for a description of the figure.
Computation of Green’s Functions – FKRPROG
Green’s functions for three filter passbands (0.02-0.10, 0.02-0.05, 0.01-0.05 Hz) for two velocity models (sc, gil7) are provided with this release. These Green’s functions are for the one-dimensional models shown in Figure 4, and have been found to be effective in California (e.g. Dreger and Romanowicz, 1994; Pasyanos et al., 1996). For different regions it will be necessary to compute a catalog of Green’s functions for an appropriate 1D model. Typically 1D velocity models used to locate earthquakes are a good starting point, but it may be necessary to use broadband modeling techniques (e.g. Helmberger and Engen, 1980; Dreger and Helmberger, 1990, 1993; Rodgers et al., 1999; Zhao and Helmberger, 1991; Song et al., 1996) to derive a set of calibrated Green’s functions.
The frequency-wavenumber integration code (FKRPROG) developed by Chandan Saikia (Saikia, 1994) is used to compute the Green’s functions. This code computes responses for the three fundamental fault orientations for P, SV and SH waves.
Usage: FKRPROG < MODEL >& msgs
MODEL defines the crustal velocity model, the number of stations and the source-station distances. The following is a description of the velocity model provided in the FKRPROG subdirectory (MODEL.jbe).
.F.
0
64
GREEN.X
4.0
8.00 X 2048 4096 0.100
6 Y
1
1 1 1 1 1
1 1 1 1 0
0.1000E+01 0.4000E+01 0.2250E+01 0.2140E+01 600.00
300.00
0.5000E+01 0.5500E+01 0.3090E+01
0.2560E+01 600.00 300.00
0.0200E+02 0.6600E+01 0.3700E+01
0.2870E+01 600.00 300.00
0.1400E+02 0.6600E+01 0.3700E+01
0.2870E+01 600.00 300.00
0.1300E+02 0.7090E+01 0.3980E+01 0.3000E+01 600.00
300.00
0.4000E+03 0.8100E+01 0.4550E+01
0.3290E+01 600.00 300.00
4
0.4000000E+03 1.500000E+00 0
75
10000.0 30.0 1.9 1.7
30.00 0.0 8.0
etc. (74 lines follow in the actual file)
Very important note. FKRPROG expects formatted input. Be careful not to change the column location of each field. Integer input is right justified, and floating point input should retain the position of the decimal. Before modifying the example model file, MODEL.jbe, make a backup copy to use as a format reference.
The first line is a debugging flag. Keep it set to “.F.”. The second line specifies the frequency range for debugging, do not change. GREEN.X is the name of the output file. The fourth line specifies alpha (small complex number for integration stability), source depth (km), the starting frequency indice (X), the total number of frequencies (a power of two), the total number of time points (2 times the number of frequencies), the sample rate (seconds), the total number of layers, and the number of processors the code will be run on (Y). The values of X and Y are set by the preprocessing script, run_parallel (usage is described below).
Line 5 of the example is a series of flags that turns on the various fundamental fault calculations. Do not change this line. Lines 6-11 of the example list the model parameters, layer thickness (km), p-velocity (km/s), s-velocity (km/s), density (g/cc), Q-alpha, Q-beta. Note that the source must be located at an artificial boundary where the velocities above and below are the same (layers 3 and 4 , lines 8 and 9, in the example). Line 12 gives the layer number below the source. Line 13 does not need to be changed. Line 14 specifies the number of stations to calculate (75), and the phase velocity window of the integration. There is no need to change the phase velocity values 10000.0 and 30.0 (km/s), but you will want to be sure that the other two are less than the Rayleigh wave velocity of the model. The lines that follow define the distance to the station, a delay time (not currently implemented), and a reduction velocity. It is recommended that you keep the reduction velocity set to 8 km/s. Green’s functions produced by the code with these settings will begin at t=distance/(reduction velocity). The file as it is currently set up will generate Green’s function responses for stations located at distances between 30 to 400 km. Note that each calculation is for all stations, but for a single source depth. It will be necessary to rerun the model for each source depth that will be used in the inversion. To do this you will need to change the source depth field on line 3, the layer thicknesses (be careful to keep the interfaces at the correct depths), and the line that gives the number of the layer below the source (line 12 in the example).
Before running the program you must decide how many processors you will use (the maximum is currently 4). To run on a single processor workstation use:
run_parallel 1 MODELfile <Creates a single file MODEL1>
FKRPROG < MODEL1 >& msgs1 &
To run on four processors;
run_parallel 4 MODELfile <Creates four files, MODEL[1-4]>
foreach n (1 2 3 4)
FKRPROG < MODEL{$n} >& msgs{$n} &
end
Important note. FKRPROG has restart capability. You must therefore remove the output files from previous runs before performing the next calculation. For a single processor you must remove the GREEN.1 file, and for four processors you need to remove the GREEN.[1-4] files.
The GREEN.X output files contain complex synthetic spectra for all fundamental source orientations, and stations. Run the wvint9 program to perform the inverse FFT, and specify that you want displacement output when prompted. wvint9 will create a new binary file called “vec” containing the time domain Green’s functions for all stations and fundamental fault orientations. Finally, run the run_fkrsort script to create the displacement Green’s functions that will be filtered according to the desired passbands. The run_fkrsort script packs the FKRPROG output into ascii Green’s function files in tss, tds, rss, rds, rdd, zss, zds, zdd order. tss is defined as the transverse vertical strike-slip fault Green’s function, tds is the transverse vertical dip-slip Green’s function, and rdd is th 450 dip-slip Green’s function, etc. (see Jost and Herrmann, 1989). Running the scripts as is will generate files named jbe{dist}d{depth}.disp.Z. The jbe velocity model is shown in Figure 4 and is an alternative model for the Cascade region developed by Jochen Braunmiller (personal communication, 1999).

Figure 4. The SC (southern California & Sierra Nevada, Dreger and
Helmberger, 1993), GIL7 (central Coast Ranges, San Joaquin Valley, and Mendocino,
Dreger and Romanowicz, 1994), and JBE (Cascade Range, Jochen Braunmiller,
personal communication, 1999).
The final step in preparing new Green’s functions is to batch process the displacement Green’s functions by performing zero-phase, butterworth, bandpass filters using SAC (the same filter applied to the data in the tdmt_redi_prepdata script). To do this modify the distance and depth loops, compile and execute the filter.c program, which calls the run_filter script. These programs require that the tmp10s, tmp20s, and tmp10020s subdirectories are present in the working directory. I have setup filter.c to filter the Green’s functions for the three passbands, over the 30-400 km distance range, and for source depths of 5 and 8 km. When developing Green’s functions for your region of interest, it is recommended that you first compute the full suite of the broadband displacement Green’s functions, and back them up (as the processing time is not trivial). Then once the complete suite of displacement Green’s functions is available, modify the filter.c program to operate over the whole range. Note that you will need to pay special attention to the depth loop in filter.c as for a given model some of the regular depths (5, 8, 11, 14, 17, 21, 24, 27, 30, 33, 36, 39) will not be available due to a velocity model contrast at that depth. This is why model sc has a source depth of 17 km, while gil7_ has a source depth of 18 km. In retrospect I should have computed the GIL7 synthetics for a depth of 17.1 km and just called them 17 km, and I recommend that you address such issues in this way. Otherwise multiple velocity models with different source depth ranges can make for some messy code in the scheduling program (see tdmt_redi_sched.c). As a final note, the filter.c program calls the run_filter script, which executes a number of programs including SAC. If you change the number of points in a Green’s function calculation or the sample rate you will need to change those parameters in the run_filter script and the b2s.par SAC header parameter file used by bin2sac.c. b2s.par must be in the working directory. I recommend that you do not change the number of time points (or frequencies) and the sample rate in the calculations. The parameters as they are defined result in stable Green’s functions.
Closing Remarks
This software will be updated shortly to include automatic switching between weak motion (BH and LH) and strong motion (HL) data streams.
Send bug reports and other inquiries to dreger@seismo.berkeley.edu .
Please add the following acknowledgement to any WWW or technical journal publications that use moment tensor results obtained using this software. “Moment tensors were computed using the tdmt-invc package developed by Douglas Dreger of the Berkeley Seismological Laboratory, and Green’s functions were computed using the FKRPROG software developed by Chandan Saikia with URS Granger, Woodward Clyde Federal Services.”
References and supplemental reading
Dreger, D. S., and D. V. Helmberger (1990). Broadband Modeling of Local Earthquakes, Bull. Seism. Soc. Am., 80 1162-1179.
Dreger, D. S., and D. V. Helmberger (1993), Determination of Source Parameters at Regional Distances with Single Station or Sparse Network Data, Journ. Geophys. Res., 98, 8107-8125.
Dreger, D. and B. Romanowicz (1994). Source Characteristics of Events in the San Francisco Bay Region, USGS Open-file report, 94-176, 301-309.
Dreger, D. S., and A. Kaverina (2000). Seismic remote sensing for the earthquake source process and near-source strong shaking: A case study of the October 16, 1999 Hector Mine earthquake, in revision Geophys. Res. Lett.
Fukuyama, E., and D. S. Dreger (2000). Performance test of an automated moment tensor determination system for the future “Tokai” earthquake, submitted to Earth Planets Space.
Gee, L. S., D. S. Neuhauser, D. S. Dreger, M. Pasyanos, R. A. Uhrhammer, and B. Romanowicz (1996), Real-Time Seismology at UC Berkeley: The Rapid Earthquake Data Integration Project, Bull. Seism. Soc. Am., 86, 936-945.
Helmberger, D. V., and G. Engen (1980). Modeling the long-period body waves from shallow earthquakes at regional distances, Bull. Seism. Soc. Am., 70, 1699-1714.
Jost, M. L., R. Herrmann (1989). A student's guide to and review of moment tensors, Seism. Res. Lett., 60, 37-57.
Pasyanos, M. E., D. S. Dreger, and B. Romanowicz (1996), Towards Real-Time Determination of Regional Moment Tensors, Bull. Seism. Soc. Am., 86, 1255-1269.
Rodgers, A., W. Walter, R. Mellors, A. Al-Amri, Y. Zhang (1999). Lithospheric structure of the Arabian Shield and Platform from complete regional waveform modelling and surface wave group Velocities, Geophys. Journ. Int., 138, 871-878.
Romanowicz, B. D. Dreger, M . Pasyanos, and R. Urhammer (1993). Monitoring of Strain Release in Central and Northern California Using Broadband Data, Geophys. Res. Let., 20, 1643-1646.
Saikia, C. K. (1994). Modified frequency-wavenumber algorithm for regional seismograms using Filon’s quadrature; modeling of Lg waves in eastern North America, Geophys. Journ. Int., 118, 142-158.
Song, X., L. Zhao and D. V. Helmberger (1996). Broad-band modelling of regional seismograms; the Basin and Range crustal structure, Geophys. Journ. Int., 125, 15-29.
Zhao, L., and D. V. Helmberger (1991). Broadband modelling along a regional shield path, Geophys. Journ. Int., 105, 301-312.