潘國勇,魏 薇,朱佳苗,朱培育,趙俊香,施俊杰,戴樂翔,張 藝,龔 耀
(上海市地震局崇明地震臺(tái),上海 202164)
上海崇明地震臺(tái)新井水位(以下簡稱“崇明臺(tái)新井水位”)自2016年11月26日投入觀測(cè)以來,受同井抽水活動(dòng)的影響[1-2],每天會(huì)出現(xiàn)固定的臺(tái)階干擾,直接影響了水位數(shù)據(jù)的利用率和前兆數(shù)據(jù)的分析工作。運(yùn)用“中國地震前兆臺(tái)網(wǎng)數(shù)據(jù)處理系統(tǒng)2011版”或者“中國地震前兆臺(tái)網(wǎng)數(shù)據(jù)處理系統(tǒng) 2018集成版”軟件對(duì)臺(tái)階進(jìn)行處理時(shí),需要手動(dòng)輸入臺(tái)階的起止時(shí)間和修正參數(shù),效率低下。為提高前兆數(shù)據(jù)預(yù)處理的效率,崇明臺(tái)研制出了水位干擾自動(dòng)處理軟件。該軟件基于Visual Studio 2015開發(fā)環(huán)境,使用VB.NET語言開發(fā),可在Windows XP、Windows 7及以上操作系統(tǒng)下運(yùn)行[3-4],能夠自動(dòng)計(jì)算干擾幅度、干擾的起止時(shí)間,并可以將這些信息以文字的形式直觀地顯示出來,最重要的是能夠?qū)崿F(xiàn)臺(tái)階的自動(dòng)處理。該軟件的運(yùn)用提高了崇明水位數(shù)據(jù)的利用率和前兆數(shù)據(jù)異常的判識(shí)度。
基于提高水位數(shù)據(jù)利用率,使其能夠清晰地記錄固體潮和水震波等重要信息動(dòng)態(tài)變化的目的,對(duì)程序進(jìn)行設(shè)計(jì)?;舅悸肥抢藐P(guān)系式:
(y(i+1)+y(i+2)+y(i+3))/3-
(y(i-1)+y(i-2)+y(i-3))/3?=x,
式中的x值通過正常的水位數(shù)據(jù)尋找,然后采用循環(huán)方法使程序自動(dòng)尋找干擾的起止點(diǎn),記錄相應(yīng)的時(shí)間和幅度,進(jìn)行相關(guān)計(jì)算。剔除水位下降和恢復(fù)過程中的干擾數(shù)據(jù),通過插值,擬合出水位變化曲線。
根據(jù)研究目的,對(duì)系統(tǒng)功能模塊進(jìn)行了具體設(shè)計(jì)。整個(gè)系統(tǒng)主要由三大功能模塊和其他一些輔助項(xiàng)組成(如圖1所示)。數(shù)據(jù)讀取模塊方式有兩種:一種是根據(jù)需要從已下載的本地文件中選擇讀取,另一種是根據(jù)操作人員給出的時(shí)間參數(shù)自動(dòng)從市局服務(wù)器中讀取;繪圖模塊根據(jù)操作員給定的時(shí)間參數(shù)等要求自動(dòng)繪制原始數(shù)據(jù)的分鐘值曲線;預(yù)處理模塊自動(dòng)處理臺(tái)階,以圖形的結(jié)果顯示出來,干擾的起止時(shí)間和幅度也在右上角以文字形式顯示;輔助功能模塊是為了便于分析圖形,設(shè)計(jì)圖形的縮放、還原、標(biāo)記、顯示數(shù)值、數(shù)據(jù)導(dǎo)出和保存圖形等功能。
圖1 功能模塊設(shè)計(jì)Fig.1 Function module design
整個(gè)程序的功能在一個(gè)類frmSW中實(shí)現(xiàn),包含Button1_Click()、ItoTime()和btnChuli_Click()、btnFile_Click()、btnCurve1_Click()方法(見表1)。btnFile_Click(sender As Object, e As EventArgs)方法用于點(diǎn)擊文件選擇按鈕時(shí),彈出選擇文件對(duì)話框,將已選擇的文件路徑顯示在對(duì)應(yīng)的文本框內(nèi);btnCurve1_Click(sender As Object, e As EventArgs)方法用于點(diǎn)擊通過讀取數(shù)據(jù)文件進(jìn)行繪圖的按鈕時(shí),根據(jù)選取文件里的水位數(shù)據(jù)繪制曲線;Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)方法用于點(diǎn)擊通過讀取數(shù)據(jù)庫里的數(shù)據(jù)進(jìn)行繪圖的按鈕時(shí),根據(jù)所選日期,繪制當(dāng)天的水位曲線;btnChuli_Click(sender As Object, e As EventArgs)方法用于點(diǎn)擊預(yù)處理按鈕時(shí),通過設(shè)定好的算法,剔除水位下降和恢復(fù)過程中的干擾數(shù)據(jù),擬合出水位變化曲線;ItoTime(i As Integer)方法通過參數(shù)傳遞,將給定的整型數(shù)值轉(zhuǎn)化為“小時(shí):分鐘”格式的時(shí)間顯示形式。
表1 類圖Table 1 Category diagram
frmSWButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)btnChuli_Click(sender As Object, e As EventArgs)ItoTime(i As Integer)
程序界面設(shè)計(jì)時(shí)秉承簡潔、實(shí)用的原則,力求實(shí)現(xiàn)最簡單、高效的操作。為便于對(duì)比分析,整個(gè)程序設(shè)計(jì)一個(gè)窗體,設(shè)有實(shí)現(xiàn)不同功能的按鈕,無需登錄即可實(shí)現(xiàn)處理操作。崇明臺(tái)新井水位處理系統(tǒng)主界面如圖2所示,上部左側(cè)兩個(gè)文本框可實(shí)現(xiàn)數(shù)據(jù)文件的讀取。由于崇明臺(tái)新井水位數(shù)據(jù)已接入市局前兆服務(wù)器,所以為了方便,設(shè)計(jì)兩種不同的讀取方式。從本地文件讀取,直接選擇已經(jīng)下載的本地文件(.xlsx、.xls格式)(見圖3);根據(jù)操作員給定的時(shí)間參數(shù),從市局前兆服務(wù)器中直接讀取(見圖4)。繪圖按鈕實(shí)現(xiàn)了繪制原始數(shù)據(jù)分鐘值曲線,在圖上右擊還可以實(shí)現(xiàn)一些輔助功能(見第8頁圖5)。預(yù)處理按鈕是按照設(shè)定的算法對(duì)臺(tái)階的起止時(shí)間、幅度等進(jìn)行計(jì)算,同時(shí)對(duì)臺(tái)階進(jìn)行處理。去除臺(tái)階后,通過插值擬合,擬合曲線在繪圖區(qū)下方區(qū)域顯示。從處理結(jié)果看,達(dá)到了預(yù)期目標(biāo),能夠清晰記錄固體潮(見第8頁圖6)。干擾信息顯示是將預(yù)處理中的干擾信息以文字形式在此直觀的顯示出來。
圖2 程序主界面Fig.2 Program main interface
圖3 從本地文件讀取數(shù)據(jù)界面Fig.3 Reading data interface from local files
圖4 從市局服務(wù)器讀取數(shù)據(jù)界面Fig.4 Reading data interface from servers of municipal Bureaus
圖5 繪制原始分鐘值圖Fig.5 Drawing original minute map
圖6 預(yù)處理界面圖Fig.6 Preprocessing interface diagram
圖7 程序處理前后水位曲線對(duì)比圖Fig.7 Contrast chart of water-level curve before and after processing
對(duì)比圖7的運(yùn)用水位干擾處理軟件對(duì)臺(tái)站水位進(jìn)行預(yù)處理前后的曲線發(fā)現(xiàn),原始曲線每天的固定臺(tái)階變幅較大,且由于臺(tái)階的存在使得整條曲線受到了明顯壓制,數(shù)據(jù)無法正常使用與分析,導(dǎo)致很多前兆信息不能充分體現(xiàn);軟件預(yù)處理后的曲線更清晰、直觀地反映固體潮、水震波等重要信息的動(dòng)態(tài)變化,為震情的判定工作提供參考依據(jù)。
崇明臺(tái)新井水位干擾處理軟件已于2018年5月在崇明地震臺(tái)投入使用,運(yùn)行期間程序工作正常,無卡頓和意外終止等故障發(fā)生。從處理結(jié)果看,解決了抽水干擾導(dǎo)致數(shù)據(jù)出現(xiàn)臺(tái)階的問題,達(dá)到了預(yù)期開發(fā)目
的。從運(yùn)行情況看,程序?qū)崿F(xiàn)了各項(xiàng)設(shè)計(jì)功能,且具備較高的可靠性。