地殻構造探査学
データ解析演習(事前の準備)
事前の準備 >
課題その1へ
この演習ではUnixの基礎を理解していることを前提としています。必要最低限の説明はしてありますが、慣れていない人は自分で勉強しておいて下さい。
Seismic Un*x(以下SU)を使って反射法地震探査のデータ処理を学ぶ。
参考サイト:
準備
この演習では、Seismic Un*x(以下SU)という反射法地震探査データ処理(だけでなく時系列解析にも使用できる)のオープンソースのソフトウェアを使用する。
A. すでに用意されているSUを使用する場合
地球惑星ダイナミクス講座の学生は、学生用計算機 daikoku (192.168.11.9)
にsshでログインして X を使うことができる。すでにSUが用意されているので準備は簡単である。
daikoku にアカウントを持っていない人は管理者にアカウント作成を依頼して下さい。
個人の利用環境として、以下のいずれか;
- Macintosh(MacOSはUnixなので簡単)
- Xサーバがインストールされていなければ(Mac OS X 10.8 Mountain Lion以降)、XQuartzをインストールする。
- 計算機室(E405) のMacも使える(計算機に特に詳しくない人に推奨)。
- Windows PCなら、Xが使える環境(端末とXサーバ)を用意する。例えば、
- Astec-X(評価版がダウンロード可)などのX端末エミュレータ
- Cygwin/X
- 接続ソフト
と Xサーバ
(特に好みがなければ、PuTTY + VcXsrv を推奨しておく。)
- Unix+X が走るPC (Linux, Windows上のVMware, VirtualBoxなどの仮想マシン, WSLを含む)。Windows10以降ならWSLがお勧め。
と、ネットワーク接続を用意する。
- daikoku (192.168.11.9) へは研究室内 (正確にはsecure-seis内) からのみ接続可能であるので、その外からはVPN経由で接続する必要がある。
該当しない人は次に進んでよい。
B. 自分のPCにSUをインストールする場合(最もお勧め、だが少々知識と作業が必要)
自分のUnix環境(Macも含む)にSUをインストールして使うことができる。
ネットワーク接続は不要で、ファイルの扱いも楽である。
Windows PC(ノートPCで十分)上のUnix環境でもよい。
Mac (MacOS)の場合はそのままUnix機として使える。
- 最近のMacでは試していないので、詳細はわからない(特にX廻り)。どなたか試して下さい。
- Xサーバがインストールされていなければ(Mac OS X 10.8 Mountain Lion以降)、XQuartzをインストールする必要があるそうである。
- SUのインストールは、Windows PCにLinuxを導入してSeismic Un*xを使う「これまでのところ最も簡単かつ本格的な」方法(新)の当該部分の説明を参考にしてほしい。
- $CWPROOT/src/Makefile.config には $CWPROOT/src/config/Makefile.config_MacOSX_*****(自身のOSのバージョンで選択。44R26ではMontereyまでが用意されている)を使用するとよいと思われる。
SUのインストール自体は比較的簡単なので試してみて下さい。
わからないことは相談して下さい。
接続とログイン
- Mac (計算機室のPCを含む) の場合、「X11」、「ターミナル」などのアイコンをクリックしてUnixが利用可能な端末を起動する。
- Windows、Unixなどそれ以外の環境の場合、それぞれXサーバと端末を起動する。
- Windows で PuTTy + VcXsrv を使う場合、VcXsrvを起動(常駐)させ、puttyを起動してターミナルから接続する。
A. daikoku (192.168.11.9) を使用する場合
sshを使用してdaikokuにログインする。学外ほか地震火山研究センターのネットワーク(secure-seis)の外からはセンターのVPNを経由して接続すること。
$ ssh -Y username@192.168.11.9
B. 自分のPCを使用する場合
それぞれターミナルを起動するか、自分のPCで動いているUnixに接続する。WindowsでWSLを使用する場合は、Windows PCにLinuxを導入してSeismic Un*xを使う「これまでのところ最も簡単かつ本格的な」方法(新)を参照。
"username"には自分のユーザ名を入れる(usernameとそのまま入力しないこと)。
環境設定
SUを使うために以下の設定(環境変数の定義)をする。シェルの種類によって方法が異なる。
- bash(多くのLinuxでデフォルト)、zsh(最近のMacでデフォルト)などの場合
ここから
--------
export CWPROOT=/usr/local/cwp
export PATH=$CWPROOT/bin:$PATH
--------
ここまで
上記を任意のエディタ(vi, Emacsなど)を用いて設定ファイル(bashでは ~/.bashrc, zshでは ~/.zshrc) に追加し保存する。例えば、
$ vi ~/.bashrc
$ emacs ~/.bashrc &
(daikokuの場合)下記にしたがって、上記の設定を書き込んであるファイルを追加してもよい。
$ mv ~/.bashrc ~/.bashrc.bak
$ cat ~/.bashrc.bak /export/watanabe/exercise/dot.bashrc.add > ~/.bashrc
できたら設定の内容を確認する。
$ cat ~/.bashrc
設定を反映させる。
$ source ~/.bashrc
設定の確認をする。
$ printenv
環境変数 CWPROOT と PATH が設定を正しく反映していることを確認する。
- csh, tcshの場合
ここから
--------
setenv CWPROOT /usr/local/cwp
setenv PATH $CWPROOT/bin:$PATH
--------
ここまで
上記を~/.cshrcに追記して、
source ~/.cshrc
設定の確認をする。
$ setenv
環境変数 CWPROOT と PATH が設定を正しく反映していることを確認する。
次回以降ログイン時には(正確には新しくシェルを起動するたびに)設定が反映されているはずであるが、アクセス方法により ~/.bashrc の設定が反映されないことがあるようだ。
SUコマンドが動かない("command not found" あるいは「コマンドが見つかりません」と言われる)ときは、まず ~/.bashrc の設定を確認して、上記のように手動で sourceコマンドを実行することで対処できる。
データ
A. daikoku (192.168.11.9) を使用する場合
この演習で使用するデータなどは下記に置いてある。
192.168.11.9:/export/watanabe/exercise
演習に必要なデータやスクリプトを、自分が作業するディレクトリにコピーする。
$ mkdir exercise (ディレクトリの名前はexerciseでなくても何でもよい)
$ cd excercise (作成したディレクトリに移動する)
$ cp /export/watanabe/exercise/demo*.su . (ファイル名がdemoで始まるデータを自分のいるディレクトリにコピーする)
$ cp /export/watanabe/exercise/*.sh . (シェルスクリプトをコピーする)
$ cp /export/watanabe/exercise/*.par . (スクリプトのパラメータのファイルをコピーする)
$ ln -s /export/watanabe/exercise/Nshots.su Nshots.su (データにリンクを張る)
$ ln -s /export/watanabe/exercise/Nstack.su Nstack.su (データにリンクを張る)
'*' は任意の文字に該当するので複数のファイルがコピーされる。
- Nshots.suは実習で扱う実際のデータ(ショット記録)。
- Nstack.suは処理済みの記録。
データのサイズが大きい(Nshots.suは424MBある)ので、コピーをせずに、自分が作業するディレクトリにシンボリックリンク(Windowsでいうショートカットのようなもの)を張る
(言葉の意味がわからない人はUnixを勉強して)。
以下のファイルが用意される。'ls'で確認する。
$ ls
Nshots.su demo_bpf.su demo_mig1.su interactive_velocity_analysis.sh
Nstack.su demo_dcn.su demo_mig2.su interactive_velocity_analysis_original.sh
create_BPF_panel.sh demo_fkf.su demo_mig3.su parameters_for_interactive_velocity_analysis.par
create_CVS_panel.sh demo_fkf2.su demo_mig4.su plot_seismic_section_with_velocity.sh
create_MIG_panel.sh demo_imp.su demo_nmo.su plot_velocity.sh
B. 自分のPCを使用する場合
別途ファイルを用意してあるのでここから入手して説明にしたがって用意すること(受講者限定)。
基本
SUプログラムはUnixのコマンドと同様に"標準入力からデータを受けて、処理し、
標準出力に出力する"。
- < ファイル入力
- > ファイル出力
- | パイプ(次のコマンドに出力を渡す)
基本的な使い方は以下の通り。
$ suプログラム option1=value1 option2=value2 .... (オプション) < 入力データ > 出力データ
$ suプログラム option1=value1 option2=value2 .... (オプション) < 入力データ | 次の処理... > 出力データ
$ 前の処理 | suプログラム option1=value1 option2=value2 .... (オプション) | 次の処理
(重要)suプログラム名だけを入力する(オプションや入出力なしで)と簡単な使い方が表示される。便利なので活用してほしい。
以下のコマンドを入力・実行して説明が表示されることを確認する。
$ suplane
$ suxwigb
$ xwigb
$ suximage
$ ximage
以下のコマンドを入力・実行して画面が表示されることを確認する。
$ suplane | suxwigb &
$ suplane | suximage &
図が表示されない場合は「設定」に戻って設定を確認する。
- suplane は簡単な波形記録を作成するプログラム。
- suxwigb はデータを波形表示するプログラム。
- suximage はデータをイメージ(濃淡, カラー)表示するプログラム。
表示された図の中で以下を確認しよう。
- マウスの左ボタンのクリック・ドラッグでズーム。左ボタンのクリックで元に戻る。
- イメージ表示では'h', 'H', 'r', 'R'キーでカラー表示が変更できる。押すたびにカラーパレットが変更されるので何回か押してみる。
- マウスの中ボタンでマウス位置座標を取得できる。左上に表示される。
- 'q'を押すと表示が終了する。ウィンドウをマウスでボタンを押して閉じるのではなく'q'を押して終了させるようにしよう。
ここまでできれば準備はOK。
逆に、ここまでできないと先の演習ができない。できない人、わからない言葉のある人は、わかるまで勉強するか、担当教員か同僚・先輩などに聞くように。
提出課題
$ suximage < Nstack.su perc=?? &
を実行して画像を出力しなさい。縦軸は時間(s)、横軸は位置(CDP番号)。5秒以降の波形部分がよく見えるように、縦横比、カラー表示、表示部分などを変更しなさい。
すなわち、そのまま出力した以下の図と類似した図は却下とする。
- 'perc=??' は図の表示のクリップ値を与えるオプションで、数値は百分位で表す('perc=95'であれば小さい方から全体の95%のデータをフルスケールで表示する)。'perc=??' の??の部分には100(%)から90(%)あたりの数字を入れて結果を比較し、使い方を確かめてみよう。
- 画像のサイズ(縦横)、表示域のズーム、カラー表示などの変更を試してみるように。
結果の画像の出力方法(のうち、画面キャプチャかxwd使用でよい)を参照して出力結果を提出しなさい。
事前の準備 >
課題その1へ
戻る
Last modified: Wed Oct 21 14:50:33 JST 2026