2011年6月26日 星期日

SEISAN on Linux安裝筆記

SEISAN(SEISmic ANalysis system)是挪威的Bergen大學地科系所開發出來的一套完整地震分析程式組,套用目前IT的語言,他類似一套地震分析的framework;白話而言,SEISAN試圖包含所有地震學可能會用到的工具集於一身,裡面有focmec,有wkbj工具,有hyp(看起來像是hypoDD之類的重新定位程式),可以分析數位或是類比的地震資料。(脫離地球物理領域太久,都不太知道如何介紹這個好程式了!)作者提供了所有平台的版本(FreeBSD或許可以用solaris的版本試著編譯),包含Linux, Solaris, MacOSX(intel), MacOSX(ppc)以及windows版本,本文則是針對在linux的環境下編譯並設定的筆記。

  1. 取得最新版本的SEISAN
  2. 請到ftp://ftp.geo.uib.no/pub/seismo/SOFTWARE/SEISAN/取得適合你平台的package來安裝,以32bits的linux為例,你應該要下載seisan_v9.0.1_linux_32bit.tar.gz這個檔案。
  3. 安裝gfortran以及X11函式庫
  4. Debian/Ubuntu系列:
    aptitude install gfortran libX11-dev -y
    Fedora/CentOS系列:
    yum install gcc44-gfortran libX11-devel -y
    OpenSuSE/SLES系列:
    zypper in -y gcc-fortran xorg-x11-devel
  5. 解壓縮檔案

  6. 有些科學家似乎連tar跟tar.gz都搞不清楚。這個下載完成的檔案,你看他的檔名是tar.gz,於是你認為他是一個tar+gzip的檔案。其實她只是一個tar的檔案:
    file seisan_v9.0.1_linux_32bit.tar.gz
    seisan_v9.0.1_linux_32bit.tar.gz: POSIX tar archive (GNU)
    所以這壓根不是tar.gz,只是一個普通的tarball而已。真正的tar.gz其訊息應該是這樣:
    file seisan_v9.0_linux_32bit.tar.gz
    seisan_v9.0_linux_32bit.tar.gz: gzip compressed data, was "seisan_v9.0_linux_32bit.tar", from Unix, last modified: Tue Mar 1 16:52:15 2011
    所以解不開或是解開後有錯誤訊息很正常,因為你被檔名誤導了。版本在9.0的時候還沒這麼荒誕的錯誤,如果不小心點真的會被搞死。
    假設你要安裝seisan的目的地為/opt/SEISAN901:
    mv seisan_v9.0.1_linux_32bit.tar.gz seisan_v9.0.1_linux_32bit.tar
    sudo mkdir /opt/SEISAN901
    sudo tar xvf seisan_v9.0.1_linux_32bit.tar -C /opt/SEISAN901
  7. 修改COM/SEISAN.bash
  8. 修改下列變數:
    export SEISARCH="gfortran"
    export SEISAN_TOP="/opt/SEISAN_v901"
    			
  9. 修改~/.profile
  10. 新增兩行到~/.profile這個檔案(CentOS/Fedora則是~/.bash_profile)
    export SEISAN="/opt/SEISAN901"
    source /opt/SEISAN901/COM/SEISAN.bash
    稍候會用到root身份編譯,因此先用root身份export SEISAN變數到環境變數裡:
    sudo source /opt/SEISAN901/COM/SEISAN.bash
  11. 修改PRO/Makefile
  12. 修改下列變數:
    INSTALL_PRO_PATH = /opt/SEISAN901/PRO
    xlink_gfortran = -lX11 -L/usr/lib/X11
  13. 產生libmseed.a
  14. cd /opt/SEISAN901/SUP
    sudo tar zxvf libmseed-2.5.1.tar.gz -C ../LIB
    cd ../LIB/libmseed
    sudo make
  15. 修改DAT/SEISAN.DEF
  16. 修改下列變數:
    WAVEFORM_DIRS      Waveform drectory    /opt/SEISAN901/WOR/seisnet
    TEXT_PRINT               Unix example   lpr -Plp1
    INIT_IMGMAP_FILE         PC example     /opt/SEISAN901/DAT/IMGWORLD.gif
    IMGMAP_PATH              PC example     /opt/SEISAN901/DAT/IMGMAP
    INTERNET_BROWSER         Unix example   /usr/bin/google-chrome
    ACROBAT_READER           Unix example   /usr/bin/acroread
    HELP_DIR                 PC   example   /opt/SEISAN901/INF
  17. 進行最後編譯
  18. 雖然9.0.1版在PRO目錄下已經有許多編譯好的binaries,不過由於作者在編譯時的環境跟我們的環境未必相同,因此容易遇到遺失libgfortran.so.1這類訊息,因此還是要自行重新編譯。先前的準備工作就是為了能夠成功編譯,快樂的開始吧!
    sudo make all
    此時可以檢查程式是否可以執行,試著輸入seigmt看看有沒有 Nordic input file這樣的訊息出現。如果還是command not found,請重新登入應該就可以了。

這些天才科學家能不能寫一個不需要修改這麼多設定的程式呢?

Share this Link