●SAC (Version 102.0)

Last update: 2020.9.24

101.6aから102.0にバージョンアップされていました。

SACのサイト
SAC Users Manual
SAC Tutorial Guide for New Users

★取得
Software Downloads ? SACのページの"Download latest release"をクリックすると"SAC Software Request"が表示されるので, そこに氏名、所属(Position,Intitution, URL, Email, Address)と希望するコードを入力する(Linux 64bit, Mac など)。
数時間から一日くらい待つと、e-mailの添付ファイルで"sac-102.0-linux_x86_64.tar.gz"のような tar.gz 形式のファイルが送られてきます。

★インストール(CentOS7など一般的なLinuxでは適当な場所に置くだけ。configureやmakeは不要)
※1 ここでは /usr/local に置くこととする
※2 古いバージョンのsacがある場合は,削除するかディレクトリ名を変更しておく

# tar xvfz sac-102.0-linux_x86_64.tar.gz -C /usr/local/


★シェル環境の設定
~/.bashrc に下記を追加する.

if [ -f /usr/local/sac/bin/sacinit.sh ]; then
. /usr/local/sac/bin/sacinit.sh
fi
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${SACHOME}/lib

PATH=$PATH:/usr/local/sac/bin



★共同利用の計算機にソースからインストール場合(防衛大学校のSMP計算機にインストールしたメモ)

・インストール先 ~/sac
・XライブラリのPATH /usr/include/X11

tar xvfz sac-102.0_source.tar.gz
cd sac-102.0
./configure --x-libraries=/usr/include/X11 --prefix=~/sac
make
make install

vi ~/sac/bin/sacinit.sh
# SACHOMEのPATHを~/sac に変更
#(デフォルトでは /usr/local/sac となっている)

vi ~/.bashrc
# 次の2行を追加
export SACHOME=~/sac
. ${SACHOME}/bin/sacinit.sh

設定を読み込むため以下を実行(これ以降に新しくログインするときは不要)
. ~/.bashrc



★sacの簡単な使い方の紹介は「使い方のメモ(卒研生用のメモ)」の「SACの使い方」 に資料を残しています。



★使い方などの追加のメモ

※実行コマンドは,"sac"

※sac library (Fortran等で使う)は下記のの PATH にある.
usr/local/sac/lib/libsac.a
/usr/local/sac/lib/libsacio.a
/usr/local/sac/lib/sacio.a

※sacファイルのヘッダー情報をlisthdrしたときに倍精度で表示する方法(DIST、GCARCなど)
setbbコマンドで OUTPUT(書式) を倍精度に変更してからlisthdrする。

defaultでの出力とsetbbでlong(%.15f)の倍精度で出力の比較
SAC> listhdr STLA EVLA DIST

       STLA = 3.500000e+01
       EVLA = 3.300000e+01
       DIST = 2.886975e+02

SAC> setbb OUTPUT_FORMAT long
SAC> listhdr STLA EVLA DIST

       STLA = 35.000000000000000
       EVLA = 33.000000000000000
       DIST = 288.697479248046875

※setbbコマンドで変更できる単精度、倍精度の指定の一覧
setbb   output_format xxx
xxxに入る例。括弧は書式の説明なので、括弧の前までをxxxに入れる。

default	(%g)
short	(%.4f)
long		(%.15f)
shortG	(%.5g)
longG	(%.15g)
shortE	(%.4e)
longE	(%.15e)

※sacのグラフをpdfで保存する方法
SAC> r test.sac
SAC> p
SAC> save sac_test_graph.pdf
save file sac_test_graph.pdf [PDF]

※各フェーズの理論走時の計算とグラフへの表示の例
datagenコマンドでサンプルデータを作って、traveltimeコマンドで走時の計算をしてからplotする例
SAC> datagen sub deep bla.r
SAC> traveltime verbose picks 0 onrecord on phase all

traveltime: depth: 611.000 km
traveltime: setting phase P        at 698.2086 s [ t = 698.2086 s ] t0
traveltime: setting phase PcP      at 699.6334 s [ t = 699.6334 s ] t1
traveltime: setting phase pP       at 828.4453 s [ t = 828.4453 s ] t2
traveltime: setting phase sP       at 889.8776 s [ t = 889.8776 s ] t3
traveltime: setting phase PP       at 910.5992 s [ t = 910.5992 s ] t4
traveltime: setting phase PKiKP    at 1000.7479 s [ t = 1000.7479 s ] t5
traveltime: setting phase pPKiKP   at 1141.7902 s [ t = 1141.7902 s ] t6
traveltime: setting phase SKiKP    at 1157.6537 s [ t = 1157.6537 s ] t7
traveltime: setting phase sPKiKP   at 1200.4583 s [ t = 1200.4583 s ] t8
traveltime: setting phase SKSac    at 1265.9326 s [ t = 1265.9326 s ] t9
traveltime: error setting phase SKSac    to 1265.932617, too many phases
traveltime: error setting phase SKKSac   to 1276.069946, too many phases
traveltime: error setting phase S        to 1283.528809, too many phases
traveltime: error setting phase ScS      to 1288.346558, too many phases
traveltime: error setting phase SPn      to 1347.896118, too many phases
traveltime: error setting phase SP       to 1348.296631, too many phases
traveltime: error setting phase pSKSac   to 1450.526489, too many phases
SAC> listhdr t0

  FILE: /usr/local/sac/aux/datagen/deep/bla.r - 1
 -------------------------------------------

     t0 = 698.208618164062500
SAC> p1
各フェーズの理論走時のグラフへの表示の例
※新しいsacデータのフォーマット
ヘッダーの NVHDR が 7 となる仕様が追加(これまでは NVHDR は 6 )。
DELTA, B, E, O, A, T0 ... T9, F, EVLO, EVLA, STLO, STLA, SB, and SDELTAの22個の変数が
倍精度のデータとしてフッターにも保存される。
それ以外は変更されていない(たぶん)。
変更例
SAC> r test.sac
SAC> listhdr NVHDR

  FILE: ./test.sac - 1
 --------------------

     NVHDR = 6

SAC> ch NVHDR 7
SAC> listhdr NVHDR


  FILE: ./test.sac - 1
 --------------------

     NVHDR = 7

NVHDR = 7 のことは 「SAC Tutorial Guide for New Users」の「FLOATING-POINT PRECISION IN SAC」
「SAC Data File Format」の「Structure of SAC Binary Data File for NVHD = 7」に説明があります。