[程式] Earthworm 學習筆記:20170725 [email protected](I)

Earthworm 是一套模組化、可擴張、穩定且跨系統的地震資料處理程式,早在1993年便開始開發,是一個非常成熟且具有彈性的地震資料處理程式。今天到臺大參加 Earthworm 的 Pre-workshop(正式的 Earthworm workshop在7/27星期四),由達逸學長教我們建立基本的 earthworm 系統,並建立一個 Wave server 給其他的客戶端使用。下面會精簡的記述課堂練習的成果。

上篇記述基本概念與如何啟動一個沒有任何模組的 Earthworm 程式。

架構

Earthworm (下面用 EW 簡寫)有些比較專門的名詞,先說一下:

  • Module 模組(M):具有特別目的的程式,可以參考 這個網頁 裡面羅列的所有Earthworm 模組。
  • Ring 共享記憶體(R):一個共享的記憶體空間,提供給不同模組間交換資料使用。
  • Diagram:工作的流程圖,使用者規劃的資料處理流程,由許多 M 與 R 或其他單元組成。可以注意的是這個流程圖不侷限在同一台電腦裡完成所有工作。

圖:這次 Pre-workshop 主要的工作流程圖,今天將會建立一個從 IRIS 接收及時震波資料,並架設波形伺服器供其他客戶端使用。

啟航!

我們開始一個最基本的 EW 程式吧!就是…啟動不含模組的 EW 。

下載軟體:

請至 這邊 點選一個 EW 發佈版的下載位置,並下載相對應自己作業系統的程式版本。筆者以「MacOSX Intel 64-bit」版本為例,下載完後是個 tar.gz 的壓縮檔,解壓縮後即包含所有必要的執行檔。

將檔案放置在你想放的地方,筆者是放在「/usr/local/Cellar/earthworm_7.8/」資料夾內,EW版本為7.8

準備啟動的必要檔案:

首先,在 EW根目錄($EW_ROOT/earthworm_7.8/) 建立一個「Run」的資料夾,並在下面建立「params」、「logs」、「data」等資料夾,裡面將分別存放「必要的參數設定檔」、「執行記錄」與「資料」檔案

要成功啟動 EW 最少要下面四個檔案:「earthworm_global.d」、「earthworm.d」、「ew_macosx_intel.sh」、「startstop_unix.d」。請在 EW根目錄 下「params」與「environment」找到上面提到的檔案。(註:請選擇符合自己作業系統的檔案,如果是 Windows 作業系統則使用檔名內有 nt 的設定檔。)

「earthworm_global.d」是 EW 的核心設定檔,程式設計者以明確說明若非必要使用者不應更動檔案的任何部分 。

「earthworm.d」則是設定使用者可客製化的參數,比較重要的是任何 EW 使用到的 M 與 R 都要在這個檔案中定義(像是C的標頭檔,先宣告有什麼模組或是共享記憶體可以使用)。

「ew_macosx_intel.sh」是幫助建立執行環境的設定檔,裡面記述了安裝的路徑等必要的參數。講師說因為有部分 EW 模組會用到 C 與 Fortran 編譯器(Compiler),因此在執行 Windows 的設定檔後若系統沒有安裝對應的編譯器會顯示「裝置未就緒」,但以今天的範例我們不需要編譯器。

「startstop_unix.d」是 startstop 程式的設定檔,專門用來啟動與結束 EW。

設定基礎設定

ew_macosx_intel.sh

由於 EW 是命令列工具,因此我們需要為命令列建立一個執行環境(定義安裝位置等),所以我們要先編輯「ew_macosx_intel.sh」這個檔案(Windows 則是 「ew_nt.cmd」這個檔案)。參考的設定如下:(注意:筆者是在「run_20170725」資料夾中執行 EW ,請替代為你想執行 EW 的路徑)

earthworm.d

目前不需要更動檔案,不過之後想要增加 Ring 數目時,請到這個檔案新增 Ring 資訊(第 29 行附近)。範例如下:

這邊我增加(宣告)了「Ring XYZ_RING 1024」,之後 startstop 模組即可順利創建共享記憶體。

startstop_unix.d

這邊定義了 startstop 應該初始化(或說起動)哪些模組與共享記憶體。設定檔比較重要的部分擷取出來如下:

準備啟動啦!

首先,打開「終端機.app」(Terminal.app),進入剛剛創建的「run」 中「params」資料夾。

執行設定檔:

此時,所有 EW 的執行檔(位於 「…/earthworm_7.8/bin/」 路徑內,「…」為省略安裝路徑)應該已經被加入 PATH 的變數中,接著執行 startstop 程式啟動 EW:

執行後畫面的訊息應該向下面這樣:

就代表成功啦!

如果要跳出,在終端機打入「quit」即可

 

 

 

 


請多多指教!

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料