hypo_gridSearchコマンド マニュアル

(The documentation of hypo_gridSearch command)

Last Update: 2023/8/2


◆機能・用途(Purpose)

グリッドサーチにより震源決定を行う。
Determine hypocenters by a grid search method.


◆概要(Overview)

地震の震源決定ではP波・S波の到着時刻の読み取り値を入力データとし、 観測走時と理論走時の残差を最小化するように最適な震源位置を求める。 これは非線形逆問題であり、 多くの既存アルゴリズムでは極小解に陥る恐れがある。
The hypocenter determination of earthquakes uses picked P- and S-wave arrival times as the input data and searches the optimal hypocenter location that minimizes the residuals between observed and theoretical travel times. This is a non-linear inverse problem, which sometimes yields local minimum solutions in most existing algorithms.

このプログラムでは震源位置をグリッドサーチで探索することにより、 極小解ではなく大域解(真の走時残差最小位置)を確実に求める。 また、オプションで地形データを与えて 震源位置の探索範囲を地下に制限することができ、 これによって地表面よりも上に震源が飛び出すことを確実に回避できる。
This program searches the hypocenters by a grid search to certainly obtain global instead of local minima, which correspond to the actual positions that minimize the travel time residuals. This program can optionally take into account the topography to restrict the search range to the underground; by this, hypocenters above the ground surface can certainly be avoided.

このプログラムでは1度の計算で複数の地震の震源を求めることができる。 これは個々の地震の震源を求めるよりも効率が良い。 というのも、グリッドサーチによる震源決定は
  1. 各観測点と各震源候補位置(格子点)の間の理論走時を計算する
  2. その理論走時を用いて、各地震について走時残差を最小にする位置を探索する
という2段階から成る。 このうちの1つ目は全ての地震について共通であるので、 初めにこの計算を行ってしまい、結果をメモリに保持して利用することで 計算を高速化している。
This program can determine the hypocenters of multiple earthquakes in a single run, which is more efficient than searching the hypocenter of each earthquake independently. This is because the hypocenter determination by the grid search consists of the following two steps:
  1. computing the theoretical travel time between every station location and every candidate hypocenter location (grid node); and
  2. search the optimal hypoenter of each earthquake that minimizes the travel time residual using the theoretical travel times computed in the previous step.
Because the 1st step is common to all earthquakes, the program first computes the theoretical travel times, preserves the results in the memory, and uses it to realize a fast processing.

このプログラム全体を通して\(x\), \(y\), \(z\)直交座標系を使用する。 \(x\)は東方向、\(y\)は北方向、\(z\)は上方向とする。 \(x\), \(y\)座標の原点(基準点)はユーザが自由に決めることができる。 但し全てのパラメータと設定ファイルで基準点は共通でなければならない。 \(z\)座標は標高(海抜)を表すものとする。
This program uses a cartesian coordinate system of \(x\), \(y\), and \(z\) throughout, where \(x\) is east, \(y\) is north, and \(z\) is upward. The coordinate origin (reference point) of the \(x\)- and \(y\)-coordinates can be taken arbitrarily, as long as the reference point is common among all parameters and configuration files. The \(z\)-coordinate is defined as the altitude above sea level.


◆ソースコード(Source code)

$YMAEDA_OPENTOOL_DIR/hypo/src/hypo_gridSearch.c


◆使用方法(Usage)

コマンドライン引数でパラメータを指定する。 パラメータの一覧を下表に示す。
Specify parameters by command-line arguments. The table below shows a list of parameters.


●「-」から始まらない引数 (Arguments not beginning with “-”)

このコマンドでは「-」から始まらない引数は存在しない。
This command does not have arguments not beginning with “-”.


●1つの「-」から始まる引数 (Arguments beginning with a single “-”)

このコマンドでは1つの「-」から始まる引数は存在しない。
This command does not have arguments beginning with a single “-”.


●「--パラメータ名=パラメータ値」の形式の引数 (Arguments of a form “--Parameter name=Parameter Value”)

「--パラメータ名=パラメータ値」の形式の引数は自由な順番で指定できる。 「-」から始まらない引数の間に挿入しても良い。 相反する指定がなされた場合には後の指定が優先される。 デフォルト値を持つパラメータは省略できる。
Arguments of a form “--Parameter name=Parameter Value” can be placed in an arbitrary order. They can even be inserted between arguments not beginning with “-”. In case of conflicting options being specified, the latter option has a higher priority. Parameters that have default values can be omitted.

