李曉峰,張金鑫,馬國忠,劉松濤
(1.黑龍江省氣象局,黑龍江 哈爾濱 150001;2.黑龍江省氣象信息中心,黑龍江 哈爾濱150030;3.黑龍江省氣象臺,黑龍江 哈爾濱 150030)
在經濟飛速發展的今天,氣象服務已不能僅僅局限在粗線條、大尺度的框架內,人們對氣象服務提出了更高的要求,期望氣象部門能提供在時間和空間上更為精細、量級上更為準確、要素上更為多樣化的天氣預報產品。因此進一步開展數值預報模式解釋應用技術研究,并在此基礎上開發和完善基于數值預報模式解釋應用技術的精細化的氣象要素及其它客觀氣象預報系統是當前面臨的一個十分重要的問題。黑龍江省單站數值預報時序圖服務系統就是建設一套基于單站精細化綜合時序圖的生成,顯示和分析的系統。單站氣象要素天氣預報是現代氣象業務體系發展的需要,此科研成果可直接投入省級制作和發布指導預報產品,各市地縣都可推廣使用。
C/S(Client/Server)結構,即大家熟知的客戶機和服務器結構。它是軟件系統體系結構,通過它可以充分利用兩端硬件環境的優勢,將任務合理分配到Client端和Server端來實現,優勢是降低了系統的通訊開銷,數據的儲存管理功能較為透明,劣勢是高昂的維護成本且投資大。
因為本系統是在氣象系統內部使用,數據安全性要求比較高,數據也不需要在互聯網上共享,因此采用Client/Server結構。
本系統采用三層構架,包括用戶服務層、應用功能層、數據服務層三個部分。用戶服務層:包括省客戶端軟件、市縣的客戶端軟件、數據處理客戶端;應用功能層:主要是利用現有的計算機網絡傳輸相關數據;數據服務層:主要用于數據存儲。
本系統包括省客戶端客戶機、市縣客戶端客戶機、數據庫服務器、數據處理客戶端計算機四部分。
省客戶端客戶機:和市縣客戶端客戶機功能一樣,多一個可以輸入任意經緯度點生成時序圖的功能。
市縣客戶端客戶機:該軟件主要完成數值預報時序圖檢索顯示保存等功能。客戶機將從預報員收集來的查詢條件提交給數據庫服務器,并將數據庫服務器返回的圖像資料顯示出來,供預報員查看和保存。
數據庫服務器:主要是數據庫管理軟件運行用機。主要負責數據收集和保存,為統計查詢提供數據基礎。
數據處理客戶端:是自動運行的軟件。管理員設定好時間表后,程序定時按照參數文件設定的各種參數將各種數值預報的格點文件調用GEADS,生成83個臺站的時序圖,并將這些圖形文件按照二進制方式存入數據庫。
數據庫采用SQL-SERVER2008,開發環境采用VS2010,基于TCP/IP的網絡構架,并利用INTERNET上細網格數值預報產品制作黑龍江省縣站及任意經緯度點的單站綜合時序圖。
數據庫設計采用第三范式設計,即要求一個數據庫表中不包含其它表中已包含的非主關鍵字信息,保證作業數據冗余度最小。
數據表分為二類,第一類是用于存儲系統相關信息的表,如 TabStations;tab_dish;mod等。 它存儲系統運行時一些重要參數,是維護系統正常運行的關鍵。第二類是用于存儲時序圖信息的表,如EC、T639、WRF、NCEP、JP等。它存儲用戶記錄的報文缺測或逾限信息,是進行數據統計分析的基礎。表1是系統主要表和視圖的名稱及相關說明。

表1 數據表說明
客戶端軟件分為數據處理客戶端、市縣客戶端、省客戶端三個部分。
本程序是24 h運行,根據設定的時間,進行生成最新的節目表,定時按照參數文件設定的各種參數將各種數值預報的格點文件調用GEADS,生成83個臺站的時序圖,并將這些圖形文件按照二進制方式存入數據庫。本程序采用時間片運行機制,因此不需要人工干預。為了防止機器意外關機,將程序添加到啟動組中,隨著windows一起啟動。
本程序主要是市縣級預報員使用,預報員選擇數值預報模式,起報時間,臺站名稱等信息,點擊查詢按鈕。程序收集這些查詢信息并將它發送給數據庫服務器,將服務器端發送過來的二進制單站數值預報時序圖給預報員進行分析預報,同時提供圖形的保存及編輯功能。
本程序和市縣的程序基本功能差不多,增加了一個任意點時序圖的生成功能。預報員通過目錄選擇數值預報文件,然后輸入任意點的經緯度信息,點擊查詢。程序會收集這些信息生成參數文件并調用GEADS在臨時目錄下生成任意點的時序圖,并顯示給預報員。
本系統是完全按照軟件工程理論設計實現的,具有很好的接口和良好的可擴展性,能夠適應預報人員的需要,并可以根據日后業務需求的擴展進行擴展。本系統文檔齊全,幫助系統詳細,使用人員經過簡單的培訓即可使用。本課題歷時一年時間,經歷了前期調研需求分析,中期開發調試及試運行,后期課題驗收三個階段,已經投入正常的業務運行,取得了很好的效果。