譚程明,顏毅華,譚寶林,劉玉英
(1.中國科學院國家天文臺,北京 100012;2.中國科學院太陽活動重點實驗室 (國家天文臺),北京 100012)
“工欲善其事,必先利其器”,通用、完善的數據分析系統(tǒng)直接決定一個天文觀測設備的科學產出。在計算機和互聯網飛速發(fā)展的今天,數據處理在現代天文研究中更有著催化劑和生長素的作用,最有可能在海量或精細的數據分析中觸動新的科學發(fā)現。目前中國太陽物理研究取得了長足的進步,各種探測儀器不斷建立。然而由于觀測臺站在建成初期受限于計算機軟件技術和硬件環(huán)境,不可能一步到位,與之相應的數據處理軟件相對單一零散,資源無法充分利用、數據共享和交流不暢、疏于更新等問題越來越突出。
國家天文臺懷柔觀測基地的太陽射電頻譜儀(SBRS)[1-3]的相關技術指標在國際同類設備中處于領先地位,獲得了北京市科技進步一等獎。在建成初期,由于計算機技術和IDL軟件環(huán)境有限,每個頻譜儀都開發(fā)了一個獨立的數據處理軟件,2002年后開始對這些單一的數據處理軟件進行合成升級。2001年建立了太陽射電網站和數據庫,2009年開始建設中俄聯合射電數據庫。SBRS觀測數據與處理軟件在太陽物理研究和國際合作交流中發(fā)揮了積極的作用,國內外直接利用觀測數據和軟件進行研究的SCI論文達100余篇,其中2002年4月21日事件被美日陽光衛(wèi)星主持發(fā)布的網上《每周科學評論》報導[4]。然而目前依然存在幾個迫需解決的問題。(1)SBRS在過去10多年積累了近2 TB的觀測數據約2600個射電爆發(fā)事件,并且以每天0.2~8 GB的數據量增長。相關研究受限于數據處理方法的單一,進展緩慢,大量的射電爆發(fā)事件被錄入統(tǒng)計表后就淹沒在日益增長的數據堆積中,加之數據處理軟件甄別能力有限,尚有不少爆發(fā)事件未能被發(fā)現而隱藏在海量的數據堆積中。若任由現狀發(fā)展則將陷入一個無人問津的數據塵封狀態(tài),多年后隨同觀測設備一起沉寂、遺忘;(2)數據處理軟件未與SSW[5-6]兼容,數據庫共享不完備,沒有定期更新,客觀上限制了數據的國際交流和利用;(3)數據光盤取放麻煩,而且多人使用容易遺漏,頻繁使用也導致部分介質損壞,雖然有備份光盤,但更亟需的是一個容量充足的數據庫。正在建造的中國太陽射電頻譜日像儀[7]也面臨著類似問題。因而必須加快對數據分析軟件按SSW規(guī)范設計開發(fā),并建立一個有充足容量、安全穩(wěn)定、自動化程度高、便于更新管理的數據庫。
SSW創(chuàng)始于1998年,是國際太陽物理學界使用最為廣泛的數據分析系統(tǒng),能處理多達60余個天基或地基儀器設備的探測數據以及國際虛擬太陽天文臺的數據。國際太陽射電頻譜儀同類設備中目前只有瑞士蘇黎世的偏振計頻譜儀的數據處理軟件加入了SSW,但數據處理軟件無用戶界面,且難以進行更深層次的分析研究。本文探討的太陽射電頻譜觀測數據分析系統(tǒng)技術方案在現有的軟件和數據庫基礎上突出重點和效率,實現與SSW兼容并拓展數據庫的容量與效能。這將挽救在數據堆積中不斷淹沒的科學信息,提高數據的利用率和開放率,進一步擴大SBRS觀測數據在國際上的交流和影響。
SSW[5-6]是一套為太陽物理研究提供公用程序和數據處理環(huán)境的軟件綜合庫、數據庫和系統(tǒng)應用工具,英文名為Solar Soft Ware。SSW建立于Yohkoh、SOHO、SDAC(Solar Data Analysis Center)和IDL天文用戶庫并利用了來自眾多項目團隊的貢獻。它首先是一個基于IDL的軟件系統(tǒng),當然有些分支軟件加入了以其它語言編寫的可執(zhí)行程序。SSW環(huán)境在廣泛分布的協同研究制度上提供了一個兼容的環(huán)境以利于數據交流和促進協作分析。SSW的基本目標是:(1)提供一個不依賴于硬件和臺址的數據分析系統(tǒng);(2)推動使用特定的標準便于合成數據分析;(3)促進一個逐漸發(fā)展的環(huán)境;(4)提供支持各種數據庫的入口;(5)提供一個不依賴于文件格式的分析環(huán)境;6)提供其它IDL軟件包的綜合入口。