パラメータ名
Parameter name
意味
Meaning
可能なパラメータ値
Allowed parameter values
デフォルト値
Default value
pick_data_dir P波・S波到着時刻のデータが格納されているディレクトリ名。
The name of the directory in which the P- and S-wave arrival time data are stored.

このディレクトリ内にはP波・S波到着時刻のデータを 1つの地震につき1つのテキストファイルで用意する。 ファイル名には拡張子「.dat」を付ける。 ファイルの書式は こちら
In this directory, prepare the P- and S-wave arrival time data as one text file for each earthquake with an extension “.dat”. Click here for the file format.

このディレクトリ内にある「.dat」の拡張子を持つ全てのファイルが P波・S波到着時刻のデータファイルと見なされるので、 このディレクトリ内にその他のファイルを 「.dat」の拡張子で置いてはならない。
All files in this directory with the “.dat” extension are regarded as the data files for the P- and S-wave arrival times. Therefore, do not place any other file in this directory with the “.dat” extension.
ディレクトリ名を表す文字列。パスを含んでいても良い。
A string that represents a directory name, possibly including its path.
省略不可
Cannot be omitted
structure_file 震源決定に使用する地下構造の設定ファイル名。
The name of the configuration file for the subsurface structure used in the hypocenter determination.

ファイルの書式は こちら
Click here for the file format.
ファイル名を表す文字列。パスを含んでいても良い。
A string that represents a file name, possibly including its path.
省略不可
Cannot be omitted
topography_files 使用する地形データファイル名。 一定間隔の格子点で定義された地表面の標高データを ymaeda_opentoolsの2次元・3次元データファイル形式 (独自のファイル形式参照) で与える。 地形データは補間されるので 地形データが定義されている格子点と震源位置の探索に用いる格子点は 一致していなくて良い。 標高データは重複や隙間が生じないように定義されていれば 複数のファイルに分かれていても良く、 この場合はファイル名をカンマ(,)で区切って列挙する。
The name(s) of the file(s) for the topography data used; give the topography data as the altitudes of the ground surface on grid nodes of uniform intervals with the 2-D and 3-D data formats of ymaeda_opentools (see special file formats). The grid nodes of the topography data can be different from the search grid nodes for hypocenters, as the topography data is interpolated. The data can be separated into multiple files as long as they have no overlaps and gaps; in this case, list the file names separated by commas (,).

