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.”

 

Basic Methodology and Program Assumptions

 

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.

 

Runtime Configuration

 

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.

 

Automated Program Flow

 

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

YBH_f0.05.data 292.9  62.3 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.