杜 偉,劉 浩
(1.中國科學(xué)院國家空間科學(xué)中心,北京 100190;2.中國科學(xué)院大學(xué) 計算機與控制學(xué)院,北京 100049)
與低地球軌道探測相比,靜止軌道[1-4]全天候、大視場以及凝視觀測[5]等的特點有助于連續(xù)監(jiān)測熱帶氣旋、強降雨等短時間內(nèi)快速變化的災(zāi)害性天氣系統(tǒng)的連續(xù)變化過程[6-8]。2006 年,靜止軌道毫米波大氣探測儀(Geostationary Interferometric Microwave Sounder,GIMS)作為中國下一代靜止軌道氣象衛(wèi)星的概念被提出,迄今已先后完成了兩代樣機研制[9-10]。其中,第二代載荷樣機(GIMS-II)可實現(xiàn)50 km 分辨率、5 min 觀測周期的全圓盤觀測能力[11]。
目標亮溫建模系統(tǒng)可以為靜止軌道微波輻射計生成輸入亮溫數(shù)據(jù)集,來指導(dǎo)靜止軌道微波輻射計的指標設(shè)計。文中介紹了在Linux 平臺下搭建目標亮溫建模系統(tǒng),以及解決亮溫文件從產(chǎn)生到顯示的文件同步方法。亮溫文件可以自動實現(xiàn)在不同操作系統(tǒng)之間的傳輸,不僅可以解決亮溫顯示問題,而且可以作為模擬亮溫數(shù)據(jù)實時輸入未來靜止軌道微波輻射計,以驗證其參數(shù)設(shè)置。
臺風災(zāi)害是我國最嚴重的極端災(zāi)害性天氣之一[12-14],每年7 月份在我國東南部頻發(fā),造成了不可估量的經(jīng)濟損失和人員損失,并且臺風來臨時伴隨著大風、強降雨等災(zāi)害,臺風變化迅速,且臺風來臨時伴有多個臺風,因此有效地觀測臺風、暴雨等天氣系統(tǒng)的內(nèi)部結(jié)構(gòu)變得刻不容緩。目前用于觀測臺風內(nèi)部系統(tǒng)的在軌靜止軌道氣象衛(wèi)星探測器多數(shù)依賴于光學(xué)、紅外線手段,微波波段在軌氣象衛(wèi)星多為極軌衛(wèi)星。盡管靜止軌道微波衛(wèi)星在觀測臺風天氣系統(tǒng)中有著不可比擬的優(yōu)勢,然而,高空間分辨率與高時間分辨率制約了靜止軌道微波衛(wèi)星的發(fā)展。目前,靜止軌道微波衛(wèi)星處在設(shè)計仿真階段,但實際上目前并沒有實際的靜止軌道在軌衛(wèi)星數(shù)據(jù)用于輸入輻射計系統(tǒng),來驗證輻射計的設(shè)計參數(shù)是否合理,所以需要目標亮溫建模系統(tǒng)來模擬靜止軌道衛(wèi)星的探測亮溫數(shù)據(jù),并作為輻射計系統(tǒng)的輸入來驗證輻射計的設(shè)計指標。另一方面,利用目標亮溫建模系統(tǒng)生成的亮溫文件實時顯示臺風的運動軌跡,也有助于研究人員對臺風的分析。
采用逐6 小時,以1°×1°為單元網(wǎng)格的全球再分析資料作為輸入,通過數(shù)值天氣預(yù)報模式WRF[15]得到指定時刻、指定空間分辨率格點上的氣象預(yù)報,利用氣象數(shù)據(jù)分析軟件(Grid Analysis and Display system,GrADs)提取預(yù)報輸出大氣環(huán)境參數(shù)作為RTTOV[16]的輸入,同時配置GIMS 參數(shù)信息,實現(xiàn)靜止軌道上多個頻率通道的亮溫圖像模擬。
集群技術(shù)可以利用多個計算機進行并行計算,從而獲得較高的運算速度,且成本低、可靠性高、靈活性好、性能高。而且集群中的多個計算機之間可以進行簡單通信,如文件同步。由于RTTOV 中需要同時獲得多個頻率通道的亮溫數(shù)據(jù)集,并且多個頻率通道相互之間沒有關(guān)系,可以用來將多個頻率通道分到不同的服務(wù)器節(jié)點上進行獨立的運算。
為實現(xiàn)目標亮溫建模系統(tǒng)各個模塊之間的對接,需要解決文件訪問沖突的問題,即當前一個模塊輸出文件時需要鎖定該文件,接收該模塊輸出文件的進程不得修改和訪問未寫入完成的文件,否則會得到錯誤的文件輸出,如圖1 所示。以WRF模塊與ARWpost 模塊為例,其他模塊之間同理所得。解決該矛盾的方法采用Linux 的命令lsof,在Linux 系統(tǒng)中,一切皆文件,lsof 命令是一個列出當前系統(tǒng)打開文件的工具,在終端下輸入lsof 即可顯示該系統(tǒng)打開的文件,若當前文件不在列表中,即可得到該文件已寫入完成,ARWpost模塊可以對其進行訪問,否則ARWpost 將一直等待直到該文件寫入完成,代碼如下:
圖1 文件訪問過程
代碼中的-f 用來判斷file1 是否存在,lsof 用來列出當前是否有進程打開file1,wc 用來計算當前打開file1 的進程,若等于0,則說明file1 已經(jīng)寫完,可以允許下一級程序?qū)ζ洳僮?,ARWpost 程序可以對其進行讀操作,讀完之后刪除file1。While 用來循環(huán)判斷當前處理的文件是否已經(jīng)完成。
實驗中利用WinSCP 工具進行兩個平臺的文件同步,如圖2 所示。亮溫文件產(chǎn)生模塊作為服務(wù)器端,亮溫顯示模塊作為客戶端,通過WinSCP 工具來同步兩個模塊之間的亮溫文件。
圖2 文件同步過程
采用流水作業(yè)方法的目標亮溫建模系統(tǒng)在Linux 平臺上已經(jīng)搭建完成,優(yōu)化的目標亮溫建模系統(tǒng)可以滿足實際應(yīng)用中對時效性的要求,而亮溫顯示模塊是用Matlab 語言編寫成的界面,工作在Windows 平臺上,如何實現(xiàn)兩個平臺上的文件自動同步,成為制約該實驗的關(guān)鍵。為解決該問題,文中提出利用WinSCP 軟件來實現(xiàn)兩個平臺上的文件傳輸,WinSCP 操作界面示意圖如圖3 所示。
圖3 WinSCP操作界面示意圖
文件傳輸協(xié)議有SFTP 協(xié)議、SCP 協(xié)議、FTP 協(xié)議和WwbDAV 協(xié)議,實驗選擇了SCP 協(xié)議,主機名為實驗連接的主機名,端口號選擇22,當利用界面手動傳輸文件時需要手動填寫圖3 的內(nèi)容,即可在客戶機上連接目標服務(wù)器,連接成功時,示意圖如圖4 所示,即可實現(xiàn)手動在Linux 系統(tǒng)和Windows 系統(tǒng)之間自由拖拽文件。
圖4 WinSCP連接成功示意圖
該實驗的目的是為了實現(xiàn)兩個平臺之間文件的自動傳輸,編寫腳本文件run.txt,run.txt 腳本主要是實現(xiàn)打開WinSCP 工具,利用命令將服務(wù)器文件傳輸至 客戶端,在DOS 命令下輸入WinSCP.exe ∕console ∕run.txt,既可以成功從服務(wù)器端∕home∕hpc∕wrf-rttov∕rttov∕output∕amsua∕目錄下復(fù)制亮溫文件gims.txt 到本地目錄。
目標亮溫建模顯示系統(tǒng)是用Matlab 寫的GUI界面,系統(tǒng)界面主要分成3 部分,第一部分為配置參數(shù)模塊,第二部分為亮溫顯示區(qū)域,第三部分為運行區(qū)。在界面上輸入時間、輸出文件間隔、頻率通道則可以自動地指示Linux 平臺上的目標亮溫建模系統(tǒng)[17],修改相應(yīng)的配置文件并執(zhí)行目標亮溫系統(tǒng)輸出亮溫文件,顯示模塊將自動判斷亮溫文件是否生成,若生成,則處理并顯示,系統(tǒng)工作流程如圖5 所示。
圖5 系統(tǒng)工作流程
圖6 的GUI 界面亮溫顯示模塊上輸入模擬積分時間起止點,修改相應(yīng)的配置文件,通過WinSCP 工具將配置文件傳入Linux 平臺,調(diào)用editNamelist 腳本程序修改WPS、WRF、ARWpost 的相應(yīng)參數(shù)文件,修改完成后,調(diào)用run 腳本來執(zhí)行優(yōu)化后的調(diào)用方法。其中editNamelist 為編輯修改數(shù)據(jù)腳本,主要利用sed 命令,run 腳本是用來將所有的執(zhí)行腳本匯總起來一次性調(diào)用所有執(zhí)行文件。
圖6 亮溫顯示模塊
文中介紹了目標亮溫建模系統(tǒng)的意義及工具WinSCP 的使用,解決了目標亮溫建模系統(tǒng)產(chǎn)生的亮溫數(shù)據(jù)文件自動傳輸?shù)搅翜仫@示模塊的問題[18],實現(xiàn)在GUI 上輸出起止時間、通道頻率等參數(shù),則目標亮溫建模系統(tǒng)能自動開始工作,并實時傳輸文件至顯示端進行顯示,主要可應(yīng)用于天氣預(yù)報業(yè)務(wù)展示中。