Skip to content

Commit 9dda628

Browse files
yvonnefroehlichseismanmichaelgrund
authored
DOC/Figure.meca: Use table for supported conventions (#3811)
Co-authored-by: Dongdong Tian <[email protected]> Co-authored-by: Michael Grund <[email protected]>
1 parent 00496d6 commit 9dda628

File tree

1 file changed

+52
-20
lines changed

1 file changed

+52
-20
lines changed

pygmt/src/meca.py

+52-20
Original file line numberDiff line numberDiff line change
@@ -221,6 +221,52 @@ def meca( # noqa: PLR0912, PLR0913, PLR0915
221221
r"""
222222
Plot focal mechanisms.
223223
224+
The following focal mechanism conventions are supported:
225+
226+
.. list-table:: Supported focal mechanism conventions.
227+
:widths: 15 15 40 30
228+
:header-rows: 1
229+
230+
* - Convention
231+
- Description
232+
- Focal parameters
233+
- Remark
234+
* - ``"aki"``
235+
- Aki and Richard
236+
- *strike*, *dip*, *rake*, *magnitude*
237+
- angles in degrees
238+
* - ``"gcmt"``
239+
- global centroid moment tensor
240+
- | *strike1*, *dip1*, *rake1*,
241+
| *strike2*, *dip2*, *rake2*,
242+
| *mantissa*, *exponent*
243+
- | angles in degrees;
244+
| seismic moment is
245+
| :math:`mantissa * 10 ^ {{exponent}}`
246+
| in dyn cm
247+
* - ``"mt"``
248+
- seismic moment tensor
249+
- | *mrr*, *mtt*, *mff*,
250+
| *mrt*, *mrf*, *mtf*,
251+
| *exponent*
252+
- | moment components
253+
| in :math:`10 ^ {{exponent}}` dyn cm
254+
* - ``"partial"``
255+
- partial focal mechanism
256+
- | *strike1*, *dip1*, *strike2*,
257+
| *fault_type*, *magnitude*
258+
- | angles in degrees;
259+
| *fault_type* means +1/-1 for
260+
| normal/reverse fault
261+
* - ``"principal_axis"``
262+
- principal axis
263+
- | *t_value*, *t_azimuth*, *t_plunge*,
264+
| *n_value*, *n_azimuth*, *n_plunge*,
265+
| *p_value*, *p_azimuth*, *p_plunge*,
266+
| *exponent*
267+
- | values in :math:`10 ^ {{exponent}}` dyn cm;
268+
| azimuths and plunges in degrees
269+
224270
Full option list at :gmt-docs:`supplements/seis/meca.html`
225271
226272
{aliases}
@@ -238,7 +284,8 @@ def meca( # noqa: PLR0912, PLR0913, PLR0915
238284
- Columns 1 and 2: event longitude and latitude
239285
- Column 3: event depth (in kilometers)
240286
- Columns 4 to 3+n: focal mechanism parameters. The number of columns *n*
241-
depends on the choice of ``convention``, which is described below.
287+
depends on the choice of ``convention`` (see the table above for the
288+
supported conventions).
242289
- Columns 4+n and 5+n: longitude and latitude at which to place the
243290
beachball. ``0 0`` plots the beachball at the longitude and latitude
244291
given in the columns 1 and 2. [optional; requires ``offset=True``].
@@ -250,16 +297,8 @@ def meca( # noqa: PLR0912, PLR0913, PLR0915
250297
The meanings of columns are the same as above.
251298
- *dict* or :class:`pandas.DataFrame`: The dict keys or
252299
:class:`pandas.DataFrame` column names determine the focal mechanism
253-
convention. For the different conventions, the following combination of
254-
keys / column names are required:
255-
256-
- ``"aki"``: *strike*, *dip*, *rake*, *magnitude*
257-
- ``"gcmt"``: *strike1*, *dip1*, *rake1*, *strike2*, *dip2*, *rake2*,
258-
*mantissa*, *exponent*
259-
- ``"mt"``: *mrr*, *mtt*, *mff*, *mrt*, *mrf*, *mtf*, *exponent*
260-
- ``"partial"``: *strike1*, *dip1*, *strike2*, *fault_type*, *magnitude*
261-
- ``"principal_axis"``: *t_value*, *t_azimuth*, *t_plunge*, *n_value*,
262-
*n_azimuth*, *n_plunge*, *p_value*, *p_azimuth*, *p_plunge*, *exponent*
300+
convention. For the different conventions, the combination of keys /
301+
column names as given in the table above are required.
263302
264303
A dict may contain values for a single focal mechanism or lists of
265304
values for multiple focal mechanisms.
@@ -277,7 +316,7 @@ def meca( # noqa: PLR0912, PLR0913, PLR0915
277316
[**+l**][**+m**][**+o**\ *dx*\ [/\ *dy*]][**+s**\ *reference*].
278317
Adjust scaling of the radius of the beachball, which is proportional to the
279318
magnitude. By default, *scale* defines the size for magnitude = 5 (i.e., scalar
280-
seismic moment M0 = 4.0E23 dynes-cm). If **+l** is used the radius will be
319+
seismic moment M0 = 4.0E23 dyn cm). If **+l** is used the radius will be
281320
proportional to the seismic moment instead. Use **+s** and give a *reference*
282321
to change the reference magnitude (or moment), and use **+m** to plot all
283322
beachballs with the same size. A text string can be specified to appear near
@@ -287,14 +326,7 @@ def meca( # noqa: PLR0912, PLR0913, PLR0915
287326
the text location relative to the beachball [Default is ``"TC"``, i.e., Top
288327
Center]; append **+o** to offset the text string by *dx*\ /*dy*.
289328
convention : str
290-
Focal mechanism convention. Choose from:
291-
292-
- ``"aki"`` (Aki and Richards)
293-
- ``"gcmt"`` (global CMT)
294-
- ``"mt"`` (seismic moment tensor)
295-
- ``"partial"`` (partial focal mechanism)
296-
- ``"principal_axis"`` (principal axis)
297-
329+
Focal mechanism convention. See the table above for the supported conventions.
298330
Ignored if ``spec`` is a dict or :class:`pandas.DataFrame`.
299331
component : str
300332
The component of the seismic moment tensor to plot.

0 commit comments

Comments
 (0)