簡易津波伝播シミュレータ(STPS)

さいすけ @seisorche さん作 (v7.0:2025.12.9版)

2026年1月5日記

さいすけさんが作成された津波伝播シミュレーションプログラム(tsunami.exe:2013.11.28版)および出力データの3Dグラフを利用した簡易表示用Excelファイルに塩井がマクロで連続出力機能を追加したものを2013年12月29日に公開して希望者に実行ファイルを配布していましたが、2025年11月に配布した方からプログラムの出力がエラー終了してしまうとのお知らせをいただきました。塩井が2017年にWindows7マシンで動作確認していましたが、Windows10マシンになってから動作確認を怠っていました。塩井がチェックした結果、プログラムの出力がエラー終了してしまう状態はWindows10・11マシンとも同様でした。当時のソースコードはさいすけさんのほうで繰り返しアップデートされているため残っておらず、あらためて最新バージョンを公開させていただくことになりました。最新バージョンでは複数枚の断層面に対応し、断層面がすべり始める時間を設定することで、よりリアルなシミュレーションが可能になっています。簡易表示用ExcelファイルにもWindows10・11になって異常終了してしまう問題があり、こちらも改善したものを作成しました。ただし、Excelの仕様(おそらくバグ)のため、プログラムの出力全601ファイルを一度に画像出力できません(541ファイル目でシャットダウン)。そのため、2回に分けて出力するか、ステップを2以上にすることで対応していただくことになります。

さいすけさんのnoteサイト「津波シミュレーションソフトを公開する予定です」(2025年12月11日掲載)

●STPSの仕様
1.参考プログラム:断層モデルによる地殻変動計算プログラム「DC3D」(防災科研 岡田義光氏作成)
          http://www.bosai.go.jp/study/application/dc3d/DC3Dhtml_J.html
          ※入力した断層モデルから、水深0kmの鉛直方向地殻変動を計算し、これによる上下方向の
           地殻変動をそのまま海底の変動と仮定し初期波源として計算しています。
           断層モデル入力方法は上記URLの「(注1)パラメータAL1,AL2,AW1,AW2の与え方の例」を参照して下さい。
           STPSではAL1=0、AW2=0で固定しています。また、他にも簡略化したルーチンが有ります。
2.動作確認済OS :Windows10・Windows11
3.対応断層面  :単一面・複数枚
4.海底水深データ:ETOPO1 (NOAA) の1.0分グリッドを0.05度に再サンプリング
5.計算メッシュ :0.05度×0.05度
6.計算時間   :地震発生後0秒から10秒おきに6000秒(100分)後まで出力
7.陸地の処理  :出力データでは0.1mとして海域と区別しています。
8.補足事項   :1)遡上は考慮していません。
          2)地球の自転は考慮していません。
          3)海底と海水の摩擦は考慮していません。
          4)緯度20-60・経度120-160で計算を行い、その外では数値計算上、
            壁が存在して波が反射する仕様です。
          5)厳密な数値計算には不向きです。
            「津波の挙動を概観する教育用ツール」として使って下さい。

●STPSのセットアップ
1.ダウンロード :下記リンクを右クリックからダウンロードして下さい。
          https://h-shioi3.la.coocan.jp/STPS/STPS.zip
2.準備     :ダウンロードした「STPS.zip」を任意のフォルダに展開します。
          「STPS.zip」を展開すると下記の4ファイルが生成されます。
          1)実行ファイル「STPSv7.0.exe」
          2)海底水深データ「seafloor.topo」
          3)パラメータファイル「cntl.txt」
           ※同梱したcntl.txtは2011年 東北地方太平洋沖地震の単一面パラメータ例、
            cntl3.txtは2011年 東北地方太平洋沖地震の複数枚断層面パラメータ例です。
            cntl3.txtをcntl.txtにリネームすることで複数枚断層面例の出力が可能です。
          4)出力データの3Dグラフ描画・画像化Excelファイル「STPS_OutputImaging.xlsm」

●STPSの使用方法
1.パラメータファイル「cntl.txt」の編集
  メモ帳、エディタなどテキストデータを編集できるアプリを使用します。
  ※元のデータを保存しておく場合はリネームし、編集ファイルを「cntl.txt」で保存して下さい。
  1)7行目:計算を行う領域(経度と緯度)の指定(度単位、カンマ区切り)
    ※結果を見たい範囲より1度ずつ広く設定して下さい。     例「34.0, 46.0, 140.0, 146.0」
  2)10行目:断層セグメントの数の指定
    単一面の場合は「1」、複数枚の場合は枚数を入力します。
  3)11行目以降:震源断層パラメータの指定(単位は下記参照、タブ区切り)
    例「40.0 144.0 1000. 198. 20. 90. 500000. 120000. 20. 10.0」
    ※断層基準点緯度・経度、上端深さ、走向、傾斜、すべり角、断層長さ、断層幅、すべり量、すべり始める時間
       (°)    (°)  (m)   (°) (°)  (°)   (m)    (m)   (m)     (s)
    ※複数枚の場合は枚数分の震源断層パラメータ行を入力します(「cntl3.txt」参照)
