-
Notifications
You must be signed in to change notification settings - Fork 23
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #256 from rmodrak/master
Documentation updates
- Loading branch information
Showing
13 changed files
with
379 additions
and
60 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
|
||
.. warning:: | ||
|
||
This page is still under construction. To help improve the | ||
documentation, feel free to submit a pull request. | ||
|
||
|
||
Receiver-side 3D Green's functions | ||
================================== | ||
|
||
A working of example using receiver-side 3D Green's functions from SPECFEM3D in a moment tensor inversion: | ||
|
||
`test_greens_SPECFEM3D_SGT.py <https://github.com/rmodrak/mtuq/blob/master/tests/test_greens_SPECFEM3D_SGT.py>`_ | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,186 @@ | ||
|
||
.. warning:: | ||
|
||
This page is still under construction. To help improve the | ||
documentation, feel free to submit a pull request. | ||
|
||
Source-side 3D Green's functions | ||
================================ | ||
|
||
Generating source-side 3D Green's functions using SPECFEM3D/3D_GLOBE | ||
-------------------------------------------------------------------- | ||
|
||
In principle, any 3D solver can be used to generate Green's functions, as long as the `requirements <https://uafgeotools.github.io/mtuq/user_guide/03/source_side.html#requirements-for-mtuq-source-side-green-s-functions>`_ below are satisfied. | ||
|
||
So far, however, the source-side Green's function machinery has been tested using only SPECFEM3D/3D_GLOBE. To convert SPECFEM3D/3D_GLOBE output to MTUQ-compliant Green's functions, the following steps are necessary. | ||
|
||
|
||
**Generate SAC binary files** | ||
|
||
SAC binary output format is natively supported by SPECFEM3D_GLOBE (in the parameter file, set `OUTPUT_SEISMOS_SAC_BINARY = .true.`). | ||
|
||
Unfortunately, SAC binary output format is not natively supported by SPECFEM3D, so it becomes necessary to manually convert SPECFEM3D output to SAC binary format. | ||
|
||
|
||
**Convert to SI units** | ||
|
||
MTUQ uses the fully SI convention described below. In contrast, SPECFEM3D/3D_GLOBE use a mixed SI and CGS convention, in which moment tensor elements are input in terms of dynes and centimeters, and seismograms are output in meters. As a result, it is necessary to scale SPECFEM3D/3D_GLOBE seismograms by 10^7 prior to using them as MTUQ Green's functions. | ||
|
||
|
||
**Additional amplitude scaling** | ||
|
||
In addition to converting to SI units, it is also necessary to account for any scaling factors in the SPECFEM3D/3D_GLOBE input files. Such scaling factors can enter, for example, through the `M_rr,M_tt,M_pp,M_rt,M_rp,M_tp` values in the moment tensor input file or through the `scaling factor <https://github.com/SPECFEM/specfem3d/blob/bf45798f3af9d792326a829de920fd944cf7c7dd/EXAMPLES/applications/homogeneous_halfspace_HEX27_elastic_no_absorbing/DATA/FORCESOLUTION#L8>`_ in the force input file. | ||
|
||
|
||
**Rotate to vertical, radial, transverse components** | ||
|
||
Conveniently, SPECFEM3D_GLOBE can be made to automatically rotate output seismograms into vertical, radial and transverse components (set `ROTATE_SEISMOGRAMS_RT = .true.` in the parameter file). | ||
|
||
No modifications are necessary on account of moment tensor basis convention, since MTUQ's `up-south-east` convention matches SPECFEM3D/3D_GLOBE's. | ||
|
||
|
||
|
||
|
||
Requirements for MTUQ source-side 3D Green's functions | ||
------------------------------------------------------ | ||
|
||
**File format** | ||
|
||
Individual Green's functions must be written to SAC binary files. | ||
|
||
A total 18 SAC binary files are required to represent the response between a given hypocenter and station (corresponding to 6 moment tensor elements times 3 directions of motion). | ||
|
||
|
||
|
||
**Units convention** | ||
|
||
For a moment tensor inversion, each SAC binary file must give the response in meters to a 1 Newton-meter force couple. | ||
|
||
For a force inversion, each SAC binary file must give the response in meters to a 1 Newton force. | ||
|
||
In both cases, MTUQ uses a fully SI units convention (compare with SPECFEM3D/3D_GLOBE notes, above). | ||
|
||
|
||
|
||
**Basis convention** | ||
|
||
MTUQ uses an `up-south-east` basis convention in which `r` denotes up, `t` denotes south, and `p` denotes east. | ||
|
||
Green's functions must be rotated into into vertical `Z`, radial `R` and transverse `T` components relative to the source-receiver backazimuth. | ||
|
||
Place all seismograms for the same hypocenter in a single directory as follows: | ||
|
||
.. code :: | ||
{event_id}/ | ||
{depth_in_km}/ | ||
{net}.{sta}.{loc}.Z.Mrr.sac | ||
{net}.{sta}.{loc}.Z.Mtt.sac | ||
{net}.{sta}.{loc}.Z.Mpp.sac | ||
{net}.{sta}.{loc}.Z.Mrt.sac | ||
{net}.{sta}.{loc}.Z.Mrp.sac | ||
{net}.{sta}.{loc}.Z.Mtp.sac | ||
{net}.{sta}.{loc}.R.Mrr.sac | ||
{net}.{sta}.{loc}.R.Mtt.sac | ||
{net}.{sta}.{loc}.R.Mpp.sac | ||
{net}.{sta}.{loc}.R.Mrt.sac | ||
{net}.{sta}.{loc}.R.Mrp.sac | ||
{net}.{sta}.{loc}.R.Mtp.sac | ||
{net}.{sta}.{loc}.T.Mrr.sac | ||
{net}.{sta}.{loc}.T.Mtt.sac | ||
{net}.{sta}.{loc}.T.Mpp.sac | ||
{net}.{sta}.{loc}.T.Mrt.sac | ||
{net}.{sta}.{loc}.T.Mrp.sac | ||
{net}.{sta}.{loc}.T.Mtp.sac | ||
... | ||
The corresponding convention for force responses is: | ||
|
||
.. code :: | ||
{event_id}/ | ||
{depth_in_km}/ | ||
{net}.{sta}.{loc}.Z.Fr.sac | ||
{net}.{sta}.{loc}.Z.Ft.sac | ||
{net}.{sta}.{loc}.Z.Fp.sac | ||
{net}.{sta}.{loc}.R.Fr.sac | ||
{net}.{sta}.{loc}.R.Ft.sac | ||
{net}.{sta}.{loc}.R.Fp.sac | ||
{net}.{sta}.{loc}.T.Fr.sac | ||
{net}.{sta}.{loc}.T.Fp.sac | ||
{net}.{sta}.{loc}.T.Fp.sac | ||
... | ||
**Origin time convention** | ||
|
||
For origin time, MTUQ uses a centroid convention (`more details <https://github.com/uafgeotools/mtuq/issues/140>`_), so that `t=0` in the `GreensTensor` time discretization corresponds to mean source excitation time. | ||
|
||
MTUQ uses the begin time (`B`) and end time (`E`) headers from the SAC binary files to align the Green's functions relative to centroid origin time. | ||
|
||
Currently, these are the only SAC headers used in reading Green's functions. | ||
|
||
(Note that different `SAC headers <https://ds.iris.edu/files/sac-manual/manual/file_format.html>`_ are required in reading `observed data <https://uafgeotools.github.io/mtuq/user_guide/02.html#file-format-metadata-and-data-processing-requirements>`_.) | ||
|
||
|
||
|
||
Hypocenter searches (experimental) | ||
---------------------------------- | ||
|
||
Currently, only searches over source depth are possible with source-side 3D Green's functions (no other hypocenter parameters). | ||
|
||
The current `depth search <https://github.com/uafgeotools/mtuq/blob/568e49a73817e4e2dbab1189210214da6906266f/mtuq/io/clients/SPECFEM3D_SAC.py#L117>`_ implementation is especially crude and experimental (consider local modifications to suit your needs). | ||
|
||
To allow depth searches, create subdirectories for each centroid depth as follows: | ||
|
||
.. code :: | ||
{event_id}/ | ||
{depth_in_km}/ | ||
{net}.{sta}.{loc}.Z.Mrr.sac | ||
{net}.{sta}.{loc}.Z.Mtt.sac | ||
{net}.{sta}.{loc}.Z.Mpp.sac | ||
{net}.{sta}.{loc}.Z.Mrt.sac | ||
{net}.{sta}.{loc}.Z.Mrp.sac | ||
{net}.{sta}.{loc}.Z.Mtp.sac | ||
{net}.{sta}.{loc}.R.Mrr.sac | ||
{net}.{sta}.{loc}.R.Mtt.sac | ||
{net}.{sta}.{loc}.R.Mpp.sac | ||
{net}.{sta}.{loc}.R.Mrt.sac | ||
{net}.{sta}.{loc}.R.Mrp.sac | ||
{net}.{sta}.{loc}.R.Mtp.sac | ||
{net}.{sta}.{loc}.T.Mrr.sac | ||
{net}.{sta}.{loc}.T.Mtt.sac | ||
{net}.{sta}.{loc}.T.Mpp.sac | ||
{net}.{sta}.{loc}.T.Mrt.sac | ||
{net}.{sta}.{loc}.T.Mrp.sac | ||
{net}.{sta}.{loc}.T.Mtp.sac | ||
{depth_in_km}/ | ||
{net}.{sta}.{loc}.Z.Mrr.sac | ||
{net}.{sta}.{loc}.Z.Mtt.sac | ||
{net}.{sta}.{loc}.Z.Mpp.sac | ||
{net}.{sta}.{loc}.Z.Mrt.sac | ||
{net}.{sta}.{loc}.Z.Mrp.sac | ||
{net}.{sta}.{loc}.Z.Mtp.sac | ||
{net}.{sta}.{loc}.R.Mrr.sac | ||
{net}.{sta}.{loc}.R.Mtt.sac | ||
{net}.{sta}.{loc}.R.Mpp.sac | ||
{net}.{sta}.{loc}.R.Mrt.sac | ||
{net}.{sta}.{loc}.R.Mrp.sac | ||
{net}.{sta}.{loc}.R.Mtp.sac | ||
{net}.{sta}.{loc}.T.Mrr.sac | ||
{net}.{sta}.{loc}.T.Mtt.sac | ||
{net}.{sta}.{loc}.T.Mpp.sac | ||
{net}.{sta}.{loc}.T.Mrt.sac | ||
{net}.{sta}.{loc}.T.Mrp.sac | ||
{net}.{sta}.{loc}.T.Mtp.sac | ||
... | ||
Working example | ||
--------------- | ||
|
||
A working of example using source-side 3D Green's functions from SPECFEM3D_GLOBE in a moment tensor inversion: | ||
|
||
`test_greens_SPECFEM3D_SAC.py <https://github.com/rmodrak/mtuq/blob/master/tests/test_greens_SPECFEM3D_SAC.py>`_ | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.