圖1 SSW標準安裝目錄結構圖[6]Fig.1 “Typical”SSW installation tree[6]
GEN子目錄包括整體有用的程序,這些程序可用于各類分支但不依賴于儀器或項目的公用程序和系統(tǒng)設置。各個項目(MISSION)中的GEN目錄包含不依賴于項目但可以用于該項目中所有設備的程序。SITE子目錄可以用于當地太陽軟件和以當地路徑命名的SSW環(huán)境,也包括SSW的安裝執(zhí)行程序。SSW安裝程序和系統(tǒng)設計允許包含目錄樹中有子目錄的本地布局。
主要有以下幾點[5-6]:(1)軟件及程序的名稱爭議和開頭文檔說明。在將一個新的分支軟件合成到太陽軟件之前,一件必須要做的事情是核對名稱爭議并進行規(guī)范更改。比如某儀器數據的解壓程序可以命名為xxx_decompress.pro(xxx是儀器的定義,例如SXT、CDS等),而不只是decompress.pro。每個程序或程序包都應該有開頭文檔,包含在IDL程序指南中。特別是名稱、目的、有變量解釋的調用子程序、程序歷史等均應該包含在 “;+”和 “; -”符號的開頭文檔中。(2)子目錄結構:儀器分支或庫的細節(jié)組織主要取決于研究團隊的決定,可以按如下標準目錄來建立。
[/idl/setup]該子目錄很重要,只能包括用于定標和數據分析的軟件或程序,不允許其它成分的加入。在/idl下的子目錄和一些不必要的目錄將減慢IDL的運行速度。理想的情況是子目錄的數量控制在最小。當研究團隊希望提供的程序應該在子目錄中執(zhí)行時,可以定義這個子目錄。
[/doc]子目錄包含了軟件使用說明、儀器數據分析方法、定標和一些附屬文件。
[/calibration]目錄包含的文件與儀器定標有關。如果僅僅是簡單的、小的定標文件放在太陽軟件目錄中是允許的。其它隨著時間變化的大文件最好存在SDB目錄中,比如暗場、平場文件等等。用大量的文件存儲這些信息便于用戶只拷貝需要的文件分析所關注的觀測數據。將這些文件從儀器目錄中分列出來將保證安裝分支儀器軟件的壓縮文件 (tar)控制在一個合適的范圍。
[/response]運行軟件或者程序時產生的一些響應文件或日志文件。
[/catalog]對于短期的設備,可以將列表和觀測日志放在該目錄中。對于長期觀測設備,列表最好存儲于/sdb目錄中。將列表按星期、月或者幾個月分開存檔更為合理,只要文件的大小控制在一個合適的范圍。而且將文件分列便于用戶只拷貝他們所關心時間段的文件,而不是全部。對于其它鏡像地址,如果增加了一個額外的觀測,只要拷貝最近的文件就可以,而不是整個文件或長列表。
[/data]目錄可以存放一些數據分析中有用的小數據文件,但又不是分類或定標文件。
自1994年建立第1臺太陽射電頻譜儀以來,截止2009年底,中國先后共建成5個頻譜儀(見表1)。該設備具有高時間分辨率(1~8 ms)、高頻譜分辨率(1.37~20 MHz)、高靈敏度(2% ~5%寧靜太陽射電輻射流量)和寬頻帶(0.7~7.6 GHz)的特點,相關技術指標在國際同類設備中處于領先地位。并在建成初期開發(fā)出了相應的數據處理軟件(見表1)。