2.起動・実行
  実行ファイル「STPSv7.0.exe」をダブルクリックして起動してください。実行ファイルは名称変更可です。
  DOSプロンプトが立ち上がり「Reading sea floor data....」「Preparing sea floor data...」
  「Initialization...」「Now Start Simulatiom...」と表示された後に「T(s): 0.0 max height: *.***」
  から始まるデータ出力表示が続けばプログラムが立ち上がり、実行されています。
  データは「height.t-0000.dat」から「height.t-6000.dat」まで6000秒間の10秒毎に601ファイルが出力され、
  他に、地形データ「topo.dat」とグリッド毎の最大波高データ「height-max.dat」が出力されます。
  ※実行時間は10分〜15分かかります。
3.出力データの3Dグラフ描画・画像化
  Excelファイル「STPS_OutputImaging.xlsm」をダブルクリックして起動してください。
  Excelファイルは名称変更可です。
  ※起動した時に「グラフ」シートのタブが選択されていない場合「グラフ」シートを選択して下さい。
  ※「セキュリティの警告 マクロが無効にされました。」と表示された場合「コンテンツの有効化」をクリックして下さい。
  ※3Dグラフの一つの軸あたりのデータ数が256個までのため、図化範囲は256×0.05で緯度・経度範囲12.8度までです。
  ※「地形描画出力」「各グリッド最大出力」「グラフ出力」は下位フォルダ「Graph」を作成し、そこに画像保存されます。
  1)マクロ実行ボタンの説明
    地形描画     :現在の3Dグラフ設定で出力された地形データ「topo.dat」を表示します。
    地形描画出力   :地形データ「topo.dat」を表示し画像に出力します。
    各グリッド最大出力:グリッド毎の最大波高データ「height-max.dat」を表示し画像に出力します。
    最大・最小チェック:波高データの最小値および最大値をチェックし、最小値をG3セル、最大値をH3セルに表示します。
              ※実行には1時間前後かかります。その間、他の作業を行うとエラーでシャットダウンするので、
               PCで作業を行わない時間帯に実行して下さい。
    グラフ出力    :波高データ6000秒間10秒毎の601ファイルの3Dグラフを非表示で作成して画像に出力します。
              次項のグラフ出力の設定値入力を行った後に実行して下さい。
              ※実行には1時間前後かかります。その間、他の作業を行うとエラーでシャットダウンするので、
               PCで作業を行わない時間帯に実行して下さい。
              ※グラフ出力を行った後、次のグラフ出力を行う前にExcelデータを終了し再度起動してください。
  2)3Dグラフ出力の設定値入力
    ※入力セルに表示されている「min=」などの文字は書式設定で表示しているため、入力は数値のみです。
    縦軸最大・最小  :G3セルに最小値、H2セルに最大値をm単位で入力して下さい。
              最大・最小チェックを行った場合、最小値G2セル、最大値H2セルの数値を参考にして下さい。
              ただし、デフォルトで入力されている最小値「-4」、最大値「10」以外の数値にすると、
              3D表示の色範囲が変わってしまい、設定の必要があります。
    回転       :3Dグラフを回転(時計回り)させながら出力する場合、1画像毎の回転角度を入力します。
    開始秒・終了秒  :出力を開始する秒と終了する秒を10秒単位で入力します。最大は6000秒です。
              ※Excelの仕様(おそらくバグ)のため、プログラムの出力全6000秒(601ファイル)を一度に
               画像出力できない(541ファイル目でシャットダウン)ため、全601ファイルを画像出力する
               場合は、0秒〜3000秒、3010秒〜6000秒などに2回に分けて画像出力して下さい。
    ステップ     :開始秒〜終了秒範囲で全ファイルを画像出力する場合は「1」を、1つ飛ばし以上で画像出力する
              場合は「2」以上を整数で入力して下さい。「2」以上の場合は6000秒を一度に画像出力可能です。
  3)3Dグラフの初期回転状態の変更(必要な場合)
    3Dグラフをクリックして選択し、3Dグラフ上で右クリックして表示されるメニューから「3-D 回転」をクリックすると、
    画面右側に表示される「グラフ エリアの書式設定」の「3-D 回転」の「X方向に回転」で基準(北が左)からの水平方向の
    回転角度を入力し、「Y方向に回転」で水平面(真横から見た状態)からの縦方向の角度を-90度から90度の範囲で入力
    します。
  4)3Dグラフ配色の変更(必要な場合)
    3Dグラフの凡例をクリックして選択し、各範囲項目をダブルクリックすると画面右側に「領域の書式設定」が表示される
    ので、アイコンメニューの左側を選択して「塗りつぶし」の「色」を変更します。これを全範囲項目について行います。

●出力画像のアニメ化
Windowsのフォトビュアー等でコマ送りやスライドショーを使用すればアニメと同様の効果がありますが、塩井は下記のGIFアニメ作成ソフトを使用してアニメ化しています。
「Giam」GIF/MNG形式のアニメーション画像を作成・編集 https://forest.watch.impress.co.jp/library/software/giam/(窓の杜)

1.2011年 東北地方太平洋沖地震 複数枚(cntl3.txt)・縦回転角40度・20秒毎


2.2011年 東北地方太平洋沖地震 複数枚(cntl3.txt)・縦回転角0度・20秒毎


地震・火山・地質・天文・新型コロナウイルス感染症関連メニュー