APP下载

EMERALD:用于地震事件数据处理的网络应用软件

2014-12-24WestFouch

关键词:台站模块用户

J.D.West M.J.Fouch

引言

地震学家研究震源和地球内部结构通常处理基于事件的地震数据,其典型的工作流程包括对一个或多个不同的地震事件相关数据的获取、预处理和分析。直到最近为止,大部分地震事件数据集都相对较小,最多包括用于一项特定研究所需的数千或数万条地震波形(例如Dziewonski and Woodhouse,1987; Grand,1987,1994; Woodward and Masters,1991;Engdahl et al,1998)。但是最近,来自更大规模的研究人员主持架设的临时野外试验台阵和大区域台网(包括数十到上百个宽频带台站)的数据集均有显著增加。前者包括诸如卡普瓦尔项目(Kaapvaal Project;Carlson et al,1996)、La RISTRA;Wilson et al,2005)、高熔岩平原 项 目 (the High Lava Plains Project;Carlson et al,2005)、中国东北地震台阵扩展项目(NorthEast China Extended SeiSmic Array, NECESSArray; Grand et al,2006)、喀尔巴阡盆地项目(the Carpathians Basin Project;Hetényi et al,2009)以及INDEPTH项目(Project INDEPTH;例如Langin et al,2003;Karplus et al,2011)等;后者有美国的现代国家地震系统(the Advanced National Seismic System,http://earthquake.usgs.gov/monitoring/anss)、西北太平洋地震台网(Pacific Northwest Seismic Network; http://www.pnsn.org)、日本的 Hi-net台网(http://www.hinet.bosai.go.jp)、欧洲地震学观测研究实验 室 (ORFEUS,http://www.orfeus-eu.org)以及非洲台阵 (AfricaArray,http://www.africaarray.psu.edu)等。不仅如此,美国的地球透镜计划(EarthScope)中的USArray(www.usarray.org)以及中国深部探测技术与实验研究专项(SinoProbe;www.sinoprobe.org)等,正由数百到数千个宽频带地震台产出前所未有的大量数据。

可能包含数百万条地震波形的数据集的出现,暴露了传统地震处理方法的局限性。尽管研究人员对地震数据进行预处理和处理的方法千差万别,但这些方法有一些共同特征。研究人员频繁地将诸如地震分析码(SAC;Goldstein et al,2003)、通用绘图工具(GMT;Wessel and Smith,1991)等标准化命令行程序与他们使用C、FORTRAN或其他编程语言写成或改编的自定义模块结合起来。标准化和自定义的模块通常使用一系列shell脚本连缀起来,shell脚本在运行中则使用一系列文本文件来传递模块之间的中间数据。多年来,这种方法便利而有效,已在天然地震的数据应用方面起到了很好的作用。但是,对于非常大的数据集来说,这种方法的效果就差多了,在某些应用上,甚至都不能工作。例如,当遇到非常大量的文件时,shell脚本和操作系统会发生故障;研究人员的方法都依赖于各不相同的文件和目录的命名规则,不易于共享;使用一系列文本文件来传递模块间的中间数据效率较低;项目之间及研究人员之间的基础数据处理都是重复性工作。尽管其中一些问题能够通过改进代码和脚本的方法加以克服,但对于一些新入门的研究生来说,这些方法所需要的技巧却会呈现出较陡的学习曲线,并且较大地限制了用于普及类项目和其他更为基础的教育环境中对新地震数据的处理能力。

影响当前数据集处理方法的另一个问题是,一旦从数据中心获得了一份原始数据集,就不可能简单地获取与地震台站元数据相关的更新信息。台站元数据通常随着最初的数据下载而获得;这些元数据就包括精确的台站位置、高程、传感器方向、传感器类型、传感器的仪器响应等信息。

为了解决这些传统方法的限制,我们开发了EMERALD软件(大数据集的浏览、管理、编辑、整理与分析软件);这是一个对地震事件进行处理与分析的框架系统,开源且易于扩展。本文总结了EMERALD系统的现状,如今该系统虽然正在进行β测试,但已接近其第一次正式发布。我们的β系数测试人员正在使用EMERALD的主机测试版进行新的地震学研究,并将在系统正式发布后转换为本地安装的系统版本。我们在此概述了EMERALD系统的基本架构,读者可参考 EMERALD 的网站(http://emerald.dtm.ciw.edu)来获取在线信息。

1 EMERALD概述

EMERALD是一个用于对大量地震事件波形数据进行下载、预处理和管理的开源网络应用软件。网络应用软件可定义为以网络浏览器为基本用户界面的软件。该系统并非要充分暴露于因特网才被认为是网络应用软件。用户通过任何现代网络浏览器登陆EMERALD服务器,就可以请求和下载地震数据,或者对地震数据进行导入、预处理、检查和导出。浏览器界面使EMERALD独立于用户的计算机平台和操作系统;因此,EMERALD能够在台式计算机或笔记本电脑、平板电脑和智能手机上操作。EMERALD总是存储最近查看页面的地址,并在登陆时默认进入该屏,使用户能够在计算机和(或)设备之间顺利切换。几乎所有潜在用户都熟悉网络浏览器的使用,这将降低所需的学习曲线,并使新用户迅速有成果。对于地震数据处理的新手来说,这一特点尤为重要,因为许多人对命令行主导的数据分析方法还不熟悉。

EMERALD包括一个整合了数据请求的模块,通过它可从地震学联合研究协会数据管理中心 (IRIS DMC;www.iris.edu/dms/dmc)请求事件数据,并直接导入EMERALD数据库。另外,通过包括SOD(Owens et al,2004)、JWEED(www.iris.edu/manuals/jweed)和 BREQ _FAST(www.iris.edu/manuals/breq _fast.htm)在内的其他方法检索到的地震数据均可由SAC文件集而导入EMERALD。其他文件格式(例如SEED、miniSEED、SEISAN、GSE、SEGY等)的导入程序将包括在将来的版本中,这依赖于公众需求和实现人员的时间许可。EMERALD包括许多基本的数据预处理工具,诸如滤波、调整、去平均和旋转地震图;计算预估的震相到时;删除重复、不完整或噪声记录道;以及快速浏览、接受或拒绝大量记录道。用户能够很容易地在以事件为中心的和以台站为中心的数据视图间进行切换。例如,对于明显有噪声的台站,事件视图中的用户记录道编辑可切换至台站视图,从而确定是否应删除该台站的全部记录输出,然后返回事件视图,继续按照事件进行记录道编辑。一旦完成预处理,所得编辑好的波形数据集可从EMERALD输出,以便进一步分析。

2 数据集

图1 数据集主页。该页面通过列出事件、台站及单个地震图的数目,向用户提供了数据的总体概况。世界地图显示了事件和台站的分布,一组柱状图给出了事件按年份、震级和大圆弧震中距的分布情况,玫瑰图则显示了反方位角的分布。如果事件–台站对中的地震图和(或)分量的数目比预期的多了或少了,可以通过本页面中的链接很容易地加以检查或批量地加以拒绝。主页还有快捷链接,用以编辑数据集属性、建立元数据更新,以及回顾当前数据集及其子集的历史

EMERALD系统的核心概念是数据集。在EMERALD系统中,数据集一词是指包括了地震事件的时间序列、事件和台站参数元数据、时间序列元数据(采样率、开始与结束时间等),以及因给定项目或调研工作的需求而计算产生的参数数据的完整集合。EMERALD数据集主页提供包括震源和接收台站的分布图、波形数目,以及事件数据按年份、震级和反方位角进行统计的柱状图(图1)。EMERALD按照数据集计算摘要信息,其计算和处理方法可直接应用于数据集中的全部记录道。一个数据集可衍生一个或多个子数据集,各子数据集是对原始数据进行滤波、剪裁、旋转等组合处理后所得到的。用户可通过控制应用于各子集的处理步骤的多少,来使波形分步骤处理的灵活性与所需磁盘空间之间达到平衡。这样,一系列子数据集代表数据处流程中不同的检验点,用户可以从这些检验点出发,进行后续处理,而并不一定非要每次都从原始数据重启整个工作流程。各处理步骤也都同时记入日志,所以处理过程的历史和处理中使用的参数,以后都可以查看。

3 数据请求模块

用户可以通过EMERALD数据请求模块直接从地震学联合研究协会数据管理中心请求数据。在数据请求模块中,用户定义所关注的日期范围、时间窗(通常是某个特定震相之前或之后几秒钟)和通道组。用户可以从综合列表中按照台网来选择台站,也可以在一个矩形、圆形或环形的地理区域内选择台站,还可以指定位于自事件给定角距离范围内的台站。类似地,事件可以在一定震级和深度范围内来确定,或落在一个矩形、圆形或环形的地理区域内,或者根据地震和台站的角距离范围来确定。

台站和事件列表中的数据通过地震学联合研究协会数据管理中心的数据库和网络服务(www.iris.edu/ws)中台站和事件接口得到,并通过后台处理保持更新。事件目录可以从下述目录源中单独和组合选取;这些目录源自ANF(USArray的台阵网络实验室)、GCMT(全球矩心矩张量项目)、ISC(国际地震中心)和NEIC PDE(美国国家地震信息中心震中初定结果)的目录。目前还没有用户自定义目录的导入工具,但会在将来版本中增加这一功能。

请求模块根据日期、时间及所需震相匹配事件和台站,利用事件发震时间计算所需震相到时,由此得到请求数据的时间窗,对请求进行处理。经过这些预处理的请求按照事件捆绑在一起,使用地震学联合研究协会数据管理中心的网络服务批量数据选择服务接口(ws-bulkdataselect),进行批量的数据请求。返回的数据直接读入EMERALD数据库,而无需用户干预。虽然用当前的版本,波形数据时间序列及其元数据只能通过地震学联合研究协会数据管理中心请求得到,但是EMERALD还是提供了向其他数据源请求数据和元数据的编程接口;因此,根据未来用户的需要,可以增加与其他数据中心的连接功能。就目前对请求能够提供服务的数据中心中,首选是欧洲数据中心门户(www.seismicportal.eu),该中心已实现了与EMERALD兼容的数据与元数据的网络服务。

4 记录道编辑模块

EMERALD系统的核心特征是快速检查大量地震记录道的能力。用户可以滚动页面,显示某个特定事件-通道组合中的全部记录道(图2)或台站-通道组合中的全部记录道。复选框提供了对某个记录道、某事件的全部记录道,或某台站的全部记录道加以保留或排除的方法。此外,在事件-台站视图中,用户可以对该事件-台站组合中记录道的接受程度按照0~5的等级来评分。通过单击鼠标来对故障台站或低信噪比事件的全部数据进行查阅和排除的能力,非常有助于便捷地创建一个更有用的地震数据集,以便后续分析。

图2 按事件检查记录道。对于任意选定的事件,可以查阅、保留或排除某一特定地震分量(通道或正交坐标轴)的全部记录道。图中显示了2010年第355天17时19分40秒的事件的全部径向分量记录道。在记录道间的快速滚动浏览的能力和对某个事件或台站的各个地震图或全部记录道的快速确定保留还是排除的能力,是EMERALD系统提供的对大量地震数据进行预处理的关键方法之一

5 元数据更新工具

如前所述,地震研究人员所面临的长期问题是地震台站元数据的变化;这些元数据可能在为分析而下载数据之后有变化,或者将新数据与以前获得的过时的元数据联接起来而出现变化。台站元数据描述了台站及其所安装仪器的特性,比如位置、高程、深度、水平分量的方位角方向、仪器响应、台站名称、台网代码,等等。这些元数据的元素可能由于许多原因而随时间发生变化。举例如下:仪器发生故障并进行检修或更换(于是仪器类型和脉冲响应信息发生变化);发现仪器位置有误或仪器方位角方向有误,并加以校正;或者,台站因所有权发生变化而更名,以符合新的运营人员的台网命名习惯。

在EMERALD系统之前,没有办法来检测台站参数元数据的变化,并将其报告给研究人员。研究人员通常要么在从集中式数据管理中心获取数据的同时获取元数据,要么在下载新波形时,仍依赖于以前获取的元数据。所以,在没有开发一套专门的脚本或代码来跟踪这一问题的情况下,对于研究人员来说,后续的元数据变化是未知的,也就不能使用。偶尔,台站元数据方面出现明显问题后,也会导致一次元数据查询,但即使存在改动,最通常的办法也是对文件进行手工检查和修改。这种手工检查和修改的方法,甚至对于为数不多的台站来说,也是耗时而繁琐的;而随着数千个地震台站产生的数据集的出现,元数据更新所花费的时间会变得令人望而却步;于是,对于一些研究工作,尽管某些数据更新能够显著影响其结果,但通常也会因元数据更新问题而被省略。

EMERALD系统包括存储台站元数据的能力,还能够以后台进程的方式周期性地检查、更新元数据,将最新获取的元数据与以前存储的快照进行对比,及时通知用户元数据的变化。根据研究项目的不同,用户可以指定哪些元数据集是要重点跟踪的,特别是如果发生变化要如何处理。元数据的变化既可以自动应用于数据集当中,也可以等待用户决定;用户可以选择,是否应用元数据更新,是否在更新时告知用户,进而等待用户的决定。当获得了新的地震记录图后,根据地震记录道的日期和时间,搜索相应的台站参数元数据,与地震记录图匹配,从而确保最新元数据总是与相应地震记录道相关联。

6 数据导出模块

数据集预处理完成后,EMERALD系统为用户提供了导出经过处理的数据集的方法,可将这些已经预处理的数据集导出为一组SAC文件,以便进一步处理。为了达到与外部处理程序的最大化兼容,从EMERALD系统导出SAC文件可以按照事件或台站来组织文件系统中的目录结构,而用户可以控制导出文件所使用的命名规则。虽然导出模块目前只实现了SAC文件的导出,但导出其他文件格式的功能已在系统未来版本的计划之内。

7 工作流程特点

简单地说,工作流程自动化就是数据处理分为若干步骤,一步接一步地顺序执行。更为复杂的工作流程体系加入了分支执行指令集、错误检测和(或)错误校正,以及从工作流程中某一特定点处重新开始批处理的功能。大多数工作流程系统都以日志方式记录每一步的错误消息或其他提示。

在EMERALD系统的这一最初版本中,我们为用户提供了将多个处理步骤集成为一个工作流程的能力,称之为 “自动化批处理”。这样的工作流程可以存储起来,将来反复使用;这样,多个数据集也都得到了完全相同的处理。一个典型的工作流程可能包括诸如估算到时、将记录道截取到某震相到时附近的时间窗范围、去平均、带通滤波、将ENZ(东/北/垂直)坐标系旋转为RTZ(径向/横向/垂直向)坐标系,以及(通过多种方法)计算各记录道的信噪比等步骤。较大的数据集和较复杂工作流程会需要相对较长的处理过程,因此EMERALD系统包括了通知功能,可在工作流程处理结束时或选择性地在每一步完成时,通过电子邮件或文本消息,向用户发出提示。为了便于用户后期检查,EMERALD系统的所有处理,包括自动批处理当中的处理在内,都存入了EMERALD数据库。

8 内部设计

EMERALD系统是一个完全虚拟的软件设备,它由Ubuntu Linux操作系统(www.ubuntu.com)、Apache网络服务器(httpd.apache.org)、PostgreSQL 关 系 型数据库管理系统(www.postgresql.org)、PHP脚本语言(www.php.net)构建的动态网页,以及所需全部驱动程序和函数库组成。上述所有软件都是免费和(或)开源的,所有由EMERALD系统开发人员编写的代码也都是免费软件;这样,用户就可根据需求进行修改。用户修改某一特定功能时,可将该功能与软件其他部分分开,从而使自动更新系统不会覆盖用户的修改。系统支持由多种编程语言编写的扩展,并结合了许多现有的地震数据处理工具,包括TauP(Crotwell et al,1999)、SeisFile(Owens et al,2004)、GMT(Wessel and Smith,1991)和ObsPy(Beyreuther et al,2010)。我们选择PostgreSQL数据库管理系统,因为它是一种成熟而高性能的系统,并且允许多种语言编写的扩展,同时包括内置的数据类型,使地震时间序列能够以双精度值数据存入数据库。关于数据库模式的更多信息超出了本文的范围,但将来会对有关EMERALD系统的设计、开发和内部结构进行详细描述。

虚拟软件设备作为单盘镜像文件提供给用户,能够很容易地在诸如VirtualBox(www.virtualbox.org)、VMware(www.vmware.com)和 Xen(xen.org)等任一虚拟化平台(虚拟机管理程序)上进行安装。这些虚拟机管理程序许多都是免费和(或)开源的。虚拟机管理平台和虚拟软件设备的一个特点就是其虚拟硬盘的大小可以动态扩展到最大。这样,EMERALD系统驱动盘可以定义为2TB(目前单独一块硬盘的最大容量),但实际的驱动盘空间可能小得多,这要取决于项目的规模。

EMERALD系统设计成安装于服务器或桌面工作站上,由单个研究人员或小型研究组来使用。由于性能原因,较大的研究组可能需要安装多套,或者使用更大的服务器。在位于华盛顿卡内基研究所的EMERALD系统测试服务器上,用户可以使用较长期的非固定帐号登录系统,使用户在投入自己的EMERALD系统硬件之前,先获得软件方面的经验。任意EMERALD系统上的用户数据库都可以导出为单个文件,用于传输到其他EMERALD系统上;所以,一旦用户采纳了EMERALD系统,在卡内基服务器上所完成的工作就可以很容易地移植到他们的个人系统上。

9 可扩展性

EMERALD系统易于扩展,不同新特性可由不同编程语言来开发。可用于本地访问EMERALD数据库的程序语言包括C、Java、Python、Perl、PHP、 R、 Ruby、Tcl和Lua。其他语言正在被引入PostgreSQL数据库系统,并在将来可以使用。标准化的数据库模式使得在任一EMERALD用户副本系统上开发的代码安装并运行于其他用户副本系统。应用程序菜单项存储于数据库表中,使新安装的方法能够立即在EMERALD菜单结构中可见。对现有命令行工具的支持,是把要处理的数据从EMERALD系统中写入一个虚拟磁盘中,再执行shell命令来调用处理函数,然后读回结果。这是目前将GMT(Wessel and Smith,1991)与EMERALD加以整合所使用的方法,尽管GMT很快就会有新的C和Python编程接口(Wessel et al,2011),并有助于将来在EMERALD中执行GMT绘图程序。

所有EMERALD源代码与软件最初版本会同时在新的地震学联合研究协会的SeisCode资源库(seiscode.iris.washington.edu)中发布,EMERALD网站也会对新增模块或已有模块的更新版本提供搜索和下载方面的维护。新模块的贡献者将通过EMERALD网站提交这些模块;而在用户开始使用它们之前,还要由志愿者通过网站进行评估检查(主要是为了防止包含恶意代码)。

指导用户如何在EMERALD系统中开发新的附加模块的具体步骤,超出了本文的范围,这也受到了系统在不断开发过程中发生着变化的影响。正如前面 “内部设计”一节中所述,将来会有一篇新文章,就EMERALD系统的内部结构和开发扩展模块的方法进行描述,扩展模块的模板将来也可在EMERALD网站上得到。在目前的过渡时期,我们鼓励那些愿意创建附加扩展模块的人直接和作者联系,以获得进一步的信息。

10 项目现状

EMERALD是一个在研项目,目前正在由大约25名研究人员进行测试;这些人包括学生、博士后研究人员,以及一批来自科研教育机构的专业人员。系统未来计划的改进主要是由测试用户的特殊请求所驱动。即将实现的新特性包括以下内容:

●附加扩展模块的增加与更新的集中式网站,并配有自动处理程序,以便单个用户能够对模块更新、数据库修改和新的处理方法进行检索、下载和安装;

●提供理论地震图与实际地震数据记录道相互关联的方法;

●从地震学联合研究协会数据管理中心之外更多的数据中心获取时间序列数据及台站参数元数据的方法;

●提供易于对特定记录道或特定台站和分量组合的全部记录道反向(振幅乘以-1.0)的处理方法;

●手工拾取到时和(或)处理窗口的方法;

●改进科学工作流程特性,允许用户创建分支工作流程,且易于保存、输出、共享和导入工作流方案;

●能够将数据处理作业分布于用户服务器上所有可用的处理器和处理内核的更高效的任务调度系统。

在目前的β测试期间,EMERALD系统安装在位于华盛顿卡内基研究所地磁部的一台集中式服务器上,便于系统时常更新。我们鼓励愿意参与程序测试的人员与相关作者联系。

EMERALD系统当前其他最新的细节,以及屏幕截图和使用指导,都可以在EMREALD网站上找到。有关新系统的反馈、漏洞报告和新特性请求可在emerald.dtm.ciw.edu/board处的在线讨论板找到。这是一个加密访问的讨论板;与有关作者联系,可获得访问权限。

11 结论

相对于大多数现有方法,EMERALD在地震事件波形数据管理与处理方面具有显著的优势。PostgreSQL数据库引擎允许EMERALD很容易地处理超过100万条记录的大数据集;数据请求模块使波形数据的请求和下载变得高效;简单、直观的图形化用户界面提高了数据查阅的速度,并加速了新用户的学习曲线;系统能够自动检查台站元数据的更新,并提醒用户修改。标准化的数据库格式和插件结构提供了在研究人员之间易于对处理方法进行共享的机制。我们希望,EMERALD框架能够被大家广泛采用,并且鼓励大家对其改进提出意见和建议。

猜你喜欢

台站模块用户
中国科学院野外台站档案工作回顾
28通道收发处理模块设计
“选修3—3”模块的复习备考
一种适用于高铁沿线的多台站快速地震预警方法
关注用户
关注用户
关注用户
基层台站综合观测业务管理之我见
如何获取一亿海外用户
MDOS平台台站级使用方法及技巧