表1 頻譜儀和相應數據處理軟件的特點Table 1 Characteristics of radio spectrometers and corresponding data-processing softwares
紫臺的數據處理軟件系統(tǒng)由南京大學的狄曉華開發(fā),使用方便,功能豐富,但非IDL語言的軟件需要專人維護升級。國臺開發(fā)的各個頻段的數據處理軟件都是以IDL語言為開發(fā)環(huán)境,具有相似的顯示平臺和數據處理功能。該系列軟件的開發(fā)基于勞德幫1996年為1.0~2.0 GHz頻譜儀設計編寫的軟件包。更多的頻譜儀建成后,考慮到新增觀測數據和處理功能,顏毅華于2000年對該軟件進行整合升級,每個頻譜儀都開發(fā)了一個獨立的數據處理軟件。一個頻譜儀一個數據處理軟件的好處是使用簡單,便于升級維護。同時也存在幾點不足:(1)數據分析處理時打開窗口太多,容易混亂,效率低;(2)數據處理功能簡單,定標功能不完善。隨著計算機技術的提升,對數據處理的要求和各種功能需求不斷增加,原有的操作界面也難以滿足更高的要求。自2002年6月開始,譚程明對各個頻譜儀的數據處理軟件再次進行合成升級,并增加了定標[8]、扣除干擾、小波去噪[9]和特征信息提取[10]等功能。該合成軟件于2002年10月投入使用并于2003年3月全部完成,之后得到不斷完善和發(fā)展。到目前為止,軟件具備了表2中的主要特點和功能。該軟件的目錄結構相對簡單,主要包括程序目錄、定標常數目錄、數據分析結果存儲目錄,軟件界面如圖2。在數據庫建設方面,2001年建立了太陽射電網站(http://srg.bao.ac.cn/)和頻譜儀觀測數據庫并開放,之后網站和數據庫得到不斷更新,科研人員可以網上直接下載數據或電子郵件聯系。2009年開始建設中俄聯合射電數據庫(http://srg.bao.ac.cn/fast/),該數據庫能實現自動更新,但受限于數據處理軟件的不完善而滯后。

表2 目前數據處理軟件的特點和功能Table 2 Characteristics and functions of the current data-processing softwares

圖2 軟件用戶界面Fig.2 User interface of the software currently used in the NAO
SBRS觀測數據與數據處理軟件在太陽物理研究和國際合作交流中發(fā)揮了積極的作用。但目前的現狀成為進一步擴大數據利用率和開放率的瓶頸。具體表現在以下幾點:(1)數據處理軟件未與國際兼容,不規(guī)范,國外研究人員難于上手;(2)數據處理軟件功能繁多界面復雜,科研工作者使用不便捷;(3)軟件結構設計有不合理之處,有些功能和數值運算方法有待進一步優(yōu)化;(4)軟件開發(fā)初期未做多種可能的分析,考慮不夠周全,隨著功能的增加,漏洞也不斷增多;(5)數據庫沒有定期更新,無法滿足更多的快速大量的數據需求,缺乏一套具有自動更新和搜索功能的數據庫管理系統(tǒng)和一套容量充足安全穩(wěn)定的硬件設備;(6)數據光盤取放麻煩,而且讀取速度慢,最大的問題是數據光盤多人使用容易遺漏,頻繁使用也導致部分介質損壞。因而有必要對軟件按SSW規(guī)范重新設計編寫,并建立一個容量充足安全穩(wěn)定的數據庫,既能滿足局域網內快速大量獲取也能實現遠程網絡下載。
目前已經開發(fā)出了成套的SBRS觀測數據處理軟件,建立了數據庫,在IDL軟件開發(fā)和數據庫建設方面積累了很多經驗,儲備了一定的技術。另一方面,對SSW的框架規(guī)范有充分了解,有能力開發(fā)一套與之兼容的軟件并建設相應的數據庫。以下分軟件和數據庫兩方面詳述系統(tǒng)設計方案。
IDL是一種數據分析和圖像化應用程序及編程語言。IDL的使用者可以迅速方便地運用此軟件將數據轉換為圖像,促進分析和理解。IDL的開發(fā)環(huán)境IDLDE是用戶快速編寫、測試并調試代碼的最佳環(huán)境,適用于WINDOWS和LINUX系統(tǒng)。而且SSW是基于IDL的軟件系統(tǒng),因而與SSW兼容的升級軟件將以IDL為開發(fā)和運行環(huán)境。新開發(fā)的數據處理軟件既能在SSW下運行也能獨立運行。設計方案分為3部分:(1)目錄規(guī)劃;(2)界面設計;(3)功能模塊及流程設計。
3.1.1 目錄規(guī)劃
根據太陽軟件提供規(guī)范和建議,結合SBRS數據處理軟件的特點,擬定5個子目錄。
[/idl]包含了軟件的主程序和子程序,以及安裝和設置程序。
[/doc]包含了軟件的使用說明和數據分析方法,以及軟件中的定標方法和一些附屬說明文件。
[/calibration]包含了各種定標文件和定標常數,定標常數是隨著儀器系統(tǒng)的維護檢修有變化的。
[/catalog]數據按年/年_月_日/頻段_時間分辨率分為3級目錄,便于用戶下載存放觀測數據,也便于同一個射電頻譜事件的綜合分析。
[/data]用戶在數據處理中得到的一些結果或者圖片可以默認自動存放在這個目錄中,擬按儀器頻段建立0.6_1.5GHz、1.0_2.0GHz_old(2002年頻譜儀升級之前的觀測數據)、1.0_2.0GHz_new(2002年頻譜儀升級之后的觀測數據)、2.6_3.8GHz、4.5_7.6GHz、5.2_7.6GHz這6個文件夾。用戶也可以建立自己的文件夾。
由于[/catalog]和[/data]兩個目錄占用資源較大,如將其放到SSW目錄中運行SSW時會消耗系統(tǒng)資源降低運行速度,用戶可以將這兩個目錄在安裝設置時自定義到其它文件夾。如果是獨立于SSW的安裝就沒有這個問題。
3.1.2 界面設計
原有的數據處理軟件是將圖像顯示界面、控制界面、信息顯示界面等全部合為一個窗口(圖2)。這樣的好處是窗口少,不混亂,處理分析數據效率高,缺點是控制按鈕太多,對新用戶顯得繁雜。新軟件的用戶界面還是采用一個窗口的設計方案(圖3),窗口的大小是按一定比例自定義可調的。圖像顯示界面是觀測數據的直接輸出部分,因而應將窗口的空間盡量分配給圖像顯示。控制界面的功能按鈕將按使用頻度和難易度分成兩類:(1)經常使用的按鈕將直接顯示在控制界面中,包括數據讀取存儲、圖像存儲、數據定標、圖像調整和界面調整等基本功能按鈕;(2)不常使用的功能按鈕比較多,包括數據合成、數學分析、自動批處理等高級圖像處理和綜合功能按鈕。這些按鈕在開始使用時是隱藏狀態(tài),初學者無需關注,在需要時可以展開,不需要時再收起隱藏。圖像信息顯示界面大小適中,既要內容豐富又便于用戶查看。

圖3 新軟件用戶界面Fig.3 User interface of the new software
3.1.3 功能模塊及流程設計
這部分是軟件的核心部分,主要內容是主程序和子程序。主程序包括圖像及界面控制、數據和圖像調用、圖像顯示、功能子程序調用、信息顯示、鼠標狀態(tài)等內容。子程序包括數據和圖像讀取、時間運算、數據定標、數據合成、數學分析、數據存儲、圖像存儲和自動批處理等功能模塊。而數學分析是內容豐富功能強大的數值處理模塊,包括扣除干擾、小波去噪、歸一化、特征信息提取、數值擬合、數值相關等。以上主要內容及各功能模塊在原軟件已部分實現,但在編寫規(guī)范、結構和流程設計、功能完善和漏洞排解等方面還需要做大量的工作。首先是編寫規(guī)范,由于在軟件開發(fā)初期追求短平快,遺留了很多漏洞,程序缺乏詳盡的說明增加了排錯時間。升級軟件在現有的規(guī)范和經驗基礎上編寫,將更好地解決這個問題。其次是結構和流程設計規(guī)范,結合多年的軟件開發(fā)和使用經驗,認為下述簡易流程圖 (圖4)可以做為一個標準設計。該流程圖是按Microsoft Office軟件中自選圖形的流程圖規(guī)范制作的,如六角形為‘準備’、倒梯形為‘人工操作’等。

圖4 簡易流程圖Fig.4 Simplified flowchart of the new software
第三是功能完善,軟件目前的多數功能是完善的,但在定標、小波去噪和扣除干擾等一些數學分析方面還有更大的發(fā)展空間。在定標方面已經取得了一定的進展[11]。小波去噪方面,現有的方法是分析某一通道(對應射電輻射頻率)觀測數據的干擾信號的頻率特征并對全波段數據濾掉這個干擾頻段的信號。實際上每個通道的干擾頻段和特征是略有不同的,可以設計多通道自動濾波的方案對所有通道分別濾波。小波去噪的另外一個問題是運算時間隨數據量增加按幾何級數增長,根據SBRS觀測數據的干擾特征可以設計分段自動濾波的方案。自動濾波從理論和以往經驗來說都是可行的,但實際效果有待進一步檢驗。最后一個問題是漏洞排解,規(guī)范的軟件編寫和合理的流程設計將提高漏洞排解的效率。
數據庫將結合國內外研究人員的需求和SBRS觀測數據的特點研究適用的方案。目前國外有俄羅斯,國內有南京大學、紫金山天文臺和云南天文臺對觀測數據的需求量比較大。國臺總部使用數據更為頻繁,最常見的問題是數據光盤多人使用導致遺漏缺失,頻繁使用也導致部分介質損壞。因而需要建立一個容量充足、安全穩(wěn)定的數據庫,既能滿足局域網內即時大量獲取也能實現遠程下載。
SBRS觀測數據量比較大,懷柔射電頻譜儀自1994年到現在的觀測大約積累了3000片數據光盤近2 TB的數據。將這些數據全部拷貝至硬盤不現實也沒有必要,可以考慮只將那些有爆發(fā)事件的數據裝入數據庫,沒有爆發(fā)的數據通過電子郵件聯系。目前觀測數據存為png格式圖像后,文件大小能降至10%以下,因而估算圖像資料數據量小于200 GB。如果在圖像顯示時減少像點(降低分辨率)至合理范圍,或者采用秒級綜合頻譜圖加精細結構頻譜圖,則數據量可以大幅度降低至20 GB以下。對于有爆發(fā)事件的觀測原始資料,數據大小目前難于統(tǒng)計,但也是可以估算的。懷柔的SBRS共有480個通道,每個數據需要2字節(jié)存儲,每0.2 s一個數據點的數據量是5 KB。目前的觀測統(tǒng)計有2600多個頻譜事件,如果按射電爆發(fā)事件平均持續(xù)30 min估算0.2秒級文件數據量大概有40 GB。精細結構的發(fā)生率在1.0~2.0 GHz頻段大概為22%,2.6~3.8 GHz大概為10%,5.2~7.6 GHz大概為7%,毫秒級文件(只考慮有精細結構的事件)數據量大概有200 GB。綜上分析,一個太陽活動周分配300 GB的存儲量就足夠了,目前市場上1 TB的存儲容量可以滿足2~3個太陽活動周。另外一個問題是如何在短期內生成海量(預計105個以上)的觀測圖像文件,用人工操作軟件來生成難以忍受。解決辦法是前期慢慢積累高質量的圖像資料,后期開發(fā)數據處理軟件的自動處理功能批量生成圖像文件。根據上述分析,數據庫的建設方案如表3。

表3 數據庫建設方案Table 3 Design of the database
在數據庫的開發(fā)環(huán)境方面,國家天文臺太陽射電網站目前的服務器環(huán)境是Windows-WEB,服務器軟件有微軟Internet信息服務器(IIS)和Apache Http Server。使用Filezilla Server作為FTP服務器,使用MySQL作為數據庫管理系統(tǒng)。MySQL關系數據庫管理系統(tǒng)是一個速度快、成本低、易于升級管理的數據庫,而且MySQL開放源碼,這些特點非常適合中小型網站。目前建設的中俄聯合射電數據庫就是以MySQL關系數據庫管理系統(tǒng)為環(huán)境的,能實現數據庫的局域網甚至遠程管理。為保證網站的安全穩(wěn)定運行,局域網內快速大量下載應使用專用帳號,遠程下載需要提供合法的電子郵箱地址和驗證密碼。
SSW是一個不依賴于硬件和臺址的廣泛兼容的數據分析系統(tǒng),使用特定的標準便于合成數據分析。同時該軟件系統(tǒng)也為太陽軟件提供者制定了規(guī)范和建議。中國SBRS觀測數據處理軟件適合于國內所有頻譜儀的觀測數據處理且功能豐富,雖然未與SSW兼容但在一些程序設計和目錄結構方面有相似之處。通過對SSW和SBRS觀測數據軟件的詳細闡述和比較分析,本文認為現有的軟件系統(tǒng)與SSW兼容是切實可行的,進而提出了一個詳細的設計方案。該設計方案在軟件的目錄規(guī)劃方面與SSW類似,其內容在SBRS軟件中已部分齊備;在界面設計方面保留了SBRS的特點但更加簡潔適用;在功能模塊與流程設計方面更加注重設計編寫規(guī)范和功能完善,這也是應對漏洞問題的前提。數據庫建設方案結合SBRS觀測數據的特點和國內外研究人員的需求,根據現有觀測數據量估算升級后的數據庫容量建議為1 TB,利用MySQL關系數據庫管理系統(tǒng)建設一個安全穩(wěn)定、易于升級管理的數據庫。
該數據分析系統(tǒng)的成功開發(fā)將挽救在數據堆積中不斷淹沒的科學信息,從而提高數據分析效能和數據利用效率,有望今后在海量的統(tǒng)計研究和精細的數據分析中發(fā)現新的太陽物理現象和規(guī)律,擴大數據的國際交流,提高觀測設備的國際影響力。同時為中國太陽射電頻譜日像儀項目的數據分析系統(tǒng)積累經驗和儲備技術,并為國內其它臺站提供模式和經驗。軟件中應用到的各種數值分析方法和計算技巧也可以推廣到其它研究中。
[1]Fu Qijun,Qin Zihai,Ji Huirong,et al.A Broadband Spectrometer for Decimeter and Microwave Radio Bursts[J].Solar Physics,1995,160(1):97-103.
[2]Fu Qijun,Ji Huirong,Qin Zihai,et al.A New Solar Broadband Radio Spectrometer(SBRS)in China [J].Solar Physics,2004,222(1):167 -173.
[3]Ji Huirong,Fu Qijun,Liu Yuying,et al.A Solar Radio Spectrometer at 5.2 ~7.6 GHz [J].Solar Physics,2003,213(2):359-366.
[4]Hugh Hudson,David Mc Kenzie.Comlicated Radio Waves from an X-class Flare [EB/OL]http://www.lmsal.com/YPOP/Nuggets/2002/020510/020510.html.
[5]Bentely R D,Freeland S L.SOLARSOFT-An Analysis Environment for Solar Physics[C]//Puerto de la Cruz,Tenerife,Canary Islands.A Crossroad for European Solar and Heliospheric Physics.Spain:ESA Publication SP,1998:225 -228.
[6]Freeland S L,Handy B N.Data Analysis with the SolarSoft System [J].Solar Physics,1998,182(2):497-500.
[7]Yan Y,Zhang J,Wang W,et al.The Chinese Spectral Radioheliograph—CSRH [J].Earth,Moon,and Planet,2009,104(1 -4):97-100.
[8]Yan Y H,Tan C M,Xu L,et al.Nonlinear Calibration and Data Processing of the Solar Radio Burst[J].Science in China Series A,2002,45(21):89-96.
[9]Sych Robert A,Yan Yihua.Wavelet Cleaning of Solar Dynamic Radio Spectrograms [J].ChJAA,2002,2(2):183-192.
[10]Yan Y,Zhang L,Tan C,et al.Microwave Zebra Pattern Bursts of 21-April-2002 X1.5 Flare[J].IAUS,2004(219):722 -727.
[11]Tan Chengming,Yan Yihua,Tan Baolin,et al.Calibration of the Solar Radio Spectrometer[J].Science in China Series G,2009(52):1760-1764.