■ 郭鋒
依托診斷方法,采用信息技術,實現(xiàn)診斷數(shù)據(jù)的在線顯示和診斷操作人機交互功能,建立支撐GRAPES物理過程診斷工作的軟件平臺,為科研用戶提供操作便捷,界面友好的專用工具。通過長期與模式研發(fā)人員的交流中,積累需求,不斷的改進設計,對模式物理過程診斷中的數(shù)據(jù)處理、圖形可視化、圖形展示等各個功能模塊進行集成,采用界面技術對用戶操作實現(xiàn)交互功能,建立高效、完善的圖形系統(tǒng),支撐模式研發(fā)所需的模式診斷、數(shù)據(jù)可視化應用。
在科技部“十五”和“十一五”科技支撐項目及中國氣象局的大力支持下,經(jīng)過10年的發(fā)展,我國已自主建立了區(qū)域和全球GRAPES數(shù)值預報業(yè)務系統(tǒng),具備了與現(xiàn)有國外引進業(yè)務系統(tǒng)同等的業(yè)務能力。但是,與國外先進數(shù)值預報業(yè)務中心的全球模式系統(tǒng)相比,預報誤差仍然偏大。模式改進工作的主要瓶頸之一在于對物理過程之間的相互作用與反饋的認識程度和深度,實現(xiàn)模式系統(tǒng)和模式物理過程診斷結(jié)果的實時顯示和快捷人機對話,是有效利用各種GRAPES模式物理過程診斷分析方法為模式研發(fā)服務的基本保證。因此,研發(fā)集成模式診斷方法與人機交互的氣象可視化軟件,非常有利于支撐GRAPES模式的發(fā)展。
目前,氣象數(shù)據(jù)可視化軟件或應用系統(tǒng)主要分為兩類:一類是通用的可視化軟件,國外常用系統(tǒng)有Surfer、GRADS、Vis5D、VisAD、MciDAS、METView、TriVIS等;國內(nèi)常用系統(tǒng)有PC-Vis5D、Weather3D、AeroWIS等。另一類是針對業(yè)務工作的特點所開發(fā)的氣象數(shù)據(jù)可視化相關的業(yè)務工作平臺。如美國國家天氣局氣象預報臺的核心工作平臺AWIPS系統(tǒng);德國、加拿大、丹麥、瑞士等國聯(lián)合開發(fā),基于C/S架構的預報工作系統(tǒng)NinJo系統(tǒng);中國氣象局開發(fā)的一個綜合預報業(yè)務平臺MICAPS系統(tǒng)。針對數(shù)值預報的分析研究平臺,如由ECMWF開發(fā)的用于業(yè)務及科研的可視化應用Metview;基于開源項目CDAT,用于對多模式氣候數(shù)據(jù)進行分析研究的專用工具VCDAT等。本平臺針對GRAPES模式物理過程診斷工作所涉及的各個環(huán)節(jié),通過軟件集成技術,建立綜合操作軟件平臺,實現(xiàn)數(shù)據(jù)處理、圖形繪制和顯示,具備一定交互能力的模式系統(tǒng)和模式物理過程診斷分析平臺,有利于便捷高效地診斷模式的誤差源和可能反饋機制,對模式物理過程進行有針對性的改進。
數(shù)值預報模式研發(fā)人員在進行模式研發(fā)和物理過程診斷分析的過程中,常常需要對模式輸出結(jié)果數(shù)據(jù)進行展示和分析,這一過程包括了數(shù)據(jù)的圖形圖像繪制、數(shù)據(jù)運算、比較分析、數(shù)值統(tǒng)計等診斷操作,在過去很長一段時間里,這些工作需要研究人員自己收集數(shù)據(jù)、處理數(shù)據(jù)、使用計算機語言編制軟件來分析數(shù)據(jù),以及使用繪圖語言撰寫腳本對數(shù)據(jù)進行繪制和圖形/圖像化展示,這些低水平重復性工作過程繁瑣且消耗大量時間,而一些現(xiàn)有的繪圖工具軟件也無法滿足GRAPES模式物理過程診斷分析中的多數(shù)據(jù)來源、參考資料對比分析、數(shù)據(jù)運算處理、實時繪圖、批量繪圖等等需求,為此筆者所在團隊研究開發(fā)針對滿足GRAPES模式物理過程診斷分析的具體需求的可視化工具軟件,可更有效的支撐GRAPES數(shù)值模式的研發(fā)工作。即:當GRAPES模式研發(fā)人員的模式運行完成,并產(chǎn)生GRAPES模式試驗輸出數(shù)據(jù),通常這些數(shù)據(jù)被保存在本地或是上傳至用于管理模式數(shù)據(jù)的分布式數(shù)據(jù)平臺系統(tǒng)(DDPS),本軟件直接接入DDPS系統(tǒng)或通過數(shù)據(jù)處理程序?qū)氡镜財?shù)據(jù)實現(xiàn)數(shù)據(jù)的獲取,用戶通過軟件界面選取所需要素場,配置相關繪圖參數(shù)可直接繪制繪圖或進行氣象圖形的批量生成,并且在界面上實現(xiàn)各類診斷操作(如剖面、統(tǒng)計運算、縮放、偏差、累加等),快速繪制生成診斷圖形,實現(xiàn)對模式輸出的診斷分析,軟件在繪圖與診斷操作上需實現(xiàn)快速的在線顯示與實時繪圖,提高軟件的用戶體驗。本軟件還支持多種數(shù)據(jù)的綜合分析,用戶可通過FTP方式上傳自備數(shù)據(jù),或通過獲取其它模式的數(shù)據(jù)(近線存儲于MARS系統(tǒng),由國家氣象信息中心運行維護),形成多種模式和數(shù)據(jù)的綜合對比分析環(huán)境。
依托模式物理過程診斷方法,采用信息技術,實現(xiàn)診斷數(shù)據(jù)的在線顯示和診斷操作的人機交互,建立GRAPES物理過程診斷的可視化軟件平臺,為科研用戶提供操作便捷、界面友好的專用工具。針對以上的目標,主要包含如下內(nèi)容:
1)資料綜合處理技術
軟件平臺支持從多種來源獲取數(shù)據(jù),包括本地數(shù)據(jù)接入、FTP上傳接入、專用數(shù)據(jù)(MARS)服務器檢索、分布式數(shù)據(jù)平臺系統(tǒng)(DDPS)檢索接入。軟件將符合通用數(shù)據(jù)標準(GRIB2)格式的用戶數(shù)據(jù)導入系統(tǒng),且可通過開發(fā)具有高擴展性、高適用性的數(shù)據(jù)標準化處理程序,將GRAPES模式試驗輸出的原始數(shù)據(jù)類型GRADS格式數(shù)據(jù)轉(zhuǎn)碼為通用數(shù)據(jù)標準(GRIB2)格式;標準化數(shù)據(jù)處理程序還支持FNL數(shù)據(jù)、T639模式等數(shù)據(jù)處理,使之在軟件中作為參考資料與用戶導入的數(shù)據(jù)進行對比分析。通過并行數(shù)據(jù)轉(zhuǎn)碼功能的研發(fā),提高轉(zhuǎn)碼效率。
設計并實現(xiàn)試驗數(shù)據(jù)、參考資料數(shù)據(jù)、繪圖配置數(shù)據(jù)等數(shù)據(jù)庫存儲結(jié)構,通過保存數(shù)據(jù)元信息及數(shù)據(jù)與圖片的對應關系,實現(xiàn)追溯整個繪圖流程,用于進行診斷分析中的快速定位。
2)圖形繪制和顯示模塊開發(fā)
為滿足研究人員對繪圖操作的個性化需求,軟件平臺實現(xiàn)了交互式繪圖配置功能的研發(fā)。在對各類繪圖配置參數(shù)的統(tǒng)計分類以及對通用基本要素的繪圖風格調(diào)研的基礎上,軟件平臺為模式輸出的各個要素提供了默認的參數(shù)配置模板,用戶可根據(jù)自己的需求建立自己的模板庫,提高相應的繪圖參數(shù)模板管理功能,以減少用戶配置繪圖參數(shù)的復雜度,減少重復操作。
軟件平臺實現(xiàn)了批量圖形繪制程序的開發(fā),支持等值線、填充圖、流線圖、矢量圖、剖面圖、垂直廓線、垂直剖面和時間序列等圖形類型;實現(xiàn)了并發(fā)繪圖,提高圖形繪制效率。實現(xiàn)了實時繪圖顯示功能的開發(fā),支持GRIB2格式的數(shù)據(jù),內(nèi)置插值功能,支持包括填充圖、等值線圖、統(tǒng)計圖等圖形的繪制。
3)交互界面軟件開發(fā)
軟件平臺由兩部分構成:客戶端、服務端和消息通信組件,實現(xiàn)從數(shù)據(jù)接入、數(shù)據(jù)選擇、繪圖參數(shù)配置、并發(fā)繪圖、繪圖結(jié)果展示到診斷交互操作等完整流程的界面開發(fā)。
模式物理過程診斷軟件平臺是建立在多類數(shù)據(jù)、集合科研需求的交互式的數(shù)據(jù)可視化系統(tǒng),在設計時主要遵循以下原則:①統(tǒng)一處理。多類數(shù)據(jù)來源(本地、FTP、MARS 、DDPS等)、多種數(shù)據(jù)(GRPAES模式回算數(shù)據(jù)、FNL數(shù)據(jù)、T639模式數(shù)據(jù)等)通過統(tǒng)一的數(shù)據(jù)處理程序?qū)胲浖脚_。②業(yè)務實用性。結(jié)合模式物理過程診斷方法與科研人員常用的診斷操作,在軟件平臺中實現(xiàn)方便易用的可視化配置、圖形繪制以及診斷操作。③可擴展性。系統(tǒng)的設計和實現(xiàn)應具備良好的可擴展性,通過設計來適應不斷增加的數(shù)據(jù)及圖形繪制需求。④運行效率。數(shù)據(jù)處理、圖形繪制及診斷操作應具有較快的響應。⑤多用戶共享。軟件支持Window系統(tǒng),有利于軟件的推廣應用。
系統(tǒng)結(jié)構(圖1)主要由文件系統(tǒng)、后臺服務、消息中間件、交互式界面和數(shù)據(jù)庫構成。文件系統(tǒng)主要包括本地、FTP、MARS 、DDPS等。后臺服務主要包括數(shù)據(jù)導入、標準數(shù)據(jù)處理以及圖形繪制,通過響應交互式界面的消息,匹配各類數(shù)據(jù)來源相應的數(shù)據(jù)接口進行數(shù)據(jù)導入,通過統(tǒng)一數(shù)據(jù)處理程序進行數(shù)據(jù)的標準化處理,并響應各種繪圖任務命令。軟件通過消息中間件實現(xiàn)消息命令的傳遞。交互式界面實現(xiàn)數(shù)據(jù)訪問、繪圖配置及瀏覽分析等功能。數(shù)據(jù)庫用以支持軟件整體的業(yè)務流程。
圖1 系統(tǒng)架構圖
診斷軟件平臺將數(shù)據(jù)處理,數(shù)據(jù)圖形可視化,圖形展示等各個功能模塊進行集成,采用界面技術實現(xiàn)用戶操作交互功能。系統(tǒng)通過數(shù)據(jù)接入服務定位分析數(shù)據(jù)對象;通過計算服務提供對數(shù)據(jù)對象的加工處理;通過圖形繪制服務提供參數(shù)化的定制圖形產(chǎn)品;通過顯示服務展示各種繪制圖形;通過交互式響應服務處理操作指令信息。具體技術路線如下:
1)使用GRIB API庫生成并解析GRIB/GRIB2格式的數(shù)據(jù),將模式生成的GRADS數(shù)據(jù)轉(zhuǎn)換為GRIB2格式數(shù)據(jù),同時使用多線程技術提高轉(zhuǎn)碼效率,支持對FNL等參考資料數(shù)據(jù)的處理,并提供等經(jīng)緯度網(wǎng)格數(shù)據(jù)的插值系統(tǒng).
2)開發(fā)存放數(shù)據(jù)元信息、數(shù)據(jù)與圖片對應關系的數(shù)據(jù)庫存儲系統(tǒng)。
3)結(jié)合物理過程診斷工作需求,設計繪圖模板,開發(fā)基于繪圖模板的批量繪圖系統(tǒng),研究使用多進程方法加快繪圖速度,開發(fā)界面上的實時繪圖功能。
4)開發(fā)人機交互界面。開發(fā)數(shù)據(jù)導入界面,支持從多種來源導入,支持多種數(shù)據(jù)種類;開發(fā)數(shù)據(jù)瀏覽查看界面,顯示數(shù)據(jù)集要素、層次、時效等信息列表;開發(fā)繪圖模板配置界面,用以配置各項參數(shù);開發(fā)圖像瀏覽界面,支持診斷交互操作。
5)研發(fā)基于消息中間件的網(wǎng)絡通訊技術,設計診斷軟件平臺的網(wǎng)絡通信方案。開發(fā)消息管理模塊,實現(xiàn)診斷軟件的網(wǎng)絡化部署。
3.3.1服務端
服務端主要包括數(shù)據(jù)導入、標準數(shù)據(jù)處理、圖形繪制三個子模塊,用以響應前端交互式界面發(fā)送的進行數(shù)據(jù)檢索、導入、繪圖的操作請求。
數(shù)據(jù)導入模塊包括本地數(shù)據(jù)、FTP上傳、專用數(shù)據(jù)(MARS)服務器、分布式數(shù)據(jù)平臺系統(tǒng)(DDPS)的數(shù)據(jù)導入,通過開發(fā)各類不同數(shù)據(jù)來源的數(shù)據(jù)接口來適配不同的數(shù)據(jù)請求。
實現(xiàn)具有高可擴展性的統(tǒng)一數(shù)據(jù)處理程序開發(fā),將GRAPES模式輸出文件轉(zhuǎn)碼為GRIB2格式,自動識別數(shù)據(jù)內(nèi)容,支持GRAPES GFS模式的模式變量和診斷變量輸出,并將實驗數(shù)據(jù)的時次、時效、要素、層次等信息保存到數(shù)據(jù)庫中。標準數(shù)據(jù)處理程序?qū)崿F(xiàn)解析GRAPES模式試驗輸出的原始數(shù)據(jù)類型,支持T639模式產(chǎn)品、FNL等參考資料的識別與接入。處理流程如圖2所示。
基于NCL開發(fā)獨立的圖形繪制程序。為了提高程序的執(zhí)行效率,避免NCL采用腳本方式調(diào)用時出現(xiàn)的內(nèi)存占用大,CPU使用率極高的情況出現(xiàn),系統(tǒng)采用調(diào)用NCL的底層繪制C接口的方式。同時采用數(shù)據(jù)直接定位解碼的方式,避免NCL腳本方式直接加載整個數(shù)據(jù)文件的問題。在批量圖形繪制時,需要采用多進程的方式進行圖片的繪制,因此將繪圖模塊單獨設計為一個獨立的程序。使用xml模板作為繪圖任務參數(shù)文件,使繪圖程序具有一定的可拓展性。繪圖流程如圖3所示。
圖3 繪圖流程圖
3.3.2客戶端
客戶端主要將界面軟件劃分為數(shù)據(jù)-繪圖-顯示三個相關聯(lián)的子界面,提供不同的交互功能。實驗數(shù)據(jù)界面是整個軟件的第一級界面,提供導入實驗數(shù)據(jù)和參考數(shù)據(jù)、數(shù)據(jù)內(nèi)容瀏覽以及繪圖模板庫。根據(jù)不同的數(shù)據(jù)來源設計不同的數(shù)據(jù)選取界面,以列表的形式瀏覽所導入的數(shù)據(jù)集內(nèi)容,并以統(tǒng)計圖以及填充圖的方式實現(xiàn)快速瀏覽所選取的要素場內(nèi)容,并提供系統(tǒng)繪圖模板與用戶自定義模板的瀏覽選取,并通過拖拽方式使數(shù)據(jù)集與繪圖模板相匹配進行批量繪圖。繪圖配置界面是軟件的第二級界面,主要提供繪圖配置、繪圖模板庫的操作以及繪圖效果實時預覽。實現(xiàn)包括基本圖形樣式、底圖、投影、配色方案、標注等圖形元素的定制和修改,實現(xiàn)便捷的圖形表現(xiàn)形式的修改,提供模板的修改創(chuàng)建功能,并且在單個模板匹配指定要素場與模板修改時,實現(xiàn)繪圖效果的實時瀏覽。顯示交互界面是軟件的第三級界面,主要提供顯示繪圖結(jié)果與診斷交互功能。針對批量繪圖的圖形產(chǎn)品提供多樣的瀏覽顯示功能,并且結(jié)合模式研發(fā)人員以及物理過程診斷方法,提供圖形方法重繪、剖面、偏差、累積、播放瀏覽等基本診斷方法。
針對GRAPES模式診斷輸出物理量,采用WMO GRIB標準第二版,實現(xiàn)數(shù)據(jù)標準化處理,不僅支持GRAPES模式輸出數(shù)據(jù),還能處理多種診斷需要的參考資料,使得所有模式數(shù)據(jù)和參考資料數(shù)據(jù)的存儲和訪問接口統(tǒng)一。標準編碼要素涉及相關的80多個物理量。
利用NCL的C語言接口,結(jié)合XML模板配置技術,開發(fā)繪圖引擎,實現(xiàn)批量繪圖功能;為提高界面交互診斷的易用性,開發(fā)了實時繪圖功能,基于Qwt庫,開發(fā)實時繪圖引擎。支持GRIB2格式的數(shù)據(jù),內(nèi)置插值功能。實現(xiàn)對填充圖和等值線圖的繪制,支持等經(jīng)緯度和極坐標投影,支持折線圖、條形圖等統(tǒng)計圖形的繪制。通過繪圖引擎,可以實現(xiàn)科研人員在診斷分析中使用的基本圖形樣式,如:等值線圖,填充圖,多要素疊加圖,剖面圖,廓線圖等(圖4),支持單位換算,平均,累加,偏差運算等計算功能。
圖4 繪制圖形示例圖
研發(fā)了用于多樣的繪圖配置功能,提供用戶對基本圖形樣式,底圖,投影,配色方案,標注等圖形元素的定制和修改,實現(xiàn)便捷的圖形表現(xiàn)形式的修改,支持不同用戶的共享。不同的模板可以集合形成繪圖工具箱,封裝批量繪圖任務,實現(xiàn)圖形批量繪制。實現(xiàn)批量繪圖并行優(yōu)化調(diào)度策略,為了充分利用系統(tǒng)資源,系統(tǒng)利用多進程機制進行圖形繪制任務的調(diào)度,繪圖速度得到明顯提升。繪圖效率的提升對比如圖5所示。
圖5 繪圖效率提升示意圖
圖形瀏覽模塊可支持多視圖顯示,用戶可以根據(jù)需要同時瀏覽1、2或4張圖片。系統(tǒng)提供圖像瀏覽方式的交互配置界面,方便用戶配置視圖的數(shù)量及各視圖對應的繪圖集。設置不同的篩選條件,將條件加入到某個視圖中,瀏覽模塊會自動從圖片庫中尋找匹配篩選條件的圖片,顯示在對應視圖中。可配置每個窗口圖片顯示的順序進行顯示如:時間,預報時次,要素,層次等同步顯示和動畫顯示。
提供交互式的圖形操作功能,例如瀏覽、縮放、取值、對比、剖面線、廓線等交互功能,多窗口同步顯示,便于科研用戶對比分析。
建立交互工具,以“點”,“線”,“面”操作分類,通過關聯(lián)數(shù)據(jù),調(diào)用實時繪圖引擎實現(xiàn)在線處理和顯示,“點”交互功能包括單點取值標注、單點廓線和單點時序圖等;“線”交互主要是在圖片上任意直線的剖面功能;“面”交互功能包括關注區(qū)域標示和放大查看,兩個場的偏差操作。
系統(tǒng)以QT、GRIB_API、NCL和OCI技術為基礎構建,在Windows平臺上實現(xiàn)客戶端軟件開發(fā),通過增加ActiveMQ消息組件與服務器進行通訊,建立網(wǎng)絡平臺的基礎架構,經(jīng)過功能拆分,形成了前臺交互,后臺響應的客戶/服務系統(tǒng),支持多用戶共享,促進軟件的推廣應用。軟件平臺主要界面如圖6所示。
圖6 軟件主界面
軟件以模式研發(fā)人員的需求為出發(fā)點,通過詳細的需求調(diào)研,在實際開發(fā)過程中,不斷與模式研發(fā)人員進行交流,迭代開發(fā)改進軟件功能設計,在推廣試用過程中,持續(xù)根據(jù)模式研發(fā)人員的意見不斷改進軟件的功能與效率。系統(tǒng)通過接入研發(fā)人員日常使用的數(shù)據(jù)平臺,保證了與模式試驗軟件平臺的有效對接,在模式支撐軟件體系成為一個重要工具。
物理過程診斷軟件平臺提供數(shù)據(jù)導入、數(shù)據(jù)處理、繪圖配置、批量繪圖、圖形顯示、診斷交互操作等功能,基本涵蓋物理過程診斷可視化分析的全流程。當前版本支持GRAPES GFS模式的輸出數(shù)據(jù),支持FNL等數(shù)據(jù)作為參考資料。本軟件為模式研發(fā)人員提供方便快捷的物理過程診斷工具,為科研用戶提供操作便捷,界面友好的專用工具。軟件平臺采用網(wǎng)絡化技術,具有很強的擴展性,支持多用戶同時使用。本軟件平臺與分布式數(shù)據(jù)平臺系統(tǒng)(DDPS)對接,方便用戶對模式試驗結(jié)果進行分析,提高模式研發(fā)人員進行物理過程診斷的效率。
發(fā)展數(shù)值預報模式物理過程診斷技術,并形成模式物理過程數(shù)據(jù)的在線顯示和實時人機交互診斷平臺,有助于提高模式研發(fā)水平和研發(fā)效率,從而縮短模式研發(fā)的周期。
深入閱讀
賈朋群, 王淞秋, 2016. 氣象可視化——用可視化方法詮釋. 氣象知識, (4): 63-67.
李月安, 曹莉, 沃偉峰, 2011. MICAPS 3.1.1用戶使用手冊. 北京:氣象出版社.
伍湘君, 金之雁, 黃麗萍, 2005. GRAPES模式軟件框架與實現(xiàn). 應用氣象學報, 16(4): 539-546.
徐國強, 陳德輝, 薛紀善, 2008. GRAPES物理過程的優(yōu)化試驗及程序結(jié)構設計. 科學通報, 53(20): 2428-2434.
Advances in Meteorological Science and Technology2018年1期