Table of Contents

Reference Frame Convention

The code uses the following convention for the Cartesian reference frame:

  • the $x$ axis points East

  • the $y$ axis points North

  • the $z$ axis points up

Note that this convention is different from both the Aki and Richards (1980) convention and the Global/Harvard Centroid-Moment Tensor (CMT) convention. The Aki & Richards convention is

  • the $x$ axis points North

  • the $y$ axis points East

  • the $z$ axis points down

and the Global/Harvard CMT convention is

  • the $x$ axis points South

  • the $y$ axis points East

  • the $z$ axis points up

Source and receiver locations

The SPECFEM3D Cartesian software code internally uses Cartesian coordinates. The given locations for sources and receiver locations thus may get converted. Sources and receiver locations are read in from the CMTSOLUTION (or FORCESOLUTION) and STATIONS files. Note that e.g. the CMTSOLUTION and FORCESOLUTION files denotes the location by longitude/latitude/depth. We read in longitude as $x$ coordinate, latitude as $y$ coordinate.

In case the flag SUPPRESS_UTM_PROJECTION is set to .false. in the main parameter file (see Chapter [cha:Creating-Distributed-Databases]), the $x$/$y$ coordinates have to be given in degrees and are converted to Cartesian coordinates using a UTM conversion with the specified UTM zone.

The value for depth (given in $km$ in CMTSOLUTION and FORCESOLUTION) or burial depth (given in $m$ in STATIONS) is evaluated with respect to the surface of the mesh at the specified $x$/$y$ location to find the corresponding $z$ coordinate. It is possible to use this depth value directly as $z$ coordinate by changing the flag USE_SOURCES_RECEIVERS_Z to .true. in DATA/Par_file.

Seismogram outputs

The seismogram output directions are given in Cartesian $x$/$y$/$z$ directions and not rotated any further. Changing flags in setup/constants.h only rotates the seismogram outputs if receivers are forced to be located at the surface (RECEIVERS_CAN_BE_BURIED set to .false.) and the normal to the surface at the receiver location should be used (EXTERNAL_MESH_RECEIVERS_NORMAL set to .true.) as vertical. In this case, the outputs are rotated to have the vertical component normal to the surface of the mesh, $x$ and $y$ directions are somewhat arbitrary orthogonal directions along the surface.

For the labeling of the seismogram channels, see Appendix [cha:channel-codes]. Additionally, we add labels to the synthetics using the following convention: For a receiver station located in an

elastic domain:
- semd for the displacement vector

  • semv for the velocity vector

  • sema for the acceleration vector

acoustic domain:
(please note that receiver stations in acoustic domains must be buried. This is due to the free surface condition which enforces a zero pressure at the surface.)

  • semd for the displacement vector

  • semv for the velocity vector

  • sema for pressure which will be stored in the vertical component Z. Note that pressure in the acoustic media is isotropic and thus the pressure record would be the same in the other two component directions. We therefore use the other two seismogram components to store the acoustic potential in component X (or N) and the first time derivative of the acoustic potential in component Y (or E).

The seismograms are by default written out in ASCII-format to the OUTPUT_FILES/ subdirectory by each parallel process. You can change this behavior by changing the following flags in the DATA/Par_file:

set to .true. to have seismograms written out in binary format.

Set to .true. to have only the main process writing out seismograms. This can be useful on a cluster, where only the main process node has access to the output directory.

Set to .false. to have the seismograms output to LOCAL_PATH directory specified in the main parameter file DATA/Par_file.


Aki, K., and P. G. Richards. 1980. Quantitative Seismology, Theory and Methods. San Francisco, USA: W. H. Freeman.

This documentation has been automatically generated by pandoc based on the User manual (LaTeX version) in folder doc/USER_MANUAL/ (Dec 20, 2023)