向筱銘, 楊 雪, 黃曉龍, 徐曉莉, 吳 薇
(1.四川省氣象探測數據中心, 四川 成都 610072;2.高原與盆地旱澇災害四川省重點實驗室, 四川 成都 610072)
隨著我國氣象現代化建設的快速推進,氣象觀測系統發展迅速,遍布全國的地面自動氣象站、新一代天氣雷達、X波段天氣雷達和衛星的觀測資料也迅速增加[1]。隨著同化等技術的成熟應用,時空連續的格點化氣象數據資料也成為精細化預報和服務的核心需求[2-3]。因此,中國氣象局近年來大力推進實況業務,基于融合技術和數據同化技術,對來自多類觀測設備的多源資料進行融合,形成高精度、高質量和實況連續的多源數據融合氣象產品[4]。先后研制了包括降水、陸面、海洋、三維大氣等多圈層多要素的網格實況分析產品[5-6],并建立了全國1 km、5 km分辨率的智能網格實況分析產品,作為基礎產品應用于日常天氣會商、預報檢驗和智能網格預報滾動訂正等業務中[7-8]。
在評估方面,國內氣象學者開展了大量的網格實況分析產品的檢驗評估[9-11],但主要是基于非實時的固定時段的產品質量評估,而網格實況分析產品是每小時都在生成和下發的實時氣象業務產品,研究該類產品的實時檢驗評估技術,構建西南區域氣象網格實況產品檢驗系統,對產品開展實時的動態質量評估和應用,是氣象科技工作者開展災害性天氣預警、智能網格預報產品制作和智慧氣象服務的基礎,具有較高的研究價值。
網格實況分析產品具有面向實況應用的特點,因此快捷高效的數據流程是應用該產品時的主要關注點。本文對網格實況產品的資料來源和數據處理流程進行如下介紹。
目前,已經在各種業務中投入應用的網格實況產品包括兩類:一類是由國家氣象信息中心生成的,另一類則由本地融合生成的,由于后者還處于業務試驗階段,因此西南區域氣象網格實況產品檢驗系統是主要接入國家氣象信息中心生成并下發的網格實況產品,包括5 km格距和1 km格距兩種分辨率,產品的下發渠道在前期為通過衛星廣播系統下發,為提高時效性,目前已經更改為通過國內氣象通信系統進行快速分發[12]。
5 km分辨率多源融合實況分析產品包括降水融合實況分析產品、陸面融合實況分析產品、三維云融合實況分析產品和海洋融合實況分析產品等,共計8個要素、11種產品。其中,降水、氣溫、風速、相對濕度、能見度、總云量、三維云量7個要素產品的空間分辨率為0.05°×0.05°,空間覆蓋區域為0°~60°N、70°~140°E;海表溫度產品空間分辨率為0.25°×0.25°,空間覆蓋區域為全球,產品格式均為GRIB2(計算機無關的壓縮的二進制編碼)。
1 km分辨率多源融合實況分析產品包括降水、氣溫、10 m風、比濕4要素,空間分辨率為0.01°×0.01°,時間分辨率為1 h,逐小時更新,各要素均分為全國產品與分省產品,全國產品空間覆蓋范圍為70°~140°E、15°~60°N,分省產品根據各省責任范圍裁剪而成,產品格式均為GRIB2。
為了快速推廣應用網格實況產品,目前已經建立了國省網格實況產品應用鏈。省級CTS系統,通過基于消息通知機制的國省數據共享系統,快速獲取最新時次的網格實況產品列表,并將最新時次產品下載至省級通信系統,省級通信系統將其采用消息和共享文件系統的方式快速推送至氣象大數據云平臺“天擎”,并通過接口提供服務,網格實況分析產品檢驗評估分析系統、氣象信息綜合處理系統等各類業務系統可通過接口實時獲取網格實況產品。
網格實況產品檢驗評估分析系統采用基于統一服務接口目錄服務的快速輪詢機制,快速獲取網格實況產品原始文件,并將其統一處理為NetCDF格式存儲于數據庫中,方便用戶訪問。同時,針對產品中包含的氣象要素,分別采用雙線性插值和最鄰近插值方法計算產品在四川省所有氣象站點位置的格點場插值和誤差值,相應的結果存儲至系統中,用戶查閱時,能夠快速地完成評估指標計算的后續部分,實現毫秒級的低延遲顯示實況產品和評估結果。
根據中國氣象局預報與網絡司下發的《實況分析產品質量評估規范》中的評估指標,包括平均誤差ME(Mean Error)、平均絕對誤差MAE(Mean Absolute Error)、均方根誤差RMSE(Root Mean Squared Error)和相關系數COR(Correlation)。
指標計算的傳統方法是采用實時計算,即根據用戶選擇的插值方法(雙線性插值或者最鄰近插值)和參與評估的站點,從國家氣象信息中心下發的網格實況產品中,讀取相應的要素場,并按照評估規范計算上述4個評估指標。上述方法在面向較多數據點和評估時次的情況下,計算時間會變得很長,用戶需要等待較長的時間,并且在指標計算期間,系統界面無響應,用戶體驗感較差。
針對該問題,本文提出一種分階段計算的數據預處理方案,該方案將評估指標的計算分為兩個階段,即單站誤差計算和區域評估指標計算,質量評估數據預處理流程如圖1所示。

