Fault kinematic similarity
Aim
The algorithm is implemented in FORTRAN 90/95. It requires a text file storing the structural orientations of faults or focal mechanisms. The results are the kinematic similarity values between each pair of observations.
Code
Compiler: g95 - Windows
Version: 2008-07-02
Source: FaultCorrelation_01.f95
Binary: FaultCorrelation_01.exe
Methodology
This paragraph presents a reduced excerpt from Alberti (2010).
The article pdf can be requested to alberti.m65@gmail.com.
The similarity in orientation between two geometrically similar structures, i.e., two lines, planes or stress tensors, can be measured through scalar or geometric indices.
Coherence index
Kagan and Knopoff (1985a,b) and Kagan (1992a) calculated the correlation between focal mechanisms
(converted into seismic moment tensors) with their coherence index:
This is the scalar product of the two normalised and symmetric M_{ij} and N_{ij} seismic
tensors, scaled by the opposite of I_{2}, the second invariant of the normalised seismic tensor,
whose value is -1 (Kagan & Knopoff, 1985b).
The coherence index range is between -2 and 2.
The lower, negative limit refers to opposite tensors, while the upper, positive limit refers to
equal tensor orientations.
Geometric measures
The rotation needed to make equal the orientations of two structures constitutes a geometric measure of the similarity between two structural observations. The rotation pole and angle represent the geometric measure. Rotations of focal mechanisms and fault planes with slickenlines can be derived through rotation matrices or quaternion notations (Kagan, 1991, Kuipers, 2002). As tensors with orthorhombic symmetry represent them, four possible rotations occur, all with rotation angle between 0° and 120° (Kagan, 1991). In most cases, the minimum rotation angle can be considered the preferred one.
Rotation matricesA rotation operator in R_{3} may be represented by an orthogonal, rotation matrix R ( i.e., R R ^{t} = R ^{t} R = I, where R ^{t} is the transpose of R, and I is the identity matrix ). Its determinant is equal to 1 (Kuipers, 2002). The rotation matrix can be calculated given a rotation pole and angle using the formulas in Kagan & Knopoff (1985a, p. 433) and Cox & Hart (1986, pp. 226-227).
Quaternions
Quaternions are an alternative method to determine the rotations of objects (Kuipers, 2002).
A quaternion q = q_{0} + q_{1}i + q_{2}j + q_{3}k
is the sum of a real number q_{0} and three real
numbers q_{1}, q_{2} and q_{3} multiplied by the imaginary
components i, j and k, respectively
(i^{2} = j^{2} = k^{2} = ijk = -1). The norm of a quaternion is equal to:
so that a normalised quaternion has a unit norm.
A normalised quaternion q = q_{0} + q_{1}i + q_{2}j + q_{3}k
represents a rotation operator whose rotation pole is (Kagan, 1991, Kuipers, 2002):
n = q_{1}i + q_{2}j + q_{3}k
(i, j and k: unit vectors of an orthonormal basis)
with a rotation angle F:
F = 2 acos(q_{0}) ( -180° ≤ F ≤ 180°, positive following the right-hand rule )
Since a focal mechanism has three degrees of freedom, it can be represented by a normalised quaternion. This quaternion is the one equivalent to a rotation of the T, P and B axes from orientations parallel to the frame axes (i.e., x, y, z) to those of the actual focal mechanism (Kagan, 1991, 1992b). It may be obtained through the rotation matrix R, converted to a quaternion using the formulas in Kagan (1991, p.711, eqs. 10 and 11) and Kuipers (2002, p. 169).
As previously stated, there are four possible rotations between two focal mechanisms. Three solutions can be derived from the first one, by a 180° rotation around each of the kinematic axes of the first of the two compared focal mechanisms (Kagan, 1991, p. 712).
Program input
Required information for the program is below. The program can use the output of the forward stress simulation program.
Record identifier
Required.- integer value
Spatial information
Optional, one of the following two:- x, y, z
- Lat, lon, depth
Time information
Optional- numeric value
Orientation data
Required, one of three choices:- Strike, dip, rake
- Strike, dip, slickenline trend, plunge
- P axis trend, plunge, T axis trend, plunge
An example of input file, resulting from the ForwardStress program, is simul_data.txt
The user selects which analysis to perform (e.g., temporal and spatial separation between events, coherence and faults/focal mechanisms rotations). The user can choose between a central or a pairwise statistic. In the former case, each observation is compared with the provided "central" observation. In the latter one, each observation is compared with all the other ones.
Program output
The algorithm creates two textual output files, respectively containing the resulting
data and their metadata.
Examples of output files are similarity.txt
and metadata.txt.
The data file stores the result in a tabular format.
First line is the field header, and the following lines contain the resulting data, depending on
the chosen analysis types.
The result can be analysed with statistical softwares, such as the open source
R software.
Fields in output file
All solutions are made up by trend, plunge and rotation angle.
Name |
Contents |
RecA_id,RecB_id | Ids of the two compared records |
RecDist | 3D distance between the two records |
TimeLag | Time lag |
Coherence | Coherence |
FMSol1_Tr,FMSol1_Pl,FMSol1_An | Focal mechanism rotation: first (minimum angle) solution |
FMSol2_Tr,FMSol2_Pl,FMSol2_An | Focal mechanism rotation: second solution |
FMSol3_Tr,FMSol3_Pl,FMSol3_An | Focal mechanism rotation: third solution |
FMSol4_Tr,FMSol4_Pl,FMSol4_An | Focal mechanism rotation: fourth solution |
TSol_Tr,TSol_Pl,TSol_An | T axis rotation: minimum angle solution |
PSol_Tr,PSol_Pl,PSol_An | P axis rotation: minimum angle solution |
BSol_Tr,BSol_Pl,BSol_An | B axis rotation: minimum angle solution |
FPSol_Tr,FPSol_Pl,FPSol_An | Fault plane rotation: minimum angle solution |
SlSol_Tr,SlSol_Pl,SlSol_An | Slickenline rotation: minimum angle solution |
Case study
Related articles
- Aki, K., Richards, P.G., 1980. Quantitative seismology. Theory and Methods. Vol. I, W.H. Freeman and Company, San Francisco, 557pp.
- Alberti, M., 2010. Analysis of kinematic correlations in faults and focal mechanisms with GIS and Fortran programs. Computers & Geosciences 36, 186-194.
- Cox, A., Hart, R.B., 1986. Plate Tectonics: How It Works. Blackwell Scientific Publications, Palo Alto, CA, pp. 392.
- Kagan, Y.Y., 1990. Random stress and earthquake statistics: spatial dependence. Geophysical Journal International 102, 573-583.
- Kagan, Y.Y., 1991. 3-D rotation of double-couple earthquake sources. Geophysical Journal International 106, 709-716.
- Kagan, Y.Y., 1992a. On the geometry of an earthquake fault system. Physics of the Earth and Planetary Interiors 71, 15-35.
- Kagan, Y.Y., 1992b. Correlations of earthquake focal mechanisms. Geophysical Journal International 110, 305-320.
- Kagan, Y.Y., 1994. Distribution of incremental static stress caused by earthquakes. Nonlinear Processes in Geophysics 1, 172-181.
- Kagan, Y.Y., 2005. Double-couple earthquake focal mechanism: random rotation and display. Geophysical Journal International 163, 1065-1072, doi: 10.1111/j.1365-246X.2005.02781.x
- Kagan, Y.Y., Knopoff, L., 1985a. The first-order statistical moment of the seismic moment tensor. Geophysical Journal of the Royal astronomical Society 81, 429-444.
- Kagan, Y.Y., Knopoff, L., 1985b. The two-point correlation function of the seismic moment tensor. Geophysical Journal of the Royal astronomical Society 83, 637-656.
- Kuipers, J. B., 2002. Quaternions and Rotation Sequences: A Primer with Applications to Orbits, Aerospace and Virtual Reality. Princeton University Press, 400 pp.
Open source software
Quantum GIS plugins Topography and altimetry
- geoSurfDEM - C++
- qgSurf - Python
- Elevation data reduction - C++
- Crests and throughs along tracks - C++
- ICESat data import - FORTRAN 90/95
- Height variations in nearest measures - FORTRAN 90/95
- Pathlines in a steady flow field - Python and C++
- Vector field parameters - Python
- Forward stress simulation - FORTRAN 90/95
- Fault kinematic similarity - FORTRAN 90/95
- Angle between lines - Python
- Point-to-line conversion - Python
- Line parsing - Python