谭程明,颜毅华,谭宝林,刘玉英
(1.中国科学院国家天文台,北京 100012;2.中国科学院太阳活动重点实验室 (国家天文台),北京 100012)
“工欲善其事,必先利其器”,通用、完善的数据分析系统直接决定一个天文观测设备的科学产出。在计算机和互联网飞速发展的今天,数据处理在现代天文研究中更有着催化剂和生长素的作用,最有可能在海量或精细的数据分析中触动新的科学发现。目前中国太阳物理研究取得了长足的进步,各种探测仪器不断建立。然而由于观测台站在建成初期受限于计算机软件技术和硬件环境,不可能一步到位,与之相应的数据处理软件相对单一零散,资源无法充分利用、数据共享和交流不畅、疏于更新等问题越来越突出。
国家天文台怀柔观测基地的太阳射电频谱仪(SBRS)[1-3]的相关技术指标在国际同类设备中处于领先地位,获得了北京市科技进步一等奖。在建成初期,由于计算机技术和IDL软件环境有限,每个频谱仪都开发了一个独立的数据处理软件,2002年后开始对这些单一的数据处理软件进行合成升级。2001年建立了太阳射电网站和数据库,2009年开始建设中俄联合射电数据库。SBRS观测数据与处理软件在太阳物理研究和国际合作交流中发挥了积极的作用,国内外直接利用观测数据和软件进行研究的SCI论文达100余篇,其中2002年4月21日事件被美日阳光卫星主持发布的网上《每周科学评论》报导[4]。然而目前依然存在几个迫需解决的问题。(1)SBRS在过去10多年积累了近2 TB的观测数据约2600个射电爆发事件,并且以每天0.2~8 GB的数据量增长。相关研究受限于数据处理方法的单一,进展缓慢,大量的射电爆发事件被录入统计表后就淹没在日益增长的数据堆积中,加之数据处理软件甄别能力有限,尚有不少爆发事件未能被发现而隐藏在海量的数据堆积中。若任由现状发展则将陷入一个无人问津的数据尘封状态,多年后随同观测设备一起沉寂、遗忘;(2)数据处理软件未与SSW[5-6]兼容,数据库共享不完备,没有定期更新,客观上限制了数据的国际交流和利用;(3)数据光盘取放麻烦,而且多人使用容易遗漏,频繁使用也导致部分介质损坏,虽然有备份光盘,但更亟需的是一个容量充足的数据库。正在建造的中国太阳射电频谱日像仪[7]也面临着类似问题。因而必须加快对数据分析软件按SSW规范设计开发,并建立一个有充足容量、安全稳定、自动化程度高、便于更新管理的数据库。
SSW创始于1998年,是国际太阳物理学界使用最为广泛的数据分析系统,能处理多达60余个天基或地基仪器设备的探测数据以及国际虚拟太阳天文台的数据。国际太阳射电频谱仪同类设备中目前只有瑞士苏黎世的偏振计频谱仪的数据处理软件加入了SSW,但数据处理软件无用户界面,且难以进行更深层次的分析研究。本文探讨的太阳射电频谱观测数据分析系统技术方案在现有的软件和数据库基础上突出重点和效率,实现与SSW兼容并拓展数据库的容量与效能。这将挽救在数据堆积中不断淹没的科学信息,提高数据的利用率和开放率,进一步扩大SBRS观测数据在国际上的交流和影响。
SSW[5-6]是一套为太阳物理研究提供公用程序和数据处理环境的软件综合库、数据库和系统应用工具,英文名为Solar Soft Ware。SSW建立于Yohkoh、SOHO、SDAC(Solar Data Analysis Center)和IDL天文用户库并利用了来自众多项目团队的贡献。它首先是一个基于IDL的软件系统,当然有些分支软件加入了以其它语言编写的可执行程序。SSW环境在广泛分布的协同研究制度上提供了一个兼容的环境以利于数据交流和促进协作分析。SSW的基本目标是:(1)提供一个不依赖于硬件和台址的数据分析系统;(2)推动使用特定的标准便于合成数据分析;(3)促进一个逐渐发展的环境;(4)提供支持各种数据库的入口;(5)提供一个不依赖于文件格式的分析环境;6)提供其它IDL软件包的综合入口。
图1 SSW标准安装目录结构图[6]Fig.1 “Typical”SSW installation tree[6]
GEN子目录包括整体有用的程序,这些程序可用于各类分支但不依赖于仪器或项目的公用程序和系统设置。各个项目(MISSION)中的GEN目录包含不依赖于项目但可以用于该项目中所有设备的程序。SITE子目录可以用于当地太阳软件和以当地路径命名的SSW环境,也包括SSW的安装执行程序。SSW安装程序和系统设计允许包含目录树中有子目录的本地布局。
主要有以下几点[5-6]:(1)软件及程序的名称争议和开头文档说明。在将一个新的分支软件合成到太阳软件之前,一件必须要做的事情是核对名称争议并进行规范更改。比如某仪器数据的解压程序可以命名为xxx_decompress.pro(xxx是仪器的定义,例如SXT、CDS等),而不只是decompress.pro。每个程序或程序包都应该有开头文档,包含在IDL程序指南中。特别是名称、目的、有变量解释的调用子程序、程序历史等均应该包含在 “;+”和 “; -”符号的开头文档中。(2)子目录结构:仪器分支或库的细节组织主要取决于研究团队的决定,可以按如下标准目录来建立。
[/idl/setup]该子目录很重要,只能包括用于定标和数据分析的软件或程序,不允许其它成分的加入。在/idl下的子目录和一些不必要的目录将减慢IDL的运行速度。理想的情况是子目录的数量控制在最小。当研究团队希望提供的程序应该在子目录中执行时,可以定义这个子目录。
[/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)的特点,相关技术指标在国际同类设备中处于领先地位。并在建成初期开发出了相应的数据处理软件(见表1)。
表1 频谱仪和相应数据处理软件的特点Table 1 Characteristics of radio spectrometers and corresponding data-processing softwares
紫台的数据处理软件系统由南京大学的狄晓华开发,使用方便,功能丰富,但非IDL语言的软件需要专人维护升级。国台开发的各个频段的数据处理软件都是以IDL语言为开发环境,具有相似的显示平台和数据处理功能。该系列软件的开发基于劳德帮1996年为1.0~2.0 GHz频谱仪设计编写的软件包。更多的频谱仪建成后,考虑到新增观测数据和处理功能,颜毅华于2000年对该软件进行整合升级,每个频谱仪都开发了一个独立的数据处理软件。一个频谱仪一个数据处理软件的好处是使用简单,便于升级维护。同时也存在几点不足:(1)数据分析处理时打开窗口太多,容易混乱,效率低;(2)数据处理功能简单,定标功能不完善。随着计算机技术的提升,对数据处理的要求和各种功能需求不断增加,原有的操作界面也难以满足更高的要求。自2002年6月开始,谭程明对各个频谱仪的数据处理软件再次进行合成升级,并增加了定标[8]、扣除干扰、小波去噪[9]和特征信息提取[10]等功能。该合成软件于2002年10月投入使用并于2003年3月全部完成,之后得到不断完善和发展。到目前为止,软件具备了表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观测数据与数据处理软件在太阳物理研究和国际合作交流中发挥了积极的作用。但目前的现状成为进一步扩大数据利用率和开放率的瓶颈。具体表现在以下几点:(1)数据处理软件未与国际兼容,不规范,国外研究人员难于上手;(2)数据处理软件功能繁多界面复杂,科研工作者使用不便捷;(3)软件结构设计有不合理之处,有些功能和数值运算方法有待进一步优化;(4)软件开发初期未做多种可能的分析,考虑不够周全,随着功能的增加,漏洞也不断增多;(5)数据库没有定期更新,无法满足更多的快速大量的数据需求,缺乏一套具有自动更新和搜索功能的数据库管理系统和一套容量充足安全稳定的硬件设备;(6)数据光盘取放麻烦,而且读取速度慢,最大的问题是数据光盘多人使用容易遗漏,频繁使用也导致部分介质损坏。因而有必要对软件按SSW规范重新设计编写,并建立一个容量充足安全稳定的数据库,既能满足局域网内快速大量获取也能实现远程网络下载。
目前已经开发出了成套的SBRS观测数据处理软件,建立了数据库,在IDL软件开发和数据库建设方面积累了很多经验,储备了一定的技术。另一方面,对SSW的框架规范有充分了解,有能力开发一套与之兼容的软件并建设相应的数据库。以下分软件和数据库两方面详述系统设计方案。
IDL是一种数据分析和图像化应用程序及编程语言。IDL的使用者可以迅速方便地运用此软件将数据转换为图像,促进分析和理解。IDL的开发环境IDLDE是用户快速编写、测试并调试代码的最佳环境,适用于WINDOWS和LINUX系统。而且SSW是基于IDL的软件系统,因而与SSW兼容的升级软件将以IDL为开发和运行环境。新开发的数据处理软件既能在SSW下运行也能独立运行。设计方案分为3部分:(1)目录规划;(2)界面设计;(3)功能模块及流程设计。
3.1.1 目录规划
根据太阳软件提供规范和建议,结合SBRS数据处理软件的特点,拟定5个子目录。
[/idl]包含了软件的主程序和子程序,以及安装和设置程序。
[/doc]包含了软件的使用说明和数据分析方法,以及软件中的定标方法和一些附属说明文件。
[/calibration]包含了各种定标文件和定标常数,定标常数是随着仪器系统的维护检修有变化的。
[/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时会消耗系统资源降低运行速度,用户可以将这两个目录在安装设置时自定义到其它文件夹。如果是独立于SSW的安装就没有这个问题。
3.1.2 界面设计
原有的数据处理软件是将图像显示界面、控制界面、信息显示界面等全部合为一个窗口(图2)。这样的好处是窗口少,不混乱,处理分析数据效率高,缺点是控制按钮太多,对新用户显得繁杂。新软件的用户界面还是采用一个窗口的设计方案(图3),窗口的大小是按一定比例自定义可调的。图像显示界面是观测数据的直接输出部分,因而应将窗口的空间尽量分配给图像显示。控制界面的功能按钮将按使用频度和难易度分成两类:(1)经常使用的按钮将直接显示在控制界面中,包括数据读取存储、图像存储、数据定标、图像调整和界面调整等基本功能按钮;(2)不常使用的功能按钮比较多,包括数据合成、数学分析、自动批处理等高级图像处理和综合功能按钮。这些按钮在开始使用时是隐藏状态,初学者无需关注,在需要时可以展开,不需要时再收起隐藏。图像信息显示界面大小适中,既要内容丰富又便于用户查看。
图3 新软件用户界面Fig.3 User interface of the new software
3.1.3 功能模块及流程设计
这部分是软件的核心部分,主要内容是主程序和子程序。主程序包括图像及界面控制、数据和图像调用、图像显示、功能子程序调用、信息显示、鼠标状态等内容。子程序包括数据和图像读取、时间运算、数据定标、数据合成、数学分析、数据存储、图像存储和自动批处理等功能模块。而数学分析是内容丰富功能强大的数值处理模块,包括扣除干扰、小波去噪、归一化、特征信息提取、数值拟合、数值相关等。以上主要内容及各功能模块在原软件已部分实现,但在编写规范、结构和流程设计、功能完善和漏洞排解等方面还需要做大量的工作。首先是编写规范,由于在软件开发初期追求短平快,遗留了很多漏洞,程序缺乏详尽的说明增加了排错时间。升级软件在现有的规范和经验基础上编写,将更好地解决这个问题。其次是结构和流程设计规范,结合多年的软件开发和使用经验,认为下述简易流程图 (图4)可以做为一个标准设计。该流程图是按Microsoft Office软件中自选图形的流程图规范制作的,如六角形为‘准备’、倒梯形为‘人工操作’等。
图4 简易流程图Fig.4 Simplified flowchart of the new software
第三是功能完善,软件目前的多数功能是完善的,但在定标、小波去噪和扣除干扰等一些数学分析方面还有更大的发展空间。在定标方面已经取得了一定的进展[11]。小波去噪方面,现有的方法是分析某一通道(对应射电辐射频率)观测数据的干扰信号的频率特征并对全波段数据滤掉这个干扰频段的信号。实际上每个通道的干扰频段和特征是略有不同的,可以设计多通道自动滤波的方案对所有通道分别滤波。小波去噪的另外一个问题是运算时间随数据量增加按几何级数增长,根据SBRS观测数据的干扰特征可以设计分段自动滤波的方案。自动滤波从理论和以往经验来说都是可行的,但实际效果有待进一步检验。最后一个问题是漏洞排解,规范的软件编写和合理的流程设计将提高漏洞排解的效率。
数据库将结合国内外研究人员的需求和SBRS观测数据的特点研究适用的方案。目前国外有俄罗斯,国内有南京大学、紫金山天文台和云南天文台对观测数据的需求量比较大。国台总部使用数据更为频繁,最常见的问题是数据光盘多人使用导致遗漏缺失,频繁使用也导致部分介质损坏。因而需要建立一个容量充足、安全稳定的数据库,既能满足局域网内即时大量获取也能实现远程下载。
SBRS观测数据量比较大,怀柔射电频谱仪自1994年到现在的观测大约积累了3000片数据光盘近2 TB的数据。将这些数据全部拷贝至硬盘不现实也没有必要,可以考虑只将那些有爆发事件的数据装入数据库,没有爆发的数据通过电子邮件联系。目前观测数据存为png格式图像后,文件大小能降至10%以下,因而估算图像资料数据量小于200 GB。如果在图像显示时减少像点(降低分辨率)至合理范围,或者采用秒级综合频谱图加精细结构频谱图,则数据量可以大幅度降低至20 GB以下。对于有爆发事件的观测原始资料,数据大小目前难于统计,但也是可以估算的。怀柔的SBRS共有480个通道,每个数据需要2字节存储,每0.2 s一个数据点的数据量是5 KB。目前的观测统计有2600多个频谱事件,如果按射电爆发事件平均持续30 min估算0.2秒级文件数据量大概有40 GB。精细结构的发生率在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个以上)的观测图像文件,用人工操作软件来生成难以忍受。解决办法是前期慢慢积累高质量的图像资料,后期开发数据处理软件的自动处理功能批量生成图像文件。根据上述分析,数据库的建设方案如表3。
表3 数据库建设方案Table 3 Design of the database
在数据库的开发环境方面,国家天文台太阳射电网站目前的服务器环境是Windows-WEB,服务器软件有微软Internet信息服务器(IIS)和Apache Http Server。使用Filezilla Server作为FTP服务器,使用MySQL作为数据库管理系统。MySQL关系数据库管理系统是一个速度快、成本低、易于升级管理的数据库,而且MySQL开放源码,这些特点非常适合中小型网站。目前建设的中俄联合射电数据库就是以MySQL关系数据库管理系统为环境的,能实现数据库的局域网甚至远程管理。为保证网站的安全稳定运行,局域网内快速大量下载应使用专用帐号,远程下载需要提供合法的电子邮箱地址和验证密码。
SSW是一个不依赖于硬件和台址的广泛兼容的数据分析系统,使用特定的标准便于合成数据分析。同时该软件系统也为太阳软件提供者制定了规范和建议。中国SBRS观测数据处理软件适合于国内所有频谱仪的观测数据处理且功能丰富,虽然未与SSW兼容但在一些程序设计和目录结构方面有相似之处。通过对SSW和SBRS观测数据软件的详细阐述和比较分析,本文认为现有的软件系统与SSW兼容是切实可行的,进而提出了一个详细的设计方案。该设计方案在软件的目录规划方面与SSW类似,其内容在SBRS软件中已部分齐备;在界面设计方面保留了SBRS的特点但更加简洁适用;在功能模块与流程设计方面更加注重设计编写规范和功能完善,这也是应对漏洞问题的前提。数据库建设方案结合SBRS观测数据的特点和国内外研究人员的需求,根据现有观测数据量估算升级后的数据库容量建议为1 TB,利用MySQL关系数据库管理系统建设一个安全稳定、易于升级管理的数据库。
该数据分析系统的成功开发将挽救在数据堆积中不断淹没的科学信息,从而提高数据分析效能和数据利用效率,有望今后在海量的统计研究和精细的数据分析中发现新的太阳物理现象和规律,扩大数据的国际交流,提高观测设备的国际影响力。同时为中国太阳射电频谱日像仪项目的数据分析系统积累经验和储备技术,并为国内其它台站提供模式和经验。软件中应用到的各种数值分析方法和计算技巧也可以推广到其它研究中。
[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.