王宇航,蘇金蓉,袁文揚(yáng),蔡一川,吳 朋,段云歌,黃春梅
(1.四川省地震局,四川 成都 610041;2.天津城建大學(xué)地質(zhì)與測(cè)繪學(xué)院,天津 300000)
利用VB和Fortran編程實(shí)現(xiàn)蘆山地區(qū)震后遠(yuǎn)震事件挑選
王宇航1,蘇金蓉1,袁文揚(yáng)2,蔡一川1,吳 朋1,段云歌1,黃春梅1
(1.四川省地震局,四川 成都 610041;2.天津城建大學(xué)地質(zhì)與測(cè)繪學(xué)院,天津 300000)
四川省“4·20”蘆山7.0級(jí)大地震以后,為了進(jìn)行科學(xué)研究布設(shè)了現(xiàn)場(chǎng)地震觀測(cè)儀器臺(tái)陣,在該地區(qū)獲得了海量的余震信息。針對(duì)這些地震觀測(cè)數(shù)據(jù),通過(guò)VB和Fortran編程實(shí)現(xiàn)了將地震目錄中GMT時(shí)間轉(zhuǎn)換到北京時(shí)間,并且根據(jù)實(shí)際需要自動(dòng)挑選出一定震中距條件下的地震事件,從而大大提高了提取地震信息的工作效率。
VB;Fortran;時(shí)間轉(zhuǎn)換;遠(yuǎn)震事件挑選
四川省位于中國(guó)南北地震帶中南段,處于地震活動(dòng)較頻繁的區(qū)域。境內(nèi)主要分布有六大地震帶,其中鮮水河地震帶、龍門山地震帶、松潘地震帶自1972年以來(lái)曾發(fā)生多次大的地震,7級(jí)以上地震就有多達(dá)6次,尤其是2008年在龍門山地震帶北段發(fā)生了汶川8.0級(jí)特大地震,2013年在龍門山地震帶南段發(fā)生了蘆山7.0級(jí)大地震,給四川人民帶來(lái)了巨大的人員傷亡和經(jīng)濟(jì)損失。
蘆山”4·20”地震發(fā)生以后三天里,四川省地震局地震應(yīng)急流動(dòng)觀測(cè)小組在震中區(qū)域布設(shè)了15個(gè)流動(dòng)地震臺(tái)站,對(duì)震區(qū)形成較好的地震監(jiān)測(cè)覆蓋,獲得了很好的觀測(cè)資料。之后的5月中旬,蘆山地震科考項(xiàng)目組將15個(gè)流動(dòng)地震觀測(cè)臺(tái)站進(jìn)行了重新選址和布設(shè),并增加了20個(gè)寬頻帶地震臺(tái),這些科考臺(tái)站于6月25日全部并入四川省地震臺(tái)網(wǎng),觀測(cè)數(shù)據(jù)同固定地震臺(tái)網(wǎng)的數(shù)據(jù)并網(wǎng)處理。密集分布的科考臺(tái)站顯著提高了地震監(jiān)測(cè)能力和地震定位精度??杀O(jiān)測(cè)到ML0.3級(jí)的地震,這對(duì)于研究該區(qū)域地殼上地幔結(jié)構(gòu)、發(fā)震斷層的空間展布、震后地殼應(yīng)力動(dòng)態(tài)演化等提供了大量的基礎(chǔ)數(shù)據(jù),為今后對(duì)該區(qū)域的科學(xué)研究打下了良好的基礎(chǔ)。結(jié)合科考臺(tái)的觀測(cè)數(shù)據(jù),在采用接收函數(shù)等方法研究震后蘆山地區(qū)的上地幔結(jié)構(gòu)的數(shù)據(jù)預(yù)處理階段,需要選取30°到90°之間的遠(yuǎn)震事件觀測(cè)波形。僅僅數(shù)據(jù)預(yù)處理這一前期步驟,若不采用計(jì)算機(jī)編程處理而使用人工手動(dòng)挑選,不僅消耗大量的人力及時(shí)間,而且得到的事件波形也會(huì)由于人為挑選等原因產(chǎn)生誤差。
Visual Basic是一種有代表性的較流行可視化編程語(yǔ)言,使得創(chuàng)建具有專業(yè)外觀的用戶界面的編程工作簡(jiǎn)單易行。同時(shí)還是一種面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,具有程序設(shè)計(jì)語(yǔ)言所具有的對(duì)象創(chuàng)建機(jī)制、繼承性、多態(tài)性等特點(diǎn)[1]。Visual Fortran 6.6除了完全支持Fortran 95的語(yǔ)法外,擴(kuò)展功能方面提供完整的windows程序開發(fā)工具,專業(yè)版還內(nèi)含IMSL數(shù)值鏈接庫(kù)。同時(shí)它還可以和Visual C++直接相互鏈接使用,即可將Fortran和C編程語(yǔ)言產(chǎn)生的程序代碼混合編譯,而形成同一個(gè)運(yùn)行文件[2]。這里介紹遠(yuǎn)震地震目錄的下載、事件GMT時(shí)間到北京時(shí)間的轉(zhuǎn)換,并將采用Visual Basic 6.0和Compaq Visual Fortran 6.6程序設(shè)計(jì)語(yǔ)言進(jìn)行地震事件處理,以期實(shí)現(xiàn)遠(yuǎn)震目錄可根據(jù)實(shí)際需要自動(dòng)挑選。
1.1 地震目錄下載與時(shí)間轉(zhuǎn)換
圖1 美國(guó)南加州地震數(shù)據(jù)中心地震目錄下載界面及得到的地震目錄
采用美國(guó)南加州地震數(shù)據(jù)中心的地震目錄(網(wǎng)址:http://www.ncedc.org/anss/),根據(jù)需要選擇發(fā)震時(shí)間、震級(jí)和發(fā)震區(qū)域。下載頁(yè)面和得到的地震目錄如圖1所示,經(jīng)過(guò)初次篩選,下載得到了全球在“4·20”后5.0級(jí)以上的地震目錄。由于下載目錄的發(fā)震時(shí)刻采用的是GMT時(shí)間(國(guó)際時(shí)),為了和國(guó)內(nèi)地震編目所采用的時(shí)間一致,需要將時(shí)間統(tǒng)一為北京時(shí)。若采用手動(dòng)時(shí)間調(diào)整或者采用在Excel表利用函數(shù)進(jìn)行批量修改,這些方法不僅效率低,而且在很大程度上不能考慮到時(shí)間的相加產(chǎn)生的“進(jìn)位”問題。為解決上述問題,本文利用計(jì)算機(jī)語(yǔ)言編程實(shí)現(xiàn)了GMT時(shí)間到北京時(shí)間的轉(zhuǎn)換。
圖2 微調(diào)后形成的地震目錄
為方便后續(xù)編程需要,首先將地震目錄在文本編輯器中進(jìn)行微調(diào),僅保留發(fā)震時(shí)刻、震級(jí)以及震中經(jīng)緯度,調(diào)整后的地震目錄格式如圖2所示。
充分考慮到日期“進(jìn)位”的各種情況(如:本月是31或者30天,是否是閏年)通過(guò)VB編程進(jìn)行GMT時(shí)間到北京時(shí)間的轉(zhuǎn)換。核心程序代碼如下:
至此完成了5.0級(jí)地震目錄時(shí)間轉(zhuǎn)換。
1.2 根據(jù)震中距篩選遠(yuǎn)震目錄
在挑選遠(yuǎn)震事件(震中距30°到90°)過(guò)程中應(yīng)該注意以下幾點(diǎn)。(1)由于兩點(diǎn)之間的距離大于1 000千米,在計(jì)算兩點(diǎn)之間距離時(shí)不能采用直線距離,而應(yīng)該考慮為弧形距離;(2)由于兩點(diǎn)之間距離很遠(yuǎn),可以將四川蘆山地區(qū)附近三個(gè)固定臺(tái)站(BAX、TQU、MDS)和35個(gè)科考臺(tái)站近似的看成一個(gè)點(diǎn),臺(tái)站參數(shù)包括:區(qū)域名2個(gè)字符、事件編號(hào)4個(gè)字符、緯度和經(jīng)度共15個(gè)字符。如:“SC L139 30.6891 102.7119”。
在用Fortran程序設(shè)計(jì)過(guò)程中計(jì)算震中與每個(gè)臺(tái)站的距離,若震中距在3 330千米到9 990千米之間(1°大約等于111千米),則將該條目錄保存輸出。具體程序代碼如下:
至此,符合蘆山地區(qū)的遠(yuǎn)震目錄全部挑選完成。
1.3 根據(jù)遠(yuǎn)震目錄挑選地震事件波形
根據(jù)得到的遠(yuǎn)震目錄找到相應(yīng)時(shí)間段的連續(xù)波形文件,根據(jù)目錄中的發(fā)震時(shí)刻判定P波到時(shí),需要注意以下幾個(gè)步驟。根據(jù)地震目錄將P波最先到達(dá)臺(tái)站前60 s作為波形事件的起始點(diǎn)。根據(jù)地震目錄中的震級(jí)不同來(lái)選擇整個(gè)事件的時(shí)間長(zhǎng)度,由經(jīng)驗(yàn)設(shè)置標(biāo)準(zhǔn)如下:5 ~6級(jí),1 800 s;6~6.5級(jí),3 600 s;6.5~7級(jí),5 400 s;7~8級(jí),7 200 s;8級(jí)以上,10 800 s。對(duì)于跨小時(shí)的地震波形事件,應(yīng)進(jìn)行波形文件的合并。
采用VB和Fortran語(yǔ)言編程實(shí)現(xiàn)了蘆山地區(qū)遠(yuǎn)震目錄和地震波形事件的挑選,所編寫程序能夠很快得到地震事件波形,節(jié)省大量時(shí)間,提高了工作效率,為后續(xù)進(jìn)一步研究打下基礎(chǔ)。在以后的工作中可以考慮把上述程序做成簡(jiǎn)單的可視化界面,方便沒有編程基礎(chǔ)的相關(guān)人員也能進(jìn)行時(shí)間轉(zhuǎn)換及地震事件提取。
[1] 彭國(guó)倫.Fortran 95程序設(shè)計(jì)[M].北京:中國(guó)電力出版社,2002.
[2] 王紅亮, 馬志剛.Visual Basic 6.0 程序設(shè)計(jì)[M].北京:國(guó)防工業(yè)出版社,2011.
Software to select seismic events from the global earthquake catalogs using the VB and Fortran programing language
Wang Yuhang, Su Jinrong, Yan Wenyang, Cai Yichuan, Wu Peng, Duan Yunge, Huang Chunmei
(1.Earthquake Administration of Sichuan Province, Sichuan Chengdu 610041; 2.Geology and Survey College, Tianjin Urban Construction University, Tianjin 300000, China)
After theM7.0 Lushan Earthquake, a temporary seismic station was installed and a large number of data was observed. In order to study the depth crustal structure underneath Lushan County, we need software to transform GMT into BJT format and read the seismic wave data of distant earthquakes from the global earthquake catalogs. The programing language VB and Fortran are the best tools.
VB; Fortran; time format exchange; select distant earthquake data
2014-02-13;
2014-07-16
利用接收函數(shù)反演蘆山地區(qū)地殼上地幔結(jié)構(gòu).四川地震局LY1507.
王宇航(1988-),男,四川省西昌市人,助理工程師,主要研究方向?yàn)榈卣鸨O(jiān)測(cè)研究.
P315.69
B
1001-8115(2015)03-0009-04
10.13716/j.cnki.1001-8115.2015.03.003