プログラムと電子工作の置き場、たまにコラム

日々のスニペットやMaker's系のプログラムを置いてきます。

緊急地震速報の受信端末を作る (2)理論編

まずは緊急地震速報の理論側をみていきたいと思います。

緊急地震速報は現在基本的に経験則に基づいたモデルを利用しています。震源地からの距離に比例して地震の揺れが弱くなることは一般的な想像できると思いますが、過去の地震データを参考に、最大振幅等を目的変数、マグニチュード震源距離、地盤条件などを説明変数として回帰分析して得られたものが距離減衰式です。

ということで、まずは震源距離を求める必要があります。

震源距離

ここで地球を球面とし、地球上の2点間距離、PQを以下で表すと

PQ間の距離は以下の式で求めることができます。
で、これは地球の半径(Km)です。

しかしながら、今回のような利用場面では直線での近似値を利用しても特に問題ないと思います。
説明の簡易性もあることから平面を採用するとして、その場合はピタゴラスの定理より

R : 震源距離(km)
k = 111.32km (経度1度)
Ax、Ay:活用地点の緯度・経度(単位:度)
Bx、By:震源の緯度・経度(単位:度)
D : 震源の深さ(km)

マグニチュード

地震の規模を示す値のマグニチュードには様々な種類があるのですが、その始まりの定義は震央距離⊿=100kmの位置に置かれた地震計で記録された最大記録振幅A(単位:μ)の常用対数を取ったものです。 この振幅を基準にした地震の規模を表す指標は、規模が大きな地震になると低周波域に波がシフトするためにMの数値に正確に反映されないという問題点がありました。

そこで、地震の断層運動のモーメントを表したモーメントマグニチュードが現在一般的に使われています。
日本国内では速報性にすぐれた気象庁独自の値である、気象庁マグニチュードも発表されます。
緊急地震速報ではこの気象庁マグニチュード(Mj)をモーメントマグニチュード(Mw)に変換して利用します。

宇津の経験式(宇津:1982)より。

ただこの宇津の経験式とモーメントマグニチュードはかなりの乖離が生じてしまうのですよね・・・。
 
この原因は地震の周波数の違いに起因するのだろうか。阪神大震災のように周波数が短い場合は、MwがMjに比べて低くでるのだけど、東日本大震災のような周波数が長いとその逆で宇津の経験式ではかなりの差がでてしまう。この経験式は1982年とかなり古い内容で、いまではデータもより新しいものがあるかと思いますので、ここらへん地震学者の方々には乖離の少ない式を作ってくれると嬉しいですよね。

最短距離

震源地から観測値までの最短距離を求めましょう。
地震は断層破壊によって起こるものであることから点で考えるよりも震源地は面で考える方が実態を反映します。宇津(1977)相似即によってMwから以下の式によって断層距離を求めます。

最大速度

地震の最大速度は工学的基盤という地表よりも硬い状態の地盤を対象として計算します。

D : 震源の深さ(km)
X : 断層最短距離(km)

地盤増幅率

地盤増幅率というのは地表面の地盤による地震波の増幅率です。
丘陵に比べて埋立地は増幅率が高いというのは感覚的に理解できそうです。地盤を統一的な手法により約1kmメッシュ及び約250mメッシュ区画で微地形区分として分類した地図から活用者側の地形データを調べます。

震度推定地点の計測震度

最後ににPGVから震度の変換については以下の関係式を使います。翠川・他(1999)

ふぅー。ざっと理論確認することができたので、コードを書いていきましょう。

本来であればスクリプト言語で書く分野ではないと思いますが、今回はラピットプロトタイプングなのでRubyを使っていきます。

gist.github.com