王宇航,龐 瑤,宮 悅,顏利君,黃春梅
( 四川省地震局,四川 成都 610041)
省級測震臺網運行月報是四川省數字測震臺網的日常產出任務之一,也是數字臺網運行維護和數據產出統計總結的重要記錄。其中數據處理與產出章節包括了編目、速報等測震分析情況,需要對地震目錄按不同標準(日期、震中位置、震級大小)進行分類統計,繪制震中分布圖,并按照速報評比細則對速報地震事件進行初步自評。四川地區為地震多發地區,四川省測震臺網每月處理的編目地震事件在2 000條以上,其中:編目數據統計需要下載指定月份完整的地震目錄,然后按照不同條件對處理的地震事件進行分類篩選統計并繪制震中分布圖;速報除了對速報地震目錄的分類匯總和繪制速報地震震中分布圖外,還需對每次速報地震事件進行質量自評。目前四川省數字測震臺網的上述工作內容全部由人工完成,內容枯燥過程繁瑣。若用自動化流程替代人工來完成這一系列程式化的工作,輔助月報生成,可顯著提高工作效率,節約人力資源。
Datist(數據專家)開發平臺是長安大學數字油田研究所歷時5年時間研發的專項服務于大數據時代場景式(Context)數據分析與數據挖掘的工具軟件,以管道式的數據處理方式增強業務邏輯的靈活度(高倩,2015)。Datist最大特點就是在整體設計上遵循零代碼原則,用戶不需要了解復雜的編程技術,僅需要排列和組合各種功能節點,即可實現對海量多源異構數據的整合與應用(圖1)。

圖1 Datist平臺工作方式示意圖
2017年初中國地震局地球物理所牽頭將Datist平臺引入地震領域,此后該系統不斷更新針對性功能,與地震監測預報業務具有良好的兼容性,主要提供應急會商、震情跟蹤、前兆學科數據分析、監測臺站分布等日常會商服務。目前Datist軟件在地震監測領域的應用較少,只進行了GNSS陸態網絡數據月度報告自動生成等少量研發工作。本文將利用Datist數據專家平臺,編寫相應的流程,實現測震分析月報的自動化生成,從而減輕地震監測人員的工作負擔,提高工作效率。

圖2 技術路線示意圖
本次研究設計的流程需要實現的功能主要有6大塊,即數據源讀取、數據清洗、目錄統計、繪制震中分布圖、計算速報自評結果和自動生成報告。最終目標是生成測震分析月報,包括編目和速報兩部分。系統設計與實現步驟如圖2。
測震分析月報內容包含編目參數計算表、編目震中分布圖、編目情況統計、速報情況統計、速報目錄、速報震中分布圖、速報質量自評七個部分。結合Datist(數據專家)軟件的功能和用法,本文將以上七個部分,分解為5條工作線來完成流程設計。
編目情況統計是針對四川測震臺網提交的精細處理地震按震級范圍、日期等進行分類統計。運行月報中需確切統計由四川測震臺網處理上報的地震信息情況,從本地數據庫導出目錄是最為便捷的方法。用“TXT+”節點讀入目錄,用于分震級統計數目、按日期統計數目、繪制編目震中分布圖。因此需要從中分離出符合程序格式要求的日期、震級和可用于GMT繪圖的經緯度(圖3,圖4)。之后是對編目目錄按震級區間和日期進行統計:按日期的統計可以直接進行,加入“匯總”節點進行計數操作;對震級的匯總要先設定標識符,通過“多條件”方式創建新列,以“震級區間”為新列的字段名的分類項進行匯總計數。震中分布圖的繪制是利用Datist提供的GMT繪圖接口——“GMT”節點實現,將GMT腳本內容放入節點中,運行節點即可。

編目統計表涉及編目地震、新震源參數結果和震源機制解結果在每天的個數以及當月總數,其中編目地震個數已經從上述編目目錄中統計,其余兩項從本地讀取數據。通過“Excel”、“合并”、“匯總”及“追加”節點操作,將匯總結果與前面合并得到的表格整合到一起。最后經過標題替換、調整列寬等操作后,得到可直接整個插入報告的編目統計表,放入文件收集器備用。
從本地讀入速報目錄,通過“篩選”、“過濾”節點將發震時刻為空白的數據行刪去,隱藏不需要的字段,得到完整的速報目錄。進一步對初報目錄進行清洗,提取出年、月信息,以便在報告中進行日期的自動替換。速報事件震中分布圖的繪制方法和編目震中分布圖完全一樣,輸入數據為速報目錄。
速報情況統計較編目統計內容更復雜。在分震級區間統計的同時,還需加入了震中位置統計(省內和省外)。對震級的統計首先還是先添加標識符,然后使用功能更復雜的“定制匯總”節點,同時直接完成對兩個參數的匯總,生成二維表格。再進行補充序列、匯總求和等操作,便可以獲得速報情況統計表中所需的所有單元格內容。
統一目錄和人工初報目錄從本地讀取之后,經過數據清洗只保留參與評比的參數項,得到自評初報和自評正式報兩個表格,數據準備工作完成。速報自評是本次工作的難點和創新點所在,通過Matlab程序實現。采用遍歷的方法,以發震時刻和震中位置兩個參數為約束條件,來實現兩個目錄中地震事件的自動匹配;匹配成功后,根據速報評比細則對初報目錄中的事件進行初步評分。程序編寫完成后,由于Datist并沒有提供Matlab的軟件接口,選擇用“GMT”節點來實現matlab程序的融合,將程序嵌入流程中。得出自評結果后,用數據源節點將其讀入,并在流程中加入“順序運行器”和“暫停”節點,用于控制計算自評結果和讀取結果的順序。最后經過數據清洗獲可得速報自評表,同時對自評結果進行匯總,得到速報事件平均分、滿分事件數量、加分情況等概覽信息。

圖5 設置震級區間標識符

圖6 同時按震級和震中位置統計數目
Datist中采用變量標識符進行變量替換,類型包括圖片、表格和字符串。測震分析月報中兩張震中分布圖用圖片的方式插入,編目統計表、速報自評表和速報目錄以表格的形式插入,其余的統計情況和年月信息以字符串形式插入。最后分別生成了編目報告和速報報告,把二者拼接到一起,產出 “測震分析月報”。
本文基于數據專家(Datist)完成了測震分析月報中數據源讀取、數據清洗、目錄統計、繪制震中分布圖、計算速報自評結果和自動生成報告六項主要功能。流程總覽如圖7所示:流程編寫完成后,對2019年6月至2019年10月5次月報編寫的產出情況進行了測試,均能正常運行。工作用時由原來人工處理所需的 3 h減少到30 s左右。目前此研究成果已運用到四川省測震臺網的日常工作中,極大提高了工作效率。今后工作中擬對月報中的其它模塊內容,如:臺網運行率,臺站噪聲的計算、分類及成圖等進行自動化處理,解決編寫過程中大量規定動作的批量化、重復性操作。為今后地震監測業務自動化、模塊化、流程化研究的開展打下基礎。

圖7 流程總覽