SACのインストール

IRIS: Data Services: Nodes: DMC: Software Downloads: SAC

SACとはIRIS(Incorporated Research Institutions for Seismology)が提供する、地震波解析ソフトです。

ダウンロードをするには、IRISによる承認が必要です。詳細は公式ページをご覧ください。

インストール

一般的なソフトと同じく configuremake で行けます。
Ubuntu20.04の場合は、

#!/bin/bash
sudo apt -y install libncurses-dev libedit-dev libxml2-dev
sudo ./configure --prefix=/usr/local/sac
sudo make -j4
sudo make install

で行けます。

WIN・WIN32形式との互換性

win2sac — HinetPy 0.6.7+19.ge014134 documentation
win32toolsのインストール
国立研究開発法人防災科学技術研究所(防災科研)が提供するwin32toolsのインストール方法について説明しています。

ここからが本題です。

防災科学技術研究所にて入手したデータをSACに読み込ませるには、ちょっとした手間がかかります。

人力で頑張る

防災科学技術研究所からデータを入手する

適当にHi-netの波形を入手します。今回は熊本地震の波形を入手してみよう。

HinetPyなら、

from HinetPy import Client, win32
client = Client("username", "password")
client.select_stations('0101', minlatitude=27, maxlatitude=35, minlongitude=128, maxlongitude=133)
data, ctable = client.get_continuous_waveform("0101", "201604160125", 5)

で入手できます。簡単。

完了すると、0101_201604160125_5.cnt0101_20160416.ch が保存されているはずです。

win.prmを作成する

何も考えずに、以下のファイルをwin.prmという名前で作成してください。
お作法です。

.
0101_20160416.ch
.
.

チャンネル番号を取得する

自分がSAC形式に変換したい観測点のチャンネル番号を調べます。
0101_20200101.chを開くとチャンネル番号が記載されているはずです。

もし、複数の観測点の波形をSAC形式に変換したければ、

1111
1112
1113

といった観測点番号をまとめたファイルを作成してもOKです。

変換する

win2sac_32 [WIN・WIN32ファイル] [チャンネル番号・チャンネル番号が書かれたファイル] [ファイル名に付ける接尾辞]

SAC形式に変換します。

win2sac_32 0101_201604160125_5.cnt [チャンネル番号] SAC

これでSAC形式の波形データが作成されているはずです。

HinetPyで変換する

HinetPy.win32 module — HinetPy 0.6.7+19.ge014134 documentation

後からこの機能を知りました。

HinetPy.win32.extract_sacで行けるそうです。
すなわち、

from HinetPy import Client, win32
# client = Client("username", "password")
# client.select_stations('0101', minlatitude=27, maxlatitude=35, minlongitude=128, maxlongitude=133)
# data, ctable = client.get_continuous_waveform("0101", "201604160125", 5)
win32.extract_sac("0101_201604160125_5.cnt", "0101_20160416.ch", with_pz=True)

これで変換できます。簡単。

震源データを追加する

win2sacHinetPyで変換・取得した波形データには震源データがヘッダに記載されていません。

PasteUpなどをする場合は、震源データをヘッダに書き込みます。
熊本地震は、

  • 北緯32.741667度
  • 東経130.808333
  • 深さ11km

で起きたので、

sac
r *SAC
ch EVLA 32.741667
ch EVLO 130.808333
ch EVDP 11

とします。これで変換完了です。

コメント

タイトルとURLをコピーしました