呂 帥 楊周勝 姚 遠(yuǎn)
(云南省地震局,云南昆明 650224)
地震預(yù)警指的是在地震發(fā)生后,基于儀器記錄盡可能利用先期信息較精確估計地震發(fā)生地點和大小,在破壞性地震波到達(dá)前預(yù)測特定目標(biāo)地區(qū)地震動場和破壞性地震波到達(dá)時間,并決定是否發(fā)布預(yù)警信息[1-2]。美國、日本、墨西哥和意大利等國早在20世紀(jì)60年代就開展了地震預(yù)警系統(tǒng)的研究。對于地震預(yù)警來說,從地震臺站觸發(fā)到預(yù)警信息發(fā)布分秒必爭,因此,計算地震三要素,完成預(yù)警信息發(fā)布的地震預(yù)警軟件顯得尤為關(guān)鍵。PRESTo作為一款地震預(yù)警處理軟件,擁有高效快捷、人機(jī)交互方便、拓展性強(qiáng)等優(yōu)點。本文將從PRESTo系統(tǒng)的基本情況、系統(tǒng)功能、基于云南測震臺網(wǎng)的本地化配置部署和基于云南地震數(shù)據(jù)的測試4個方面對其進(jìn)行介紹,最后對軟件特點進(jìn)行總結(jié)歸納。
PRESTo是意大利RISSC-Lab研究人員設(shè)計和開發(fā)的一款輕量級開源免費的地震預(yù)警系統(tǒng),集成了數(shù)據(jù)接入、P波檢測、地震定位、震級估算及峰值加速度計算等模塊,提供圖形化的地震預(yù)警可視化展示及告警信息發(fā)布功能。軟件使用C++編寫,可以在Windows、Linux和Mac上運(yùn)行,具有良好的移植性[3]。系統(tǒng)從2009年起在意大利ISNet(Irpinia Seismic Network)[4]、韓國地球科學(xué)和礦產(chǎn)資源研究所(KIGAM network)[5]、羅馬尼亞國家地球物理研究與發(fā)展研究所(RoNet-Romanian Seismic Network)[6]和土耳其Kandilli天文臺和地震研究所(KOERI network)進(jìn)行了測試及應(yīng)用,取得了良好效果[7]。
PRESTo軟件可通過訪問http://www.prestoews.org/register.php進(jìn)行下載,按操作系統(tǒng)類型選擇Windows、Linux或Mac版本可執(zhí)行程序,也可下載C++源碼自行編譯。軟件下載完成后,解壓至本機(jī)根目錄(例如D:PRESTo)下。軟件自帶ISNet臺網(wǎng)所記錄的2010年7月13日 03:36:18(UTC)San GiorgioML3.7地震實例(圖1),通過下述命令可進(jìn)行演示。
系統(tǒng)主界面頭部顯示當(dāng)前時間及當(dāng)前臺網(wǎng)名。系統(tǒng)中部左側(cè)展示接入臺站的垂直分量地震波形數(shù)據(jù),在檢測到地震發(fā)生時標(biāo)注系統(tǒng)所拾取到的P波和S波到時。系統(tǒng)中部右側(cè)從上至下依次展示本區(qū)域地震臺站分布,地震震中及震級大小,地震發(fā)生時動畫模擬地震波傳播。系統(tǒng)底部顯示地震發(fā)生后的震中經(jīng)緯度、深度、發(fā)震時刻和震級大小。
PRESTo按處理的時間順序可分為數(shù)據(jù)獲取、事件檢測、地震定位、震級估算、地面運(yùn)動峰值估算以及數(shù)據(jù)產(chǎn)出和告警6個部分。系統(tǒng)主線程負(fù)責(zé)事件檢測和數(shù)據(jù)處理,子線程負(fù)責(zé)波形數(shù)據(jù)采集[8]。圖2展示了系統(tǒng)的整個處理流程。
圖 1 PRESTo系統(tǒng)主界面Fig. 1 The main interface of PRESTo
圖 2 PRESTo系統(tǒng)流程圖Fig. 2 System data flow of PRESTo
PRESTo數(shù)據(jù)接入分非實時和實時兩種模式。非實時模式用于歷史地震的模擬和本地臺網(wǎng)參數(shù)配置,使用的地震數(shù)據(jù)格式為SAC格式,將數(shù)據(jù)按臺網(wǎng)命名存放在PRESTo安裝目錄data文件夾下即可。實時模式用于地震的實時監(jiān)測預(yù)警,接入的數(shù)據(jù)為SeedLink協(xié)議實時數(shù)據(jù)流。當(dāng)執(zhí)行實時模式命令時,系統(tǒng)會向目標(biāo)SeedLink服務(wù)器發(fā)起請求并接收臺網(wǎng)臺站實時數(shù)據(jù)。SeedLink協(xié)議是德國SeisComP3系統(tǒng)開發(fā)的一套基于Socket實現(xiàn)的TCP/IP通信協(xié)議,用來處理地震數(shù)據(jù)的實時傳輸和發(fā)布,傳輸?shù)臄?shù)據(jù)內(nèi)容為 Mini-SEED格式數(shù)據(jù),默認(rèn)端口號為 18000。Seed-Link協(xié)議現(xiàn)已成為美國地震學(xué)聯(lián)合研究會(Incorporated Research Institutions for Seismology,IRIS)地震數(shù)據(jù)中心、歐洲地震觀測站和研究設(shè)施中心(Observatories and Research Facilities for European Seismology,ORFEUS)以及德國波茨坦地學(xué)研究中心[9]等虛擬臺網(wǎng)提供數(shù)據(jù)的通用協(xié)議。大部分地震監(jiān)測處理軟件如SeisComP系統(tǒng)、Earthworm系統(tǒng)等均支持SeedLink協(xié)議[10]。
數(shù)據(jù)處理分4步: ① 震相拾取。PRESTo系統(tǒng)采用Lomax的FilterPicker算法[11]實現(xiàn)P波震相拾取,該算法可在實時連續(xù)的寬頻道信號上穩(wěn)定運(yùn)行,避免在大型地震事件上過度拾取。檢測到P波震相后,事件檢測模塊會計算所拾取的P波震相是否為地震事件,如果判斷不是天然地震事件,則系統(tǒng)繼續(xù)進(jìn)行震相拾?。蝗绻_認(rèn)為新的地震事件,則進(jìn)入第2步。② 地震定位。定位模塊將通過已觸發(fā)臺站和未觸發(fā)臺站實時數(shù)據(jù),利用RTLoc方法[12],基于等微分時間公式(EDT)的概率密度方法對地震事件進(jìn)行定位。整個計算過程系統(tǒng)會重復(fù)校正,當(dāng)越來越多的臺站觸發(fā)后,震源位置將收斂到一個準(zhǔn)確的位置。 ③ 震級計算。通過峰值地面位移(PGD)、dpeak和震中距R來估算震級[13]。 ④ 傳播時間、峰值速度和峰值加速度計算。系統(tǒng)根據(jù)衰減規(guī)律計算地震波到達(dá)目標(biāo)位置的傳播時間,并且計算目標(biāo)位置的峰值速度和峰值加速度。最終將計算結(jié)果交給告警模塊進(jìn)行發(fā)布。
地震發(fā)生后,PRESTo系統(tǒng)會在主界面右側(cè)靜態(tài)地圖上標(biāo)出震中位置、發(fā)震時刻和震級大小,并將P波和S波的傳播按照不同顏色等圓擴(kuò)散的方式進(jìn)行展示并告警。同時,地圖上的目標(biāo)城市將顯示預(yù)估的破壞性地震波到達(dá)時間。根據(jù)用戶配置,系統(tǒng)會自動向目標(biāo)服務(wù)器或目標(biāo)郵件系統(tǒng)發(fā)出告警信息。
以上流程可以實現(xiàn)完整的地震預(yù)警功能。根據(jù)系統(tǒng)日志顯示,ISNet從地震發(fā)生后首臺觸發(fā)到第一報報出時間間隔約為2 s。隨著從不同臺站獲取的震相的增加,震中位置及震級也逐漸修正。
PRESTo軟件在本地臺網(wǎng)正常運(yùn)行需要經(jīng)過配置系統(tǒng)參數(shù)、生成走時文件和配置臺網(wǎng)參數(shù)3個步驟。配置系統(tǒng)參數(shù)用于對整個軟件運(yùn)行的窗口大小、聲音、界面、告警方式和計算公式進(jìn)行配置;生成走時文件是實現(xiàn)計算本地區(qū)地震三要素和地震波傳播的關(guān)鍵;配置臺網(wǎng)參數(shù)是對本地臺網(wǎng)、臺站、數(shù)據(jù)流以及預(yù)警目標(biāo)城市的配置。下面以云南測震臺網(wǎng)本地化配置為例,詳細(xì)介紹參數(shù)配置過程。
PRESTo系統(tǒng)配置文件以二進(jìn)制和文本文件的方式存放于config和data/ “臺網(wǎng)” 目錄下,其中config目錄用于存放系統(tǒng)運(yùn)行的窗口大小、音效、Picker、Binder、Locate、Magnitude等各模塊的運(yùn)行參數(shù),data目錄則用于存放臺網(wǎng)臺站等相關(guān)參數(shù)數(shù)據(jù)。表1為本地化測試配置文件。
表 1 PRESTo系統(tǒng)主要配置文件Table 1 The main configuration file of PRESTo
無論是非實時模式還是實時模式,均需錄入臺站和目標(biāo)位置的3D走時文件。走時文件存儲于data/“臺網(wǎng)” /time目錄下,每個臺站或目標(biāo)位置均需生成一個相應(yīng)的hdr和buf格式二進(jìn)制文件,該文件可通過NonLinLoc軟件(http://alomax.free.fr/nlloc)生成。NonLinLoc軟件是一款由Anthony Lomax編寫,用于三維介質(zhì)中基于概率的非線性全局地震定位軟件,使用系統(tǒng)的網(wǎng)格搜索或者M(jìn)etropolis-Gibbs隨機(jī)采樣方法生成一個關(guān)于震源空間位置(x,y,z)的 “欠擬合” 方程、 “優(yōu)化” 震源位置和后驗概率密度方程(PDF)[14]。軟件Vel2Grid模塊將輸入的一維速度模型生成一個3D網(wǎng)格速度文件,Grid2Time模塊再通過該3D網(wǎng)格速度文件,生成三維網(wǎng)格走時文件。軟件運(yùn)行在Linux上,云南地區(qū)走時文件生成通過以下步驟完成:
(1)復(fù)制data/ISNet/run目錄下ISNet.run、Vel2Grid_P.in、Vel2Grid_S.in、Grid2Time_P.in和Grid2Time_S.in 5個文件至裝有NonLinLoc的Linux系統(tǒng)上;
(2)在ISNet.run、Vel2Grid_P.in和Vel2Grid_S.in文件中寫入云南地區(qū)經(jīng)緯度,并與背景地圖map.png的位置對應(yīng);
(3)將云南地區(qū)不同深度對應(yīng)的P波和S波速度模型寫入Vel2Grid_P.in和Vel2Grid_S.in文件中VGGRID位置;
(4)在Grid2Time_P.in、Grid2Time_S.in文件中寫入云南臺網(wǎng)臺站和預(yù)警城市的名稱、經(jīng)緯度和高程數(shù)據(jù);
(5)運(yùn)行NonLinLoc軟件的Vel2Grid和Grid2Time模塊,生成云南地區(qū)走時文件。
將生成的走時文件拷貝至PRESTo的data/YNNet/time目錄下。將rtloc.txt、seedlink.txt、targets.txt等文件中臺站及臺網(wǎng)名替換為云南臺網(wǎng)和臺站,將stations.txt文件中臺站對應(yīng)的儀器響應(yīng)參數(shù)添加至文件中,如需接入實時模式,在stations.txt文件中配置Seed-Link服務(wù)器的IP地址和端口。值得注意的是,config目錄下params.txt文件中配置了用于計算地震三要素的Picker、Binder、Locate、Magnitude等模塊的詳細(xì)參數(shù),需根據(jù)臺網(wǎng)的規(guī)模、臺站間距、儀器類型等修改相應(yīng)的模塊參數(shù)(如picker_filterWindow,binder_stations_for_coincidence等)。
基于以上步驟,完成了PRESTo系統(tǒng)在云南地區(qū)的本地化安裝和配置。通過PRESTo YNNet命令啟動實時模式,PRESTo YNNet example命令啟動非實時模式。如系統(tǒng)正常運(yùn)行,將顯示圖1或圖3界面。
圖 3 2016年5月18日0時48分云南云龍M5.0地震事件波形在PRESTo上的模擬Fig. 3 The simulations of Yunnan Yunlong M5.0 earthquake on PRESTo
以2016年5月18日00:48:48(UTC+8)云南省大理州云龍縣5.0級地震為例,將云南48個固定測震臺站(寬頻帶地震儀)記錄的SEED數(shù)據(jù)轉(zhuǎn)化為SAC格式數(shù)據(jù)并存放在PRESTo系統(tǒng)data/example目錄下,將相應(yīng)配置文件參數(shù)進(jìn)行修改,啟動系統(tǒng)非實時模式,PRESTo能正常識別出該地震。
作為一款地震預(yù)警軟件,PRESTo按照地震數(shù)據(jù)處理流程,將FilterPicker、RTLoc、RTMag和PDZ等一系列算法集成在一起,通過提前計算好各地區(qū)走時數(shù)據(jù),能快速計算出地震三要素,實現(xiàn)了簡潔快速而高效的地震預(yù)警功能,及時發(fā)布告警信息和破壞性地震波傳播預(yù)警。系統(tǒng)具有以下特點:
(1)開源免費。PRESTo系統(tǒng)遵循GPLv2(GNU General Public License,version2)協(xié)議,系統(tǒng)及源代碼開源免費。
(2)輕量級。整個編譯后的PRESTo系統(tǒng)(不含模擬數(shù)據(jù))約20 MB左右,支持Windows、Linux和Mac跨平臺運(yùn)行,無需安裝其他中間件。
(3)全自動。系統(tǒng)正確配置、正常啟動后,地震震相拾取、事件綁定、震中位置、震級計算和告警等均自動進(jìn)行,無需人工干預(yù),降低了人工參與的時效性損失。
(4)快速高效。系統(tǒng)采用的震相拾取和地震定位方法高效可靠,地震臺站間距越小,結(jié)果產(chǎn)出時間越短,即使使用較少的地震震相,定位結(jié)果依然可靠。
PRESTo系統(tǒng)由于安裝配置簡單,數(shù)據(jù)處理過程高效且自動,無需人工干預(yù)即可快速實現(xiàn)地震事件的檢測、定位、震級估算和告警。用戶交互體驗良好,能直觀展示地震波的傳播過程,適合在局部地區(qū)多節(jié)點部署。各地區(qū)通過接入本地臺站實時數(shù)據(jù),可快速較方便地實現(xiàn)本地區(qū)初步預(yù)警能力在小型區(qū)域臺網(wǎng)內(nèi)的應(yīng)用。對于國內(nèi)省級預(yù)警中心來說,可以采用集中計算發(fā)布和州市地區(qū)分布計算相結(jié)合的方式進(jìn)行預(yù)警系統(tǒng)部署,一方面能為震區(qū)提供快速地震預(yù)警,另一方面可精確計算出地震三要素。
雖然PRESTo有諸多優(yōu)點,但我國幅員遼闊,各省份地質(zhì)構(gòu)造和監(jiān)測能力差別較大,為滿足國內(nèi)的推廣和使用,PRESTo依然存在許多可以改進(jìn)的地方。如: ① 國內(nèi)省級速報預(yù)警臺網(wǎng)數(shù)據(jù)傳輸多基于JOPENS系統(tǒng)的NetseisIP協(xié)議和Http協(xié)議,而PRESTo實時模式僅支持SeedLink協(xié)議,為滿足實時預(yù)警需求,需編寫程序?qū)崿F(xiàn)NetseisIP協(xié)議或Http協(xié)議向SeedLink協(xié)議的轉(zhuǎn)換; ② PRESTo系統(tǒng)能載入內(nèi)存的數(shù)據(jù)量有限,隨著臺站規(guī)模和精度的增加,現(xiàn)有系統(tǒng)將難以承載,為適應(yīng)大面積密集觀測臺站數(shù)據(jù)處理需對PRESTo系統(tǒng)進(jìn)行優(yōu)化; ③ 由于PRESTo在預(yù)警結(jié)果發(fā)布方面較為單一,可對PRESTo系統(tǒng)在預(yù)警發(fā)布環(huán)節(jié)進(jìn)行改進(jìn)。值得注意的是,PRESTo的開發(fā)團(tuán)隊近期將對PRESTo進(jìn)行改進(jìn),推出一款命名為QuakeUP的地震預(yù)警軟件,新軟件依據(jù)震中地區(qū)地面峰值運(yùn)動數(shù)據(jù)實現(xiàn)實時烈度圖,為用戶提供更強(qiáng)大更實用的預(yù)警功能。
除PRESTo外,其他開源國際知名速報預(yù)警軟件還有德國SeisComP3和美國Earthworm等。作者及團(tuán)隊將繼續(xù)完成SeisComP3和Earthworm軟件的研究,在云南地區(qū)實現(xiàn)軟件的本地化部署,并對幾種軟件優(yōu)缺點進(jìn)行對比。同時,繼續(xù)完成數(shù)據(jù)傳輸協(xié)議轉(zhuǎn)換等相關(guān)工作。