TauP是美國南加州大學(USC)的Lithospheric Seismology Program所開發出來的程式之一,這套程式是用來計算地震波的走時(Travel Time)。除了travel time之外,她還可以計算ray path以及地震波的穿入(pierce)及轉折點(turning)。相較於傳統的ttimes程式,她可以處理更多的速度構造(iasp91, PREM以及QDT);並且可以分析許多虛擬波相的走時。更難能可貴的是,他是用Java所寫成的,因此不需再編譯,只要安裝JRE即可快樂使用。更詳盡的說明,可以看他的手冊,或是解壓縮後就附有使用手冊了。
TauP也採用GPL授權,他的授權聲明在這裡,如果你有趣的話,原始碼解壓縮後在src裡就有了。
目前最新版本的TauP是1.2,您可以點這裡下載,或是直接到這裡查看是否有最新的版本。我猜測作者們應該是在sparc架構上開發TauP,因為她提供了for little-endian類的處理器的版本,而little-endian恰好是x86架構處理器的排序處理方式;如果您在處理資料的時候出現NaN(Not a Number)的錯誤訊息,很可能是因為headers對不上的關係,建議拿這個版本來用;不過這裡僅提供原始碼,您如果有興趣,需要自己編譯;筆者初次嘗試的結果,Makefile並沒有寫好,自己嘗試編譯的結果也沒有成功;等有空再仔細看看好了。
安裝TauP on Linux/MacOS/Unix
假設我們想把TauP安裝在/opt(當然你也可以依照linux的習慣放在/usr/local底下):
wget -c http://www.seis.sc.edu/downloads/TauP/TauP-2.0.tgz接下來設定環境變數:新增兩行到/etc/profile
sudo tar zxvf TauP-2.0.tgz -C /opt
export TAUP_HOME=/opt/TauP-1.2 export PATH=$PATH:$TAUP_HOME/bin完成之後重新登入,輸入taup看看有沒有結果。
如果看不到圖形跑出來,表示你沒有安裝Java runtime environment。通知偉大的系統管理員安裝他吧!
地科系學生常遇到的 Q&A
- 為什麼系統檔案裡有許多地方有.profile這個檔案?該修改哪個才好呢? 系統裡一共會有三個地方會有profile這個名稱:/etc/profile, /etc/skel/.profile以及~/.profile(如果你不知道~是什麼意思,麻煩自己google)
- 為什麼我的系統裡沒有~/.profile也沒有/etc/profile這個檔案? 因為你的linux是Redhat系列(包含CentOS, ScientificLinux, Fedora, OracleLinux),請改用/etc/bash_profile以及~/.bash_profile
- 為什麼我修改完之後,一定需要重新登出?有沒有不重新登出的辦法? 修改完檔案之後,系統並不會自己去讀取環境變數,因此重新登入會強迫使用者重新讀取/etc/profile以及~/.profile這兩個檔案,也就是取得我們新賦予的環境變數。
- 我懷疑我的電腦沒安裝java,該怎麼確定? 1. 問你的系統管理員。
- TauP有沒有文字介面能快速計算地震學的一些參數呢? 當然有,詳細指令請參考TauP指令筆記。TauP在1.2之後新增一個taup_console的指令,這是在taup裡新增一個shell來撰寫Jython語言的一個環境,與計算較無關連。你應該閱讀TauP說明檔來彌補本文的不足。
/etc/profile
系統啟動時所需要的所有環境變數,所有使用者登入時第一個讀取的檔案,包含root也是。
/etc/skel/.profile
系統新增使用者時,會複製一份這個檔案到使用者的家目錄。這個檔案與系統管理員比較有關。
~/.profile所以如果是系統管理員,而所有的使用者都是需要用到這個程式,請寫在/etc/profile;如果你的能力勝過你的系統管理員,是自己安裝來自己用的只是沒root權限,請修改~/.profile。
個人登入時讀取的第二個檔案。如果變數名稱與/etc/profile相同,以後讀的檔案為主。
然而,手動讀取這些環境變數檔也是可以的:
source /etc/profile或是
source ~/.profile你會發現這樣一樣有效。這是個『有限』的有效,因為你的桌面環境是前一次登入所讀取的,你桌面的終端機的變數是後來再source而來的,因此你在桌面再開啟的終端機仍然是繼承先前桌面的環境變數,仍然是舊的變數設定。因此強烈建議不熟悉的使用者,重新登入。
2. 假設你的系統管理員不知道,可以自救:
java -version如果出現command not found,表示沒有安裝。如果出現類似
java version "1.6.0_24" Java(TM) SE Runtime Environment (build 1.6.0_24-b07) Java HotSpot(TM) Server VM (build 19.1-b02, mixed mode)表示你的系統有安裝Java Runtime Environment。
如果出現command not found的話,
aptitude install sun-java6-jre在Debian/Ubuntu下安裝,或
yum install java-1.6.0-openjdk在CentOS/Fedora下安裝,或
zypper install java-1_6_0-openjdk在OpenSuSE下安裝。
Share |
USC是南卡罗莱娜大学~不是南加州
回覆刪除