符鳳平,吳哲紅,楊忠明
(貴州省安順市氣象局,貴州 安順 561000)
Micaps系統(tǒng)投入天氣預(yù)報(bào)業(yè)務(wù)運(yùn)行已有數(shù)年,各級(jí)氣象臺(tái)站全部或部分地取消了紙質(zhì)天氣圖的繪制和分析工作,但由此而帶來一些問題,如氣象歷史資料不便于查找,歷史天氣圖不便于再現(xiàn),不便于進(jìn)行天氣個(gè)例總結(jié)和分析工作,給天氣預(yù)報(bào)分析及技術(shù)研究帶來一定影響。
Micaps系統(tǒng)中一個(gè)時(shí)次的所有數(shù)據(jù),不論資料類別,一律使用同一個(gè)文件名,系統(tǒng)通過不同目錄辨別資料的種類,其資料目錄很多。由于Micaps數(shù)據(jù)格式的文件冗余大,僅每天的常規(guī)資料就約占磁盤空間幾十兆,加上一些云圖、傳真資料、數(shù)值預(yù)報(bào)產(chǎn)品等約占幾百兆,一張VCD數(shù)據(jù)光盤也只能保存大概3 d的資料,而硬盤的保存空間也有限[1]。對(duì)于天氣預(yù)報(bào)業(yè)務(wù)來說,研究和開發(fā)一個(gè)可行的軟件,實(shí)現(xiàn)對(duì)Micaps系統(tǒng)的原始數(shù)據(jù)進(jìn)行自動(dòng)保存、壓縮和處理,再現(xiàn)Micaps系統(tǒng)歷史天氣圖,以便進(jìn)行天氣個(gè)例分析與總結(jié),顯得尤為重要和迫切。
常規(guī)氣象資料以氣象報(bào)文形式傳送,其電碼格式復(fù)雜,僅地面編碼說明就有幾百頁,為達(dá)到對(duì)氣象電碼即看即明的程度,建立氣象常規(guī)資料檢索,不僅可以減少在讀取常規(guī)氣象資料上的重復(fù)勞動(dòng),還將給氣象科研、資料整理和業(yè)務(wù)的開展帶來極大的便捷。
程序設(shè)計(jì)本著實(shí)用先進(jìn)、界面美觀、操作簡(jiǎn)便的原則,具有自動(dòng)備份保存、壓縮與處理等功能。通過該系統(tǒng),可解決氣象臺(tái)站取消天氣圖分析工作后部分資料的保存問題、歷史天氣圖再現(xiàn)問題,為資料信息化和共享提供堅(jiān)實(shí)的基礎(chǔ)。
以Windows操作系統(tǒng)為工作平臺(tái),基于局域網(wǎng)和?。毓饫w通信網(wǎng),采用C/S軟件體系結(jié)構(gòu),使用Visual Basic6.0編程語言實(shí)現(xiàn),適用于Windows Server 2000/2003、Windows XP操作系統(tǒng)。
根據(jù)Micaps系統(tǒng)的節(jié)目表文件獲取所需備份的資料信息,利用Windows操作系統(tǒng)自帶的拷貝程序,分時(shí)分類地實(shí)現(xiàn)各類資料的自動(dòng)備份,并將不同類的Micaps原始資料封裝在備份目錄下不同的文件名中。設(shè)置多個(gè)數(shù)據(jù)源路徑,以確保資料備份完整。使用壓縮軟件命令方式,對(duì)數(shù)據(jù)分類分時(shí)地進(jìn)行自動(dòng)壓縮,并按照一定方式命名壓縮文件。充分利用Micaps1.0系統(tǒng)的相關(guān)應(yīng)用程序,實(shí)現(xiàn)資料的解碼轉(zhuǎn)換和圖形圖像輸出,通過人機(jī)交互的方式,生成各類Micaps系統(tǒng)數(shù)據(jù)格式的天氣圖表。以前臺(tái)或后臺(tái)的方式,對(duì)不同時(shí)次的常規(guī)資料進(jìn)行檢索,獲取用戶需要的各個(gè)時(shí)次的氣象要素,生成文件可導(dǎo)入Excel表格,以便輸出打印。
基于局域網(wǎng)和省—地氣象光纖通信網(wǎng),實(shí)現(xiàn)各類Micaps原始數(shù)據(jù)的自動(dòng)備份與壓縮、數(shù)據(jù)完整性檢測(cè)與補(bǔ)調(diào)、備份數(shù)據(jù)的自動(dòng)處理、要素檢索與報(bào)表輸出,并提供缺失數(shù)據(jù)記錄、網(wǎng)絡(luò)測(cè)試、自動(dòng)定時(shí)啟停、補(bǔ)調(diào)進(jìn)程顯示等功能。
系統(tǒng)主要由4部分組成:①自動(dòng)備份與壓縮。自動(dòng)加載相關(guān)程序,后臺(tái)自動(dòng)運(yùn)行,完成Micaps原始資料的備份與壓縮。②完整性檢測(cè)與補(bǔ)調(diào)。根據(jù)預(yù)先定義的Micaps原始數(shù)據(jù)備份信息文件,按照其內(nèi)容進(jìn)行數(shù)據(jù)完整性檢測(cè)與補(bǔ)調(diào)。③備份數(shù)據(jù)的自動(dòng)處理。通過人機(jī)交互方式,將備份壓縮的Micaps原始數(shù)據(jù)自動(dòng)生成各類Micaps系統(tǒng)數(shù)據(jù)格式的天氣圖表。④要素檢索與報(bào)表輸出。通過人機(jī)交互或后臺(tái)命令方式,生成用戶所需要的各時(shí)次要素,可跨年跨月檢索資料,檢索結(jié)果按檢索具體時(shí)次或檢索站點(diǎn)為文件命名,生成文件可導(dǎo)入EXCEL表格,方便進(jìn)行保存與打印。
在主界面進(jìn)行參數(shù)設(shè)置后,系統(tǒng)可在多環(huán)境下運(yùn)行,具有較強(qiáng)的適用性和通用性??稍O(shè)置的參數(shù)主要有Micaps原始數(shù)據(jù)源路徑(含本地衛(wèi)星接收路徑和省級(jí)服務(wù)器存放路徑)、存放備份數(shù)據(jù)的目標(biāo)路徑、Micaps1.0系統(tǒng)安裝路徑等。
系統(tǒng)主界面和參數(shù)設(shè)置界面分別見圖1和圖2。
4.1.1 自動(dòng)備份 根據(jù)Micaps1.0系統(tǒng)自帶節(jié)目表文件(datatime.tab)內(nèi)容,制定多個(gè)包含Micaps原始資料信息的文本文件(后綴為*.dat),如08時(shí)地面資料的文件命名為msg08.dat,02時(shí)地面資料的文件命名為msg02.dat,歐洲中心資料的文件命名為ecfile.dat。每個(gè)文件的內(nèi)容由多行組成,每行代表一個(gè)文件,每行均包含通配符“@@”或“##”,其中“@@”代表當(dāng)前系統(tǒng)日期,“##”代表前1 d,如文件msg08.dat的內(nèi)容為:
文件msg02.dat的內(nèi)容如下:
根據(jù)這些文件信息,通過后臺(tái)自動(dòng)處理方式,使用timer1定時(shí)控件,實(shí)現(xiàn)各類資料的自動(dòng)備份。系統(tǒng)主要實(shí)現(xiàn)了以下Micaps原始資料的自動(dòng)備份:常規(guī)資料(包括8個(gè)時(shí)次的地面、2個(gè)時(shí)次的高空)、歐洲中心、T639資料等。在備份完成后,及時(shí)對(duì)備份完整情況進(jìn)行檢測(cè),自動(dòng)記錄缺失數(shù)據(jù)信息,并將缺失信息顯示于系統(tǒng)界面。
系統(tǒng)在啟動(dòng)時(shí),自動(dòng)檢測(cè)存放資料的目錄是否存在,這里主要設(shè)置dmsg、grib兩個(gè)子目錄,其中dmsg目錄存放常規(guī)資料(包括地面和高空數(shù)據(jù)),grib目錄存放歐洲中心、T639資料。
為保證數(shù)據(jù)備份完整,設(shè)置2個(gè)備份源路徑,即本地CMACast衛(wèi)星廣播接收系統(tǒng)數(shù)據(jù)存放目錄和省級(jí)服務(wù)器數(shù)據(jù)存放目錄。由于CMACast衛(wèi)星廣播接收系統(tǒng)資料存放目錄和文件命名格式與以往的DVB_S或PCVSAT系統(tǒng)不同,所以設(shè)置備份源路徑時(shí)需作適當(dāng)?shù)恼{(diào)整,如常規(guī)資料(含地面、高空)的備份源路徑設(shè)置為CMACast衛(wèi)星廣播接收系統(tǒng)數(shù)據(jù)服務(wù)器下的相應(yīng)目錄:“\10.205.128.102cmacastMSG_001GLBPUB...”,其 中“10.205.128.102”為CMACast系統(tǒng)數(shù)據(jù)服務(wù)器IP地址。歐洲中心和T639資料的備份源路徑設(shè)置為Micaps數(shù)據(jù)處理服務(wù)器下的相應(yīng)目錄:“\10.205.128.187 awdatadvbs wpecmwf...”和“\10.205.128.187 awdata 639...”,其中“10.205.128.187”為Micaps數(shù)據(jù)處理服務(wù)器的IP地址。
4.1.2 自動(dòng)壓縮 使用Winrar壓縮軟件自帶相關(guān)命令如“Winrar.exe m– m5”,對(duì) Micaps原始數(shù)據(jù)先后兩次進(jìn)行最大程度的壓縮,主要利用定時(shí)器控件timer1實(shí)現(xiàn)資料的自動(dòng)壓縮,其工作流程如圖3:
圖3 timer1控件工作流程
實(shí)現(xiàn)自動(dòng)壓縮功能時(shí),系統(tǒng)首先對(duì)要備份的Micaps原始數(shù)據(jù)自動(dòng)進(jìn)行初級(jí)壓縮。根據(jù) Micaps1.0節(jié)目表內(nèi)容以及CMACast系統(tǒng)Micaps數(shù)據(jù)處理服務(wù)器配置信息,事先確定各時(shí)次數(shù)據(jù)的大概接收時(shí)間,然后設(shè)置在某個(gè)時(shí)間范圍內(nèi),將數(shù)據(jù)進(jìn)行分類壓縮。壓縮文件按照以下方式命名:數(shù)據(jù)類型(位數(shù)不定)+年(四位)+月(兩位)+日(兩位)+時(shí)(兩位)+“.RAR”,其中數(shù)據(jù)類型為自定義,如地面數(shù)據(jù)為SN,高空為UN,歐洲中心資料為EC,T639預(yù)報(bào)資料為T639等。在完成對(duì)原始數(shù)據(jù)文件的初級(jí)壓縮后,系統(tǒng)自動(dòng)將備份目標(biāo)路徑下的原始數(shù)據(jù)刪除。
為了節(jié)省磁盤空間,實(shí)現(xiàn)對(duì)Micaps原始數(shù)據(jù)最大程度的壓縮。在每月1日,對(duì)上月已經(jīng)過初級(jí)壓縮的每日每個(gè)時(shí)次的Micaps原始數(shù)據(jù)壓縮包,分類進(jìn)行再次壓縮。經(jīng)過再次壓縮后,每類數(shù)據(jù)最終會(huì)生成一個(gè)壓縮包文件,如2012年5月的地面資料被壓縮命名為SN201205.RAR,2012年5月的歐洲中心資料被壓縮命名為EC201205.RAR。
4.2.1 數(shù)據(jù)完整性檢測(cè) 根據(jù)預(yù)先定義的Micaps原始數(shù)據(jù)備份信息文件,按照其內(nèi)容進(jìn)行數(shù)據(jù)的完整性檢測(cè)與補(bǔ)調(diào)。分別在兩處實(shí)現(xiàn)資料完整性自動(dòng)檢測(cè)功能,一是在備份過程中,將缺失數(shù)據(jù)信息顯示于系統(tǒng)界面,主要使用定時(shí)控件timer2實(shí)現(xiàn)此功能。二是根據(jù)選擇日期,對(duì)某天的資料備份情況進(jìn)行完整性檢測(cè)。程序首先判斷檢測(cè)數(shù)據(jù)的壓縮包文件是否存在,若存在,檢查文件中是否缺失某個(gè)時(shí)次的文件,如缺失文件,在完整檢測(cè)表窗口顯示“缺失”,否則顯示“完整”,并將缺失的具體文件名顯示于系統(tǒng)界面。
4.2.2 缺失數(shù)據(jù)補(bǔ)調(diào) 為了避免由于網(wǎng)絡(luò)不通、軟件運(yùn)行異?;蛘咂渌虻葘?dǎo)致數(shù)據(jù)自動(dòng)備份壓縮不全而設(shè)置。補(bǔ)調(diào)前,首先進(jìn)行數(shù)據(jù)完整性檢測(cè),然后根據(jù)檢測(cè)情況,對(duì)提示缺失的數(shù)據(jù)進(jìn)行補(bǔ)調(diào)。自動(dòng)建立臨時(shí)工作目錄temp,在補(bǔ)調(diào)前,首先清空臨時(shí)工作目錄temp,釋放當(dāng)日各類資料壓縮包文件到temp目錄,根據(jù)壓縮包文件內(nèi)容確定需要補(bǔ)調(diào)的文件,補(bǔ)調(diào)完畢后對(duì)資料進(jìn)行分類壓縮,判斷資料是否補(bǔ)調(diào)完整,并在系統(tǒng)界面顯示補(bǔ)調(diào)完整情況。其主要工作流程如圖4:
圖4 數(shù)據(jù)補(bǔ)調(diào)流程
通過人機(jī)交互方式,建立歷史天氣圖分析處理以及顯示平臺(tái),生成各類Micaps系統(tǒng)數(shù)據(jù)格式的天氣圖。實(shí)現(xiàn)自動(dòng)進(jìn)行解壓、整理報(bào)文,處理生成Micaps系統(tǒng)可接受的各類數(shù)據(jù)格式,其解碼轉(zhuǎn)換程序和圖形圖像輸出均使用Micaps1.0系統(tǒng)相關(guān)應(yīng)用程序。
在利用Micaps1.0系統(tǒng)的處理程序?qū)σ褌浞軲icaps原始數(shù)據(jù)實(shí)現(xiàn)處理顯示時(shí),為了操作方便,可按日期或時(shí)段進(jìn)行選擇處理。不管選擇哪種方式,在進(jìn)行數(shù)據(jù)處理前,系統(tǒng)首先將計(jì)算機(jī)日期修改為選擇日期,然后判斷Micaps1.0系統(tǒng)的datatran子目錄下是否存在要處理的數(shù)據(jù),如存在,則直接進(jìn)行處理,如不存在,將數(shù)據(jù)備份目錄下的壓縮包文件釋放到Micaps系統(tǒng)的datatran子目錄下,再利用Micaps1.0系統(tǒng)自帶批處理程序(如08時(shí)地面資料的批處理程序?yàn)閏l08s.bat)進(jìn)行數(shù)據(jù)處理,處理完畢后,再將計(jì)算機(jī)日期修改為當(dāng)前系統(tǒng)日期。按時(shí)段進(jìn)行處理界面如圖5。
圖5 Micaps原始數(shù)據(jù)處理界面
以前臺(tái)或后臺(tái)命令方式,通過人機(jī)交互生成用戶需要的各時(shí)次要素,系統(tǒng)可以跨年跨月檢索資料??梢詸z索的資料主要有不同時(shí)次的地面要素資料和高空要素資料,可檢索的地面要素資料有多個(gè),供檢索的時(shí)次有02時(shí) 、05時(shí) 、08時(shí)、11時(shí)、14時(shí)、17時(shí)、20時(shí)、23時(shí)共8個(gè)時(shí)次。可檢索的高空要素有5個(gè),供檢索的時(shí)次有08時(shí)、20時(shí)共2個(gè)時(shí)次,可供檢索的層次有500 hPa、700 hPa、850 hPa等3層。按檢索日期、時(shí)次為文件名和按檢索站點(diǎn)為文件名兩種方式來保存檢索結(jié)果,前者將所有的檢索站點(diǎn)寫入一個(gè)文件中,按不同日期和時(shí)次來命名文件,即每天每個(gè)時(shí)次產(chǎn)生一個(gè)文件,后者將所有檢索時(shí)間段內(nèi)每一個(gè)檢索站點(diǎn)的所有要素寫入一個(gè)文件中,并以區(qū)站號(hào)為文件命名,用戶可直接將文件導(dǎo)入Excel表格,實(shí)現(xiàn)輸出打印。
根據(jù)Micaps數(shù)據(jù)文件格式,讀取Micaps系統(tǒng)處理生成的填圖數(shù)據(jù)文件,分別實(shí)現(xiàn)地面、高空資料的要素檢索,并輸出Excel報(bào)表,其中可檢索地面資料18個(gè)要素,高空資料5個(gè)要素。地面資料的檢索主要讀取文件目錄為“micapssurfaceplot”,高空資料的檢索按照層次分別讀取目錄“micapshighplot”下500、700、850子目錄的填圖數(shù)據(jù)文件。地面資料檢索界面和高空資料檢索報(bào)表輸出分別見圖6和圖7。
本文主要從Micaps原始數(shù)據(jù)的自動(dòng)備份與壓縮、完整性檢測(cè)與補(bǔ)調(diào)、備份數(shù)據(jù)的自動(dòng)處理、要素檢索與報(bào)表輸出等4個(gè)方面,對(duì)系統(tǒng)所實(shí)現(xiàn)功能作了較為詳細(xì)的闡述。由于Micaps原始數(shù)據(jù)種類多,數(shù)據(jù)量大,尤其是自CMACast衛(wèi)星廣播系統(tǒng)投入業(yè)務(wù)運(yùn)行后,數(shù)據(jù)量大幅度增長(zhǎng),在一定程度上增加了Micaps原始數(shù)據(jù)的備份工作難度。本系統(tǒng)利用天氣預(yù)報(bào)分析常用的部分Micaps原始數(shù)據(jù)如地面、高空、歐洲中心、T639等資料,對(duì)Micaps原始數(shù)據(jù)的自動(dòng)備份與處理方法進(jìn)行了探討。
自該系統(tǒng)投入業(yè)務(wù)運(yùn)行以來,有效實(shí)現(xiàn)了部分常用Micaps原始資料的自動(dòng)備份、壓縮與處理,為天氣個(gè)例分析和預(yù)報(bào)技術(shù)研究提供了一定的Micaps原始數(shù)據(jù)保證。在運(yùn)行期間,系統(tǒng)通過對(duì)自動(dòng)備份的Micaps壓縮數(shù)據(jù)包文件進(jìn)行處理后,均有效生成Micaps系統(tǒng)數(shù)據(jù)格式天氣圖。
[1]王遂纏,等.基于MICAPS系統(tǒng)的數(shù)字化天氣圖及常規(guī)氣象資料檢索分析系統(tǒng)[J].氣象科技,2004.32(2).
[2]中國氣象局監(jiān)制.氣象信息綜合分析處理系統(tǒng)MICAPSV2.0系統(tǒng)管理員手冊(cè)[M].102-103.