速度構造の指定¶
構造モデルの選択¶
OpenSWPC
の入力速度構造は層構造モデルを基本としている.一つ一つの層は,深さ(もしくは高さ)の変化を持つ--(もしくは緯度経度)の面であり,これを地震波速度・密度ならびに内部減衰の等値面として取り扱う.
変数vmodel_type
の設定によって一様構造,水平成層構造,あるいはNetCDF
バイナリ入力種別を選択できる.
c
Parameters
vmodel_type
-
速度構造モデルタイプの指定.以下のいずれかを選択する.
’uni’
-
一様均質構造.以下のパラメタも指定すること.
vp0
: 一様構造のP波速度vs0
: 一様構造のS波速度rho0
: 一様構造の質量密度qp0
: 一様構造の QPqs0
: 一様構造の QStopo0
: 一様構造の地表面深さ.0
以上の場合にはからtopo0
まで海水で満たされる.
’lhm’
-
水平成層構造(Layered Homogeneous Medium).境界面深さと物性値のテーブルを別途指定する.
fn_lhm
: 成層構造指定ファイル.1行に層の深さ・密度・P波速度・S波速度・QP・QSを空白区切りで記入する.#
はコメント行として扱われる.指定された深さ以深の構造がその行の物性値で満たされる.以下の例を参照のこと.
1 2 3 4 5 6 7 8 9 10
# depth rho(g/cm^3) vp(km/s) vs(km/s) Qp Qs # ------------------------------------------------------- 0 2.300 5.50 3.14 600 300 3 2.400 6.00 3.55 600 300 18 2.800 6.70 3.83 600 300 33 3.200 7.80 4.46 600 300 100 3.300 8.00 4.57 600 300 225 3.400 8.40 4.80 600 300 325 3.500 8.60 4.91 600 300 425 3.700 9.30 5.31 600 300
’grd’
-
NetCDF
ファイル群による構造入力.コンパイル時にプリプロセッサオプション-D_NETCDF
の指定が必要である.以下のパラメタも指定すること.-
dir_grd
: grdファイル格納ディレクトリ. -
fn_grdslt
: grdファイル名と物性値のリストファイル.以下の例を参照.一つ一つのgrdファイルは構造境界の上面の深さを指定する.深さの単位は "m" である.各層毎に,物性値(密度・地震波速度・Q値)を指定する.また,sw
で特定の境界面のgrdファイルを指定することができる.このsw
震源の深さをプレート境界に一致させる(オプションsdep_fit
)際に用いられる.最上面は地表面として取り扱われる.それより上層については,は海水層,それ以外は空気として扱われる.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
# grd filename rho vp vs QP QS sw # ------------------------------------------------------- 'eJIVSM_01_TAB_.grd' 1.80 1.70 0.35 119 70 0 'eJIVSM_02_BSM_.grd' 1.95 1.80 0.50 170 100 0 'eJIVSM_03_BSM_.grd' 2.00 2.00 0.60 204 120 0 'eJIVSM_04_BSM_.grd' 2.05 2.10 0.70 238 140 0 'eJIVSM_05_BSM_.grd' 2.07 2.20 0.80 272 160 0 'eJIVSM_06_BSM_.grd' 2.10 2.30 0.90 306 180 0 'eJIVSM_07_BSM_.grd' 2.15 2.40 1.00 340 200 0 'eJIVSM_08_BSM_.grd' 2.20 2.70 1.30 442 260 0 'eJIVSM_09_BSM_.grd' 2.25 3.00 1.50 510 300 0 'eJIVSM_10_BSM_.grd' 2.30 3.20 1.70 578 340 0 'eJIVSM_11_BSM_.grd' 2.35 3.50 2.00 680 400 0 'eJIVSM_12_BSM_.grd' 2.45 4.20 2.40 680 400 0 'eJIVSM_13_BSM_.grd' 2.60 5.00 2.90 680 400 0 'eJIVSM_14_BSM_.grd' 2.65 5.50 3.20 680 400 0 'eJIVSM_15_UPC_.grd' 2.70 5.80 3.40 680 400 0 'eJIVSM_16_LWC_.grd' 2.80 6.40 3.80 680 400 0 'eJIVSM_17_CTM_.grd' 3.20 7.50 4.50 850 500 0 'eJIVSM_18_PH2_.grd' 2.40 5.00 2.90 340 200 1 'eJIVSM_19_PH3_.grd' 2.90 6.80 4.00 510 300 0 'eJIVSM_20_PHM_.grd' 3.20 8.00 4.70 850 500 0 'eJIVSM_21_PA2_.grd' 2.60 5.40 2.80 340 200 2 'eJIVSM_22_PA3_.grd' 2.80 6.50 3.50 510 300 0 'eJIVSM_23_PAM_.grd' 3.40 8.10 4.60 850 500 0
-
node_grd
: データ読み込み担当ノード.すべての層構造ファイルはここで指定されたノードから読み込まれ,MPIによって全ノードにデータ転送される. -
is_ocean
: 海水モード..true.
(デフォルト)の場合より地表面までは海水で満たされる..false.
の場合には海底面の上はすべて空気となり,海底が自由表面として取り扱われる. -
topo_flatten
: 地形変化を強制的に平坦にする.その分地下構造もオフセットされる.
topo_flatten
名称変更の注意このオプションはVersion 5.1までは
is_flatten
であったが,Version 5.2で実装されたearth_flattening
オプションとの混同を避けるため名前が変更された. -
’user’
src/swpc_*/m_vmodel_user.F90
内のサブルーチンでユーザーが定義する速度構造が読み込まれる.このF90ファイルを変更した場合には再コンパイルが必要となる.サブルーチンの引数についてはファイル内コメントを参照のこと.
vcut
- カットオフ速度.
’lhm’
ならびに’grd’
構造で,この値よりも小さな速度値が与えられた場合には,それを強制的にvcut
に置き換える.低速度域を排除して波長とグリッドサイズの比を一定以上に保つために用いられる.この値が0の場合には置き換えは実施されない.また,海水層()の速度には適用されない. munk_profile
(new in version 5.2).true.
のとき,海水層中に極小値を持つMunk's profileが適用される..false.
であれば一定値が用いられる.次節の説明を参照のこと.- **
earth_flattening
(new in version 5.2)** .true.
のときEarth-flattening tranformation (e.g., Aki and Richards, Box 9.2) により,デカルト座標系を球殻構造に対応する深さと速度の非線形変換を行う.このオプションは長距離(~500 km以上)や深発地震の到達時刻の正確な再現に特に有用である.ただし,P-SVと3D構造ではこの変換は厳密ではないことに注意.
Warning
Version 5.2におけるearth_flattening
モードの実装はまだ試験段階である.利用には十分注意すること.
空気および海水層の取り扱い¶
OpenSWPC
では,空気層は密度 [g/cm],地震波速度
[km/s],内部減衰をそれぞれ仮定している.
空気層は事実上真空として扱えるほどに小さな密度を持ち,かつ地震波速度が0であるため,空中音波は伝播しない.
従って,空気層中の値は結果に影響しない.
ただし,計算コード中に密度の逆数を求める演算があるため,空気層の密度はゼロにしてはならない.
海水層では
[g/cm], [km/s], を用いている.
海中音波の減衰は非常に小さいことが知られており,事実上無減衰になるようなQ値を導入している.
また,P波速度は [km/s] であるが,Version 5.2 以降では munk_profile = .true.
にすることにより,以下の式で定まる Munk's profile を用いることもできる.
ただしの単位は[km]である.この構造は水深1,300 mにSOFARチャネルに該当する極小を持つ.このパラメタが.false.
の場合には [km/s]の一様な値が用いられる.
地表ならびに海底面では,差分式を2次精度変更する境界条件が適用される(e.g., Okamoto and Takenaka, 20051; Maeda and Furumura, 20032).海底ならびに地表の境界は,とが有限の値から0になる,という条件を用いて自動的に抽出される.
ランダム媒質の重畳¶
速度構造’uni’
, ’lhm’
, ’grd’
それぞれに対して,平均速度を成層構造であたえ,それに別途生成したランダムな短波長速度ゆらぎを重畳させることができる.ランダムな速度ゆらぎを事前に生成しておき,別途定義される平均的速度構造,
, に対して,
\begin{align}
V_P = V_{P0} \left( 1 + \xi \right) , \, V_S = V_{S0} \left( 1 + \xi \right) , \,
\rho = \rho_0 \left( 1 + \nu \xi \right)
\end{align}
のようにゆらぎを与える.ただし,ここではとするBirch則を採用している(Sato et al., 20123).
速度構造の指定法は,背景となる平均速度モデルに応じて,vmodel_type=’uni_rmed’
, ’lhm_rmed’
, ’grd_rmed’
の3種類が提供されている.また,ランダム媒質の生成のために別ツール が提供される.
以下で解説する3モデルに共通のパラメタとして,以下のパラメタを用いる.
Parameters
dir_rmed
- ランダム媒質データ格納ディレクトリ
ランダム媒質は3次元もしくは2次元のNetCDF
ファイルとして与えられ,グリッド毎の速度ゆらぎ率が定義されている.並列計算のためにファイルを分割する必要は無く,計算の各ノードが,自ノードの計算担当領域の(i,j,k)
範囲に相当するデータを自動的に抽出する.計算サイズNx,Ny,Nz
がランダム媒質ファイルの次元長よりも大きい場合には,周期的境界条件によって同じランダム媒質を繰り返してモデル領域全体を埋める.実行プログラムは,ランダム媒質の空間グリッドサイズとシミュレーションのグリッドサイズが一致しているかどうか確認しない.計算の空間格子サイズを変更した場合,ランダム媒質も作成し直す必要がある.
なお,2次元計算のコードに3次元のランダム媒質バイナリを用いることは可能である(その場合k=1
の断面が利用される)が,その逆は許されない.
一様均質+ランダム媒質¶
vmodel=uni_rmed
を用いる.vmodel=’uni’
のパラメタに加えて,以下が必要となる.
Parameters
fn_rmed0
- ランダム媒質ファイル名
このモデルでは,平均速度にfn_rmed0
で与えられたゆらぎを重畳させる.ファイルが存在しない場合にはゆらぎが0であると見なす.
水平成層+ランダム媒質¶
vmodel=lhm_rmed
では,vmodel=’lhm’
の成層構造の各層にランダム媒質を重畳させる.その際,各層に異なるランダム媒質を重畳させることも可能である.このモデルでは,fn_lhm
のかわりに以下のパラメタを用いる:
Parameters
fn_lhm_rmed
- 構造リスト
構造リストはfn_lhm
に準じたフォーマットを取るが,その最右欄に,以下の例のように各層のランダム媒質ファイル名を記載する.
1 2 3 4 5 6 7 8 9 10 |
|
この例では,0 kmと3 kmの層にrmedia1.nc
, 18 kmと33 kmの層にrmedia2.nc
を配置する.それより深い部分についてはダミー文字"-"
が書かれている.該当する名前のファイルが存在しなければ,これらの領域には速度ゆらぎは重畳されない.
ランダム媒質ファイルはdir_rmed
から探される.
パラメタdir_rmed
を用いずにfn_lhm
の欄に直接ディレクトリ名を書いてもかまわないが,その場合はかならずファイル名全体をクォーテーションで括ること.
ゆらぎ与えない場合にも,ランダム媒質ファイルの欄には何らかの文字が書かれていなければならない.ファイル名の欄が空白だとエラーになる.
3次元ランダム不均質構造¶
vmodel=grd_rmed
では,vmodel=’grd’
の成層構造の各層にランダム媒質を重畳させる.各層に異なるランダム媒質を重畳させることも可能であり,かつランダム媒質の(鉛直)方向の基準位置を任意の層境界に設定することが可能である.
このモデルでは,fn_grd
のかわりに以下のパラメタを用いる.
Parameters
fn_grdlst_rmed
- 構造リスト
構造リストはfn_grdlst
に準じたフォーマットを取るが,以下の例のように,右欄にランダム媒質ファイル名と基準層の番号を記述する.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
|
ランダム媒質ファイル名の記載方法についてはlhm_rmed
の場合と同様である.
最右欄の数字でランダム媒質層の鉛直方向の基準となる面を指定する.
この値が0であれば,uni_rmed
やlhm_rmed
などと同様にモデルの鉛直方向のグリッド位置のランダム媒質がそのまま用いられる.ここに非ゼロの値NR
が指定されると,NR
番目の層の上面位置からの相対グリッド位置のランダム媒質が用いられるようになる.たとえば上記の例では,第18層から20層までは18層目が,21から23層は21層のそれぞれプレート上面が基準値になっている.これにより,プレート内の不均質構造は水平面ではなく,プレート正面に沿った斜めのゆらぎ構造を導入することができる.
速度ゆらぎの打ち切り¶
速度ゆらぎのパラメタが大きくなると,局所的に非常に地震波速度が大きくあるいは小さくなり,以下の3ケースで計算が不可能になることがある.
-
の場合にが差分法の安定条件から許容される最大速度を超える.
-
の場合,地震波速度が物理的にありえない負の値を取る.
-
の場合,密度が物理的にありえない負の値を取る.
そこで,OpenSWPC
では,ランダム媒質を頂上させた結果の速度を vcut
に制限する.ここでvcut
は低速度打ち切りのための入力パラメタ,は安定条件から許容される最大速度(自動的に計算)である.さらに以下のパラメタを指定することで,密度が負になることを防止している.
Parameters
rhomin
- 最低密度(デフォルトは1.0 g/cm)
-
Okamoto, T., and H. Takenaka (2005). Fluid-solid boundary implementation in the velocity-stress finite- difference method, Zisin 2, 57, 355–364, doi:10.4294/zisin1948.57.3_355. (in Japanese with English Abstract) (article link) ↩
-
Maeda, T., and T. Furumura (2013), FDM simulation of seismic waves, ocean acoustic waves, and tsunamis based on tsunami-coupled equations of motion, Pure Appl. Geophys., 170(1-2), 109–127, doi:10.1007/s00024-011-0430-z. (article link) ↩
-
Sato, H., M. C. Fehler, and T. Maeda (2012), Seismic Wave Propagation and Scattering in the Heterogeneous Earth: Second Edition, Springer Berlin Heidelberg, Berlin, Heidelberg, doi:10.1007/978-3-642-23029-5. ↩