圖1 質量評估數據預處理流程Fig.1 Preprocessing process of quality assessment data
2.1.1 單站誤差計算階段
在單站誤差計算階段,系統通過定時任務,準實時從氣象大數據云平臺“天擎”系統獲取網格實況產品,并分別采用最鄰近插值法和雙線性插值法將1 km分辨率和5 km分辨率的網格實況產品的降水、氣溫、風速、風向、相對濕度要素插值到測站的位置,并計算誤差,從而形成每個測站的數據組,包括要素名稱、觀測值、網格產品插值和誤差,并將上述值存儲至系統數據庫中,通過同步策略寫入緩存數據庫,詳細步驟如下。
(1)從“天擎”系統獲取每時次的實況格點場數據。
(2)分別采用最鄰近插值法和雙線性插值法,計算實況格點場在測站位置處的插值Gn和Gd。
(3)計算誤差,即根據要素的觀測值Oi和插值Gn、Gd,采用公式(1)計算最鄰近插值法的誤差En,采用公式(2)計算雙線性插值法的誤差Ed。
En=Oi-Gn
(1)
Ed=Oi-Gd
(2)
(4)將相應的計算結果存儲至數據庫。
2.1.2 區域指標計算階段
在區域指標計算階段,主要完成各項評估指標的后半部分計算,即根據用戶選擇的評估站點范圍(用戶可勾選國家站、區域站,也可勾選考核站、非考核站,或根據地形因子選擇站點),以數據庫讀取的方式,實時獲取相應時次(時間段)參與該次評估站點的預處理數據,并開展最終指標的計算,詳細步驟如下。
(1)根據用戶選擇的參與評估站點范圍,從數據庫中讀取所需時次和要素的質量評估預處理指標數據,包括要素觀測值Oi、要素插值Gn和Gd,以及誤差En和Ed,根據用戶選擇參與評估的站點范圍,計算站點數量N。
(2)根據用戶選擇的插值方法,從En和Ed中選擇一個值作為Ei,根據公式(3)計算平均誤差ME。
(3)
(3)根據公式(4)計算平均絕對誤差MAE。
(4)
(4)根據公式(5)計算均方根誤差RMSE。
(5)

(6)
(7)
(8)
在優化資料評估指標計算過程的基礎上,針對高頻次的預處理質量評估數據讀取,基于內存讀取速度遠大于磁盤的原理,提出基于內存數據庫的質量評估預處理指標數據緩存加速優化方法,該方法通過在二階段計算模塊和數據庫之間加入Redis緩存數據庫,將近期熱點數據全部緩存至內存數據庫中,當用戶獲取數據時,優先從緩存數據庫讀取,如果在緩存中無法獲取到相應數據,則從數據庫中讀取,從而提高數據讀取的速度,最終有效減少系統響應耗時,提高用戶WEB端評估指標實時計算的速度。
目前,常用的格點場繪制方式為Canvas(畫布)渲染方式,但在實況產品的格點分辨率超過一定量級時(大于等于200×100分辨率或總格點數量大于2萬個),Canvas渲染方式的繪制時長會出現大幅度的增長。當前,系統使用的實況產品背景場分辨率為1 km和5 km,所需顯示的數量級已經超出了Canvas渲染方式的高性能區間,在繪制時會出現一定的卡頓情況,甚至會造成顯示模塊的崩潰,嚴重影響用戶使用。為解決該問題,系統采用了根據地圖縮放級別動態抽稀格點的顯示方式,并根據視窗范圍動態調節繪制范圍,即只繪制在屏幕顯示范圍內的格點,而不是繪制所有格點,從而能夠有效解決繪制的性能瓶頸。
動態抽稀格點方式在抽稀的過程中會抽掉一部分格點,而在降水過程中,大雨以上的區域范圍會比較小,但是這類降水落區又是不可忽略的。在普通的抽稀過程中,必然會損失一部分雨量較大但范圍較小的格點,從而出現誤判。針對這種降水落區的特殊性,本文對普通抽稀算法進行了特殊化處理,抽稀過程針對格點降水量級的差異進行了不同的合并策略。下文以2×2四個格點合并為1×1一個格點為例進行說明。
策略一:單一量級降水區域格點合并,被合并格點屬于同一降水量級,則取全部待合并格點值求平均值作為合并后格點的值,如圖2所示。

圖2 策略一示例Fig.2 Example diagram of strategy one
策略二:不同量級降水區域格點合并,被合并格點不屬于同一降水量級,則取全部待合并格點值的最大值作為合并后格點的值,如圖3所示。

