-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
127 lines (90 loc) · 5.26 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
# Information for using the F-K package
# @(#)README 3.3 2/3/2015
1. Copyright and License
See LICENSE file.
2. Content of the Package
The fk package contains following main codes:
fk.f compute the Green's functions of a layered medium from
explosion, single-force, and double-couple sources.
syn.c compute synthetic seismogram using Green's functions
with a known source geometry.
fk2mt.c convert FK Green's functions to moment-tensor Green's functions.
fk.pl a PERL script to simplify the use of fk.
trav.f compute first arrival times in layered velocity model.
hk the Hadley-Kanamori velocity model of southern California.
3. Installation
To compile the codes see Makefile.
4. Usage
Using the PERL wrapper fk.pl is strongly recommended because it is much easier
to use than the fk. Simply running fk.pl without command line argument will show
its usage. Alternatively, you can look at the sample fk input file
"sample_input" to learn how to make a direct fk run.
5. References
Haskell (1964), BSSA
Wang and Herrmann (1980), BSSA
Zhu and Rivera (2002), GJI
6. Revision History
July 1, 2000 Put the first release on the gps's ftp site.
July 17, 2000 Change mu and xi to be complex. The previous
one only treats Vp, Vs as complex which causes
distortion for small Q.
July 26, 2000 Modify the exp(sigma*t) correction part in fk.f
based on R. W. Graves's comments. The previous
fk.f does this every two points in the time domain
and produces long-period noises.
July 19, 2005 V1.0 Add a hi-pass filter (wc1,wc2) to avoid overflow
at near-zero freq. for some teleseismic cases
(reported by H. Benz).
Nov. 07, 2006 V1.3 Modify syn.c to take a general moment-tensor source.
One needs to run fk twice, one for DC and one for EX
to produce the full set of Green's functions.
Nov. 1, 2007 Add band-pass filtering (-F) and attenutation (-T)
options in syn.c. The filtering option requires SAC
library which can not be distributed with the package.
May 15, 2008 V1.6 Correct a bug in syn.c introduced on 11/07/2006.
Oct. 29, 2008 V2.0 Add non-free surface boundary condition and buried receivers.
Change mu and xi back to be real and move call source()
out of the w-k loops.
Combine the static and dynamic cases.
Oct. 5, 2010 V2.1 Add option for up- or down-going wave only (-Uupdn)
Jan. 20, 2011 V3.0 Correct two bugs (flip and phase shift) for single force.
Correct a bug in free bottom boundary condition.
Use thickness<epsilon to indicate halfspace.
May 12, 2013 V3.1 Correct a bug in computing hs when flipped (reported by Chen Ji).
April 17, 2014 V3.2 Add fk2mt and sample run outputs.
Jan. 30, 2015 V3.3 Add a test for dk to see if it satisfies Bouchon condition 2.
(suggested by Jean-Paul Ampuero)
7 FAQs
(1) What are those output Green's functions xxx.[0-9 or a-c]?
You don't need to know because the final displacements are computed using
syn.c. In case that you really want to know, they are displacements in the order:
xxx.[0-2] are the up, radial, and transverse (CCW) components for the n=0
fundamental source (vertical single force or so-called "45-down-dip slip (DD)"
double couple in which case it's equivelent to putting a station at 45 deg.
azimuth and multiplying the obtained 3-com. displacment by (-2, -2, 0)),
xxx.[3-5] are for n=1 fundmanetal source (horizontal single force or so-called "vertical dip-slip (DS)"
double-couple in which case it's equivelent to putting a station at 45 deg. azimuth and
muliplying the obtained 3-com. displacement by -sqrt(2)),
xxx.[6-8] are for n=2 fundmanetal source (so-called "vertical strike-slip (SS)" double-couple. It's equivelent
to putting a station at 22.5 deg azimuth and multiplying the displacement by -sqrt(2)),
xxx.[a-c] are for an explosion source (EX).
Their units are (assume v in km/s, rho in g/cm^3, thickness in km):
10^-20 cm/(dyne cm) for double couple source and explosion,
10^-15 cm/dyne for single force.
(2) Why do synthetic seismograms look like velocity instead of displacement?
The Green's functions are for an impulse source time function. You have to
integrate it once to get the step-response, which can be done by using the
"-I" option of program syn.
(3) Can the code handle liquid layer, e.g. outer-core or an ocean layer?
Not really in the current version. But it seems that liquid layers can be
approximated by layers with very small Vs (e.g., 0.001 km/s).
(4) The results do not look good enough? Can the be improved?
Yes, the code uses several input parameters to control the wavenumber
numerical integration: dk, kmax, and pmax (see the sample input file).
Try reducing dk or increasing kmax and pmax to see if you get improvements.
(5) The output SAC Green's functions are "NaN" (not-a-number). What happened?
FK calculation sometimes fails due to that the Rayleigh denominator overflows
at zero freq. and large wavenumber when the bottom interface of the model is too far
from the source. This often happens for teleseismic distances with flatten earth model.
One solution is to reduce the depth of the bottom interface. If it is not feasible (e.g.
you need core phases), you can try to exclude low frequences using the "-H" option.