なお、地形データは震源位置の探索範囲を地下に制限する用途でのみ用いられ、 地表面における波の反射など地表面が地震波伝播に与える影響は考慮されない。
Note that the topography data is used simply to limit the search range of the hypocenters to the underground; effects of the ground surface on the seismic wave propagation (e.g., the reflection at the ground surface) are not taken into account.
ファイル名を表す文字列、あるいはそれらをカンマ(,)で区切って並べた文字列。 パスを含んでいても良い。
A string that represents a file name, or file names separated by commas (,), possibly including its/their path(s).
省略時は地表面による探索範囲の制限無しでの計算になる。
When this option is omitted, the search range is not limited by the ground surface.
xmin 震源位置の\(x\)座標(東方向)の探索範囲の下限\(x_{min}\)(m)。
The lower limit \(x_{min}\) (m) of the search range of the \(x\)-coordinate (east) of hypocenters.
実数。 但し、推定した震源位置が整数に丸めて出力されるので 整数で与えることを推奨する。
A real number. However, an integer is recommended because the estimated hypocenters are rounded to integers in the output.
省略不可
Cannot be omitted
xmax 震源位置の\(x\)座標(東方向)の探索範囲の上限\(x_{max}\)(m)。
The upper limit \(x_{max}\) (m) of the search range of the \(x\)-coordinate (east) of hypocenters.
\(x_{min}\)よりも大きな実数。 推定した震源位置が整数に丸めて出力されるので 整数で与えることを推奨する。
A real number greater than \(x_{min}\). An integer is recommended because the estimated hypocenters are rounded to integers in the output.
省略不可
Cannot be omitted
xinc 震源位置の\(x\)座標(東方向)のサーチ間隔\(x_{inc}\)(m)。
The search interval \(x_{inc}\) (m) of the \(x\)-coordinate (east) of hypocenters.
\(x_{max}-x_{min}\)の整数分の1となる実数。 推定した震源位置が整数に丸めて出力されるので 整数で与えることを推奨する。
A real number that is an integer divisor of \(x_{max}-x_{min}\). An integer is recommended because the estimated hypocenters are rounded to integers in the output.
\((x_{max}-x_{min})/10\)
ymin 震源位置の\(y\)座標(北方向)の探索範囲の下限\(y_{min}\)(m)。
The lower limit \(y_{min}\) (m) of the search range of the \(y\)-coordinate (north) of hypocenters.
実数。 但し、推定した震源位置が整数に丸めて出力されるので 整数で与えることを推奨する。
A real number. However, an integer is recommended because the estimated hypocenters are rounded to integers in the output.
省略不可
Cannot be omitted
ymax 震源位置の\(y\)座標(北方向)の探索範囲の上限\(y_{max}\)(m)。
The upper limit \(y_{max}\) (m) of the search range of the \(y\)-coordinate (north) of hypocenters.
\(y_{min}\)よりも大きな実数。 推定した震源位置が整数に丸めて出力されるので 整数で与えることを推奨する。
A real number greater than \(y_{min}\). An integer is recommended because the estimated hypocenters are rounded to integers in the output.
省略不可
Cannot be omitted
yinc 震源位置の\(y\)座標(北方向)のサーチ間隔\(y_{inc}\)(m)。
The search interval \(y_{inc}\) (m) of the \(y\)-coordinate (north) of hypocenters.
\(y_{max}-y_{min}\)の整数分の1となる実数。 推定した震源位置が整数に丸めて出力されるので 整数で与えることを推奨する。
A real number that is an integer divisor of \(y_{max}-y_{min}\). An integer is recommended because the estimated hypocenters are rounded to integers in the output.
\((y_{max}-y_{min})/10\)
zmin 震源位置の\(z\)座標(標高)の探索範囲の下限\(z_{min}\)(m)。
The lower limit \(z_{min}\) (m) of the search range of the \(z\)-coordinate (altitude) of hypocenters.
実数。 但し、推定した震源位置が整数に丸めて出力されるので 整数で与えることを推奨する。
A real number. However, an integer is recommended because the estimated hypocenters are rounded to integers in the output.
省略不可
Cannot be omitted
zmax 震源位置の\(z\)座標(標高)の探索範囲の上限\(z_{max}\)(m)。
The upper limit \(z_{max}\) (m) of the search range of the \(z\)-coordinate (altitude) of hypocenters.
\(z_{min}\)よりも大きな実数。 推定した震源位置が整数に丸めて出力されるので 整数で与えることを推奨する。
A real number greater than \(z_{min}\). An integer is recommended because the estimated hypocenters are rounded to integers in the output.
省略不可
Cannot be omitted
zinc 震源位置の\(z\)座標(標高)のサーチ間隔\(z_{inc}\)(m)。
The search interval \(z_{inc}\) (m) of the \(z\)-coordinate (altitude) of hypocenters.
\(z_{max}-z_{min}\)の整数分の1となる実数。 推定した震源位置が整数に丸めて出力されるので 整数で与えることを推奨する。
A real number that is an integer divisor of \(z_{max}-z_{min}\). An integer is recommended because the estimated hypocenters are rounded to integers in the output.
\((z_{max}-z_{min})/10\)
rmax 使用する観測点の基準点(\(x=y=0\))からの最大水平距離(m)。 \(\sqrt{x^2+y^2}\)がこの距離を超える観測点のデータは使用しない。
The maximum horizontal distance (m) from the reference point (\(x=y=0\)) to the stations used. Data at stations where \(\sqrt{x^2+y^2}\) exceeds this threshold distance are not used.
正の実数。
A positive real number.
省略時は水平距離による制限無しとなる。
When this parameter is omitted, no limit is introduced for the horizontal distance.
outputfile 出力ファイル名。 求まった震源がこのファイルに出力される。
The output file name. The estimated hypocenters are recorded in this file.
ファイル名を表す文字列。パスを含んでいても良い。
A string that represents a file name, possibly including its path.
省略不可
Cannot be omitted


