李曉峰,張金鑫,馬國忠,劉松濤
(1.黑龍江省氣象局,黑龍江 哈爾濱 150001;2.黑龍江省氣象信息中心,黑龍江 哈爾濱150030;3.黑龍江省氣象臺,黑龍江 哈爾濱 150030)
在經(jīng)濟飛速發(fā)展的今天,氣象服務已不能僅僅局限在粗線條、大尺度的框架內(nèi),人們對氣象服務提出了更高的要求,期望氣象部門能提供在時間和空間上更為精細、量級上更為準確、要素上更為多樣化的天氣預報產(chǎn)品。因此進一步開展數(shù)值預報模式解釋應用技術研究,并在此基礎上開發(fā)和完善基于數(shù)值預報模式解釋應用技術的精細化的氣象要素及其它客觀氣象預報系統(tǒng)是當前面臨的一個十分重要的問題。黑龍江省單站數(shù)值預報時序圖服務系統(tǒng)就是建設一套基于單站精細化綜合時序圖的生成,顯示和分析的系統(tǒng)。單站氣象要素天氣預報是現(xiàn)代氣象業(yè)務體系發(fā)展的需要,此科研成果可直接投入省級制作和發(fā)布指導預報產(chǎn)品,各市地縣都可推廣使用。
C/S(Client/Server)結構,即大家熟知的客戶機和服務器結構。它是軟件系統(tǒng)體系結構,通過它可以充分利用兩端硬件環(huán)境的優(yōu)勢,將任務合理分配到Client端和Server端來實現(xiàn),優(yōu)勢是降低了系統(tǒng)的通訊開銷,數(shù)據(jù)的儲存管理功能較為透明,劣勢是高昂的維護成本且投資大。
因為本系統(tǒng)是在氣象系統(tǒng)內(nèi)部使用,數(shù)據(jù)安全性要求比較高,數(shù)據(jù)也不需要在互聯(lián)網(wǎng)上共享,因此采用Client/Server結構。
本系統(tǒng)采用三層構架,包括用戶服務層、應用功能層、數(shù)據(jù)服務層三個部分。用戶服務層:包括省客戶端軟件、市縣的客戶端軟件、數(shù)據(jù)處理客戶端;應用功能層:主要是利用現(xiàn)有的計算機網(wǎng)絡傳輸相關數(shù)據(jù);數(shù)據(jù)服務層:主要用于數(shù)據(jù)存儲。
本系統(tǒng)包括省客戶端客戶機、市縣客戶端客戶機、數(shù)據(jù)庫服務器、數(shù)據(jù)處理客戶端計算機四部分。
省客戶端客戶機:和市縣客戶端客戶機功能一樣,多一個可以輸入任意經(jīng)緯度點生成時序圖的功能。
市縣客戶端客戶機:該軟件主要完成數(shù)值預報時序圖檢索顯示保存等功能??蛻魴C將從預報員收集來的查詢條件提交給數(shù)據(jù)庫服務器,并將數(shù)據(jù)庫服務器返回的圖像資料顯示出來,供預報員查看和保存。
數(shù)據(jù)庫服務器:主要是數(shù)據(jù)庫管理軟件運行用機。主要負責數(shù)據(jù)收集和保存,為統(tǒng)計查詢提供數(shù)據(jù)基礎。
數(shù)據(jù)處理客戶端:是自動運行的軟件。管理員設定好時間表后,程序定時按照參數(shù)文件設定的各種參數(shù)將各種數(shù)值預報的格點文件調(diào)用GEADS,生成83個臺站的時序圖,并將這些圖形文件按照二進制方式存入數(shù)據(jù)庫。
數(shù)據(jù)庫采用SQL-SERVER2008,開發(fā)環(huán)境采用VS2010,基于TCP/IP的網(wǎng)絡構架,并利用INTERNET上細網(wǎng)格數(shù)值預報產(chǎn)品制作黑龍江省縣站及任意經(jīng)緯度點的單站綜合時序圖。
數(shù)據(jù)庫設計采用第三范式設計,即要求一個數(shù)據(jù)庫表中不包含其它表中已包含的非主關鍵字信息,保證作業(yè)數(shù)據(jù)冗余度最小。
數(shù)據(jù)表分為二類,第一類是用于存儲系統(tǒng)相關信息的表,如 TabStations;tab_dish;mod等。 它存儲系統(tǒng)運行時一些重要參數(shù),是維護系統(tǒng)正常運行的關鍵。第二類是用于存儲時序圖信息的表,如EC、T639、WRF、NCEP、JP等。它存儲用戶記錄的報文缺測或逾限信息,是進行數(shù)據(jù)統(tǒng)計分析的基礎。表1是系統(tǒng)主要表和視圖的名稱及相關說明。
表1 數(shù)據(jù)表說明
客戶端軟件分為數(shù)據(jù)處理客戶端、市縣客戶端、省客戶端三個部分。
本程序是24 h運行,根據(jù)設定的時間,進行生成最新的節(jié)目表,定時按照參數(shù)文件設定的各種參數(shù)將各種數(shù)值預報的格點文件調(diào)用GEADS,生成83個臺站的時序圖,并將這些圖形文件按照二進制方式存入數(shù)據(jù)庫。本程序采用時間片運行機制,因此不需要人工干預。為了防止機器意外關機,將程序添加到啟動組中,隨著windows一起啟動。
本程序主要是市縣級預報員使用,預報員選擇數(shù)值預報模式,起報時間,臺站名稱等信息,點擊查詢按鈕。程序收集這些查詢信息并將它發(fā)送給數(shù)據(jù)庫服務器,將服務器端發(fā)送過來的二進制單站數(shù)值預報時序圖給預報員進行分析預報,同時提供圖形的保存及編輯功能。
本程序和市縣的程序基本功能差不多,增加了一個任意點時序圖的生成功能。預報員通過目錄選擇數(shù)值預報文件,然后輸入任意點的經(jīng)緯度信息,點擊查詢。程序會收集這些信息生成參數(shù)文件并調(diào)用GEADS在臨時目錄下生成任意點的時序圖,并顯示給預報員。
本系統(tǒng)是完全按照軟件工程理論設計實現(xiàn)的,具有很好的接口和良好的可擴展性,能夠適應預報人員的需要,并可以根據(jù)日后業(yè)務需求的擴展進行擴展。本系統(tǒng)文檔齊全,幫助系統(tǒng)詳細,使用人員經(jīng)過簡單的培訓即可使用。本課題歷時一年時間,經(jīng)歷了前期調(diào)研需求分析,中期開發(fā)調(diào)試及試運行,后期課題驗收三個階段,已經(jīng)投入正常的業(yè)務運行,取得了很好的效果。