圖3 策略二示例Fig.3 Example diagram of strategy two
在兩種策略的作用下,強降水落區將不會被掩蓋,也不會出現由平均值引起的降水量級變化,通過網格的填色和相應格點的降水數值填圖,實現縮放前后降水落區的分布和量級不發生變化。
系統中的資料管理模塊,采用了Elasticsearch數據庫作為檢驗評估產品資料的全文搜索引擎。Elasticsearch是一個基于Lucene使用Java開發的分布式、高擴展、高實時的搜索與數據分析引擎,它基于RESTful WEB接口,具有實時搜索、穩定、可靠、快速、安裝使用方便的特點。充分利用Elasticsearch的水平伸縮性,能使數據在生產環境中變得更有價值。用戶在檢驗評估產品資料模塊的查詢頁面搜索框中輸入檢索關鍵詞,就可以實時快速地對Elasticsearch數據庫中檢驗評估產品文檔的標題、標簽及文檔內容進行檢索和匹配。
構建基于ElasticSearch的產品全文搜索引擎,綜合采用了Spring、Maven和關系型數據庫技術,檢索流程如圖4所示,具體技術思路如下。

圖4 基于Elasticsearch的數據檢索流程Fig.4 Data retrieval process based on Elasticsearch
(1)設計索引數據庫存儲結構,用于存儲檢索所需的檢驗評估產品索引數據信息。
(2)搭建Elasticsearch服務,根據設計完成的存儲結構建立Elasticsearch搜索引擎數據庫及其相關文檔、類型和索引。
(3)實現數據同步服務,并將數據庫中檢驗評估產品信息表數據轉化為JSON數據格式,導入并存儲在Elasticsearch的數據庫中。
(4)設置Elasticsearch搜索模板、分詞算法、字段權重及最小匹配閾值等參數,實現當用戶輸入關鍵字時,系統調用Elasticsearch接口實現全文檢索。
網格實況產品檢驗評估分析系統主要面向西南區域各省用戶,提供實時的網格實況產品動態評估和檢驗,因此能否高效地完成評估指標計算和面向用戶呈現檢驗評估所需的完整功能,是系統能夠投入業務應用的關鍵。
為準確評估不同站點數量時的質量評估指標計算性能,按照日常業務常用場景,分別測試單時次場景下的四川省國家氣象站156 個、四川省區域地面觀測站中的骨干站800 個、 四川省區域地面觀測站中的考核站2 700 個和非考核站3 300 個、單時次及時收集的四川省所有國家氣象站和區域地面觀測站6 100個、單日及時收集的四川省所有國家氣象站和區域地面觀測站146 400個等場景。統計實時完整計算方案和本文提出的預處理分段計算方案的耗時,并進行對比。
將各類場景下的測試數據進行匯總對比(表1)可以發現,在各類評估場景中,傳統的指標完整計算方案是分段計算方案運行耗時的十倍至幾十倍,并且隨著站點數量的增多,傳統的指標完整計算方案耗時累計增加,耗時過長,會導致系統長期處于卡頓中,導致系統不可用。本文提出的質量評估指標分段計算的性能提升超過10倍,計算的耗時在毫秒級,使得系統能夠流暢響應指令,充分滿足用戶的使用需求。

表 1 質量評估指標計算性能對比
網格實況產品檢驗評估分析系統基于SpringBoot的微服務架構,綜合采用JavaScript、Leaflet、Canvas、Vue.js等WEB技術構建,并通過Nginx建立負載均衡,面向西南區域用戶提供網格實況產品交互應用和產品檢驗評估服務。系統實現了當前業務化運行的27種實況產品在二維和三維GIS上的統一展示應用,通過系統的站點格點對比分析,可以很明顯地發現,基于網格實況產品的色斑圖較傳統基于站點插值的色斑圖,隨著網格實況產品分辨率的提高,細節愈加清晰。
針對復雜地形下氣象網格實況分析產品快速檢驗等問題,本文提出了構建檢驗評估系統的思路和相應的分段計算等優化方法,得出的結論如下。
(1)通過基于消息機制的國省數據共享系統和“天擎”系統,建立了網格實況產品的接收、格式轉換和評估指標預處理,實現低延遲的產品接入和標準化預處理流程。
(2)提出了質量評估數據預處理分段計算及緩存加速優化方法,將質量評估指標計算分成兩個階段,第一階段作為數據預處理提前完成,并根據用戶選擇的站點范圍實時完成第二階段計算,試驗結果表明,該方法能夠有效減少用戶等待耗時。
(3)優化了高分辨率格點場高效顯示技術,實現了高分辨率格點場數據抽稀過程中強降水落區不被覆蓋且保持降水的量級。
(4)設計了基于Elasticsearch的檢驗評估產品全文檢索技術框架,實現了系統管理的檢驗評估報告的高效檢索,提高了用戶查詢報告的效率。