◆動作(Behaviour)

パラメータpick_data_dirで指定したディレクトリ内にある 拡張子が「.dat」のファイルからP波・S波到着時刻のデータを読み込み、 グリッドサーチにより震源決定を行って 結果をパラメータoutputfileで指定したファイルに出力する。
Read the P- and S-wave arrival time data from files with “.dat” extension in the directory specified by parameter pick_data_dir, determine their hypocenters by a grid search, and output the results into the file specified by parameter outputfile.

出力ファイルは1行につき1つの地震の震源を表すテキストファイルであり、 書式は下表のようになる。 列の区切りにはタブが用いられる。
The output file is a text file, and each line of the file represents the hypocenter for an earthquake. The format of the output file is given in the table below, where tabs are used to separate the columns.


Column

Value
1 地震の名前。 パラメータpick_data_dirで指定したディレクトリ内のファイル名から 拡張子「.dat」を除いた名前となる。
The name of an earthquake, which is the file name in the directory specified by parameter pick_data_dir without the extension “.dat”.
2 震源位置。 「(\(x\)座標,\(y\)座標,\(z\)座標)」の形式 (例: 「(100,-200,300)」)となる。
The hypocenter location with a format “(\(x\)-coordinate,\(y\)-coordinate,\(z\)-coordinate)” (ex., “(100,-200,300)”).
3 走時残差(s)。 二乗平均平方根(RMS)残差として計算される。 すなわち、地震波到着時刻の\(l\)番目の読み取り値を\(t_l^{obs}\)、 対応する震源-観測点間の理論走時を\(\tau_l^{syn}\)、 発震時刻を\(t_o\)として、走時残差は \[\begin{equation} E\equiv \sqrt{\frac{1}{N}\sum_{l=1}^N (t_o+\tau_l^{syn}-t_l^{obs})^2} \label{eq.residual} \end{equation}\] で定義される。
The travel time residual (s) defined as the root mean square (RMS) residual (Eq. \ref{eq.residual}), where \(t_l^{obs}\) is the \(l\)th picked arrival time, \(\tau_l^{syn}\) is the corresponding theoretical travel time from the hypocenter to the station, and \(t_o\) is the origin time.
4 発震時刻(s)。 (\ref{eq.residual})式の\(t_o\)であり、 走時残差\(E\)を最小化するように計算される。 計算式は \[\begin{eqnarray} \PartialDiff{E^2}{t_o} &=& \frac{1}{N}\sum_{l=1}^N 2(t_o+\tau_l^{syn}-t_l^{obs}) \nonumber \\ &=& 2t_o+\frac{2}{N}\sum_{l=1}^N (\tau_l^{syn}-t_l^{obs}) \nonumber \\ &=& 0 \label{eq.t_o.derive} \end{eqnarray}\] より \[\begin{equation} t_o=\frac{1}{N}\sum_{l=1}^N(t_l^{obs}-\tau_l^{syn}) \label{eq.t_o} \end{equation}\] である。
The origin time (s), defined as \(t_o\) in Eq. (\ref{eq.residual}) and computed by minimizing the travel time residual \(E\). The explicit formula is derived as Eq. (\ref{eq.t_o.derive}) and the result is (\ref{eq.t_o}).


◆使用例(Example)

hypo_gridSearch --pick_data_dir=picks_reformatted --structure_file=etc/structure.ini --topography_files=DEM11.3dz,DEM12.3dz,DEM21.3dz,DEM22.3dz --xmin=-4000 --xmax=4000 --xinc=100 --ymin=-4000 --ymax=4000 --yinc=100 --zmin=-4000 --zmax=3200 --zinc=100 --outputfile=hypo.dat


◆補足(Additional remarks)

このプログラムではOpenMPによる並列化をサポートしている。 並列化したい場合は環境変数USE_OPENMPの値をyesに変更した上でコンパイルする。
This program supports OpenMP parallelization. To use this option, first modify the environmental variable USE_OPENMP from no to yes, and then compile.

bashでの例(Example for bash)
export USE_OPENMP=yes
cd $YMAEDA_OPENTOOL_DIR/hypo
make O3