meca
meca(cmd0::String="", arg1=nothing; kwargs...)
meca - Plot focal mechanisms
Description
Reads data values from tables or input arguments and plots focal mechanisms (beachballs). The module reads focal mechanism parameters and plots the corresponding beachballs on a map. Several input format conventions are supported: Aki & Richards, Global CMT, moment tensor, partial focal mechanism, and principal axis.
Focal Mechanism Conventions
Aki & Richards (aki= or Sa)
Columns: lon, lat, depth, strike, dip, rake, magnitude, newlon, newlat, text
Global CMT (CMT= or Sc)
Columns: lon, lat, depth, strike1, dip1, rake1, strike2, dip2, rake2, mantissa, exponent, newlon, newlat, text
Moment Tensor (moment_tensor= or Sm/Sz/Sd)
Columns: lon, lat, depth, mrr, mtt, mff, mrt, mrf, mtf, exponent, newlon, newlat, text
Partial (partial= or Sp)
Columns: lon, lat, depth, strike1, dip1, strike2, fault_type, magnitude, newlon, newlat, text
Principal Axis (principal_axis= or Sx/Sy)
Columns: lon, lat, depth, Tvalue, Tazim, Tplunge, Nvalue, Nazim, Nplunge, Pvalue, Pazim, P_plunge, exponent, newlon, newlat, text
Required Arguments
table
A data table (or matrices/datasets) containing focal mechanism parameters. The format depends on the convention specified.
J or proj or projection : – proj=<parameters>
Select map projection. More at proj
R or region or limits : – limits=(xmin, xmax, ymin, ymax) | limits=(BB=(xmin, xmax, ymin, ymax),) | limits=(LLUR=(xmin, xmax, ymin, ymax),units="unit") | ...more
Specify the region of interest. More at limits. For perspective view view, optionally add zmin,zmax. This option may be used to indicate the range used for the 3-D axes. You may ask for a larger w/e/s/n region to have more room between the image and the axes.
S or convention : Convention-specific options
Selects the input convention and symbol size. Choose from:aki or Sa : Aki & Richards convention
CMT or Sc : Global CMT convention
moment_tensor or mt or Sm : Seismic moment tensor (full)
dev or Sz : Deviatoric moment tensor (zero trace)
dc or Sd : Double couple from moment tensor (zero trace and determinant)
partial or Sp : Partial focal mechanism
axis or principal_axis or Sx : Principal axis
principal or Sy : Best double couple from principal axis
Append scale to set the symbol size. Use tuple form to add modifiers:
aki=(scale=val, ...)orCMT=(scale=val, ...)etc.
Available modifiers (as named tuple elements):
angle : Rotate text angle
font : Set text font
justify : Text justification
radius_moment : Radius will be proportional to the seismic moment
same_size : Plot the same size for any magnitude
offset : Offset text by dx/dy
refmag : Reference magnitude for scaling
Optional Arguments
A or offset : – offset=true | offset=(fill=..., offset=.., pen=..., size=...)
Offsets beachballs to the longitude, latitude specified in the last two columns of the input. A line connects the original and relocated positions. Available modifiers:fill : Symbol fill color
offset : Interpret the contents of the two columns as plot offsets instead, or append fixed offset dx[/dy] for all events.
pen : Line pen attributes
size : Set the size of the symbol. Prepend any of a|c|d|g|h|i|n|p|s|t|x to change the symbol fron the default [c]
B or axes or frame
Set map boundary frame and axes attributes. Default is to draw and annotate left, bottom and vertical axes and just draw left and top axes. More at frame
C or color or cmap : – cmap=cpt
Give a CPT to determine compressive quadrant fill based on depth (3rd column).D or depth_range : – depth_range=(depmin,depmax)
Plot only events with depths between depmin and depmax.E or extensionfill : – extensionfill=fill
Selects filling of extensive quadrants [Default is white].F : – Fa=true | Fa=[size[/Psymbol[Tsymbol]]] , Fe|Fg|Fr=fill , Fp|Ft|Fz=pen , Fo=true
Aliases:Fa or PT_axes : Computes and plots P and T axes with symbols. Optionally specify size and (separate) P and T axis symbols from the following: (c) circle, (d) diamond, (h) hexagon, (i) inverse triangle, (p) point, (s) square, (t) triangle, (x) cross. [Default: 6p/cc]
Fe or Taxiscolor : Sets the color or fill pattern for the T axis symbol. [Default as set by extensionfill]
Fo or psvelo : Old psvelomeca format (no depth in 3rd column)
Fg or Paxiscolor : Sets the color or fill pattern for the P axis symbol. [Default as set by extensionfill]
Fr or label_box : Draw a box behind the label (if any). [Default fill is white]
Fp or Paxispen : Draws the P axis outline using default pen (see W), or sets pen attributes.
Ft or Taxispen : Draws the T axis outline using default pen (see W), or sets pen attributes.
Fz or zero_trace : Overlay zero trace moment tensor using default pen (see W), or sets pen attributes.
G or fill or extensionfill : – fill=color
Selects filling of compressive quadrants [Default is black].H or scale : – scale=true | scale=scale
Scale symbol sizes and pen widths on a per-record basis using the scale read from the data file. The symbol size is either provided by convention or via the input size column. Alternatively, append a constant scale that should be used instead of reading a scale column.I or intens or intensity : – intens=val | intens=:a
Use the supplied intens value (nominally in the ±1 range) to modulate the compressional fill color by simulating illumination [none]. If no intensity is provided we will instead read intens from an extra data column after the required input columns determined by convention.L or pen_outline : – pen_outline=pen
Draws the "beach ball" outline using specified pen attributes.M or same_size or samesize : – same_size=true
Use the same size for all beachballs. Size is set from the magnitude columns, but the same size is used regardless of magnitude.N or no_clip or noclip : – no_clip=true
Do NOT skip symbols that fall outside the map border [Default clips symbols].T or nodal : – nodal=plane | nodal=(plane=val, pen=...)
Plot nodal planes and circumference only. Specify which plane(s) to draw:0 : Both planes
1 : Only first nodal plane
2 : Only second nodal plane
Use tuple form to set pen:
nodal=(plane=0, pen=pen_spec)For double couple mechanisms, the nodal option renders the beach ball transparent by drawing only the nodal planes and the circumference. For non-double couple mechanisms, nodal=0 option overlays best double couple transparently.
U or time_stamp : – time_stamp=true | time_stamp=(just="code", pos=(dx,dy), label="label", com=true)
Draw GMT time stamp logo on plot. More at timestamp
V or verbose : – verbose=true | verbose=level
Select verbosity level. More at verbose
W or pen : – pen=pen
Set pen attributes for features [Default pen is 0.25p,black,solid]. This setting applies to A, L, T, Fp, Ft, and Fz, unless overruled by options to those arguments. See also Pen attributes
X or xshift or x_offset : xshift=true | xshift=x-shift | xshift=(shift=x-shift, mov="a|c|f|r")
Shift plot origin. More at xshift
Y or yshift or y_offset : yshift=true | yshift=y-shift | yshift=(shift=y-shift, mov="a|c|f|r")
Shift plot origin. More at yshift
di or nodata_in : – nodata_in=??
Substitute specific values with NaN. More at
e or pattern : – pattern=??
Only accept ASCII data records that contain the specified pattern. More at
h or header : – header=??
Specify that input and/or output file(s) have n header records. More at
i or incol or incols : – incol=col_num | incol="opts"
Select input columns and transformations (0 is first column, t is trailing text, append word to read one word only). More at incol
p or view or perspective : – view=(azim, elev)
Default is viewpoint from an azimuth of 200 and elevation of 30 degrees.
Specify the viewpoint in terms of azimuth and elevation. The azimuth is the horizontal rotation about the z-axis as measured in degrees from the positive y-axis. That is, from North. This option is not yet fully expanded. Current alternatives are:view=??
A full GMT compact string with the full set of options.view=(azim,elev)
A two elements tuple with azimuth and elevationview=true
To propagate the viewpoint used in a previous module (makes sense only inbar3!)
More at perspective
q or inrows : – inrows=??
Select specific data rows to be read and/or written. More at
t or transparency or alpha: – alpha=50
Set PDF transparency level for an overlay, in (0-100] percent range. [Default is 0, i.e., opaque]. Works only for the PDF and PNG formats.
yx : – yx=true
Swap 1st and 2nd column on input and/or output. More at
Examples
focal_mechanismsPlot focal mechanisms using Aki-Richards convention:
using GMT
# Create focal mechanism data
D = mat2ds([0.0 5.0 0.0 0 90 0 5 0 0], ["Right Strike Slip"])
# Plot with fixed size beachballs
meca(D, region=(-1,4,1,6), proj=:Mercator, aki=2.5, fill=:black, show=true)
Plot using Global CMT convention with depth-based coloring:
# Background map
grdimage("@earth_relief", region=[-74,-59,5,15], proj=:guess, figsize=10, shade=true)
coast!(shorelines=true, borders=((type=1, pen=0.8),(type=2, pen=0.1)))
# Focal mechanisms with offsets
meca!("focal_data.txt", CMT=(scale=0.4, font=6), offset=true, fill=:black, show=true)
Plot multiple mechanisms with varying types:
using GMT
# Right lateral strike slip
D1 = mat2ds([0.0 5.0 0.0 0 90 0 5 0 0], ["Right Strike Slip"])
meca(D1, region=(-1,4,1,6), proj=:Mercator, aki=2.5, fill=:black)
# Thrust fault
D2 = mat2ds([0.0 3.5 0.0 0 45 90 5 0 0], ["Thrust"])
meca!(D2, aki=2.5, fill=:black)
# Normal fault
D3 = mat2ds([0.0 2.0 0.0 0 45 -90 5 0 0], ["Normal"])
meca!(D3, aki=2.5, fill=:black, show=true)
References
Aki, K., & Richards, P. G. (1980). Quantitative seismology: theory and methods. San Francisco: W. H. Freeman.
Dahlen, F. A., & Tromp, J. (1998). Theoretical global seismology. Princeton, N.J: Princeton University Press.
Frohlich, C. (1996). Cliff's Nodes Concerning Plotting Nodal Lines for P, SH and SV. Seismological Research Letters, 67(1), 16–24, https://doi.org/10.1785/gssrl.67.1.16.
Lay, T., & Wallace, T. C. (1995). Modern global seismology. San Diego: Academic Press.
See Also
These docs were autogenerated using GMT: v1.34.0