MATLAB在数字地震观测报告编制中的应用1
2014-09-02龚永俭刘双庆谭毅培尚先旗胡培元
李 赫 龚永俭 刘 磊 刘双庆 谭毅培 高 也 尚先旗 胡培元
MATLAB在数字地震观测报告编制中的应用
李 赫 龚永俭 刘 磊 刘双庆 谭毅培 高 也 尚先旗 胡培元
(天津市地震局,天津 300201)
数字地震观测报告是计算视应力等重要参数的基础性资料。JOPENS数据服务可提供地震目录,为使用ESSA软件计算视应力等参数提供了前提,但ESSA与JOPENS数据服务没有程序接口,需要从JOPENS数据服务网站手工下载地震目录并按需求人工筛选数据编制成数字地震观测报告。针对手工编制数字地震观测报告效率低且容易出错的问题,利用MATLAB开发出一套程序,对数字地震观测报告的编制实现了自动化处理,大大提高了工作效率,降低了出错率,能够更好地为地震分析预报工作提供数据服务。
MATLAB 地震观测报告 编制 视应力 地震预报
引言
地震观测报告是地震定位过程中产出的、以一定技术规范编辑生成的文本报告,它是区域测震台网观测产出的最终成果之一,是具有广泛使用价值的地震基础资料,在地震活动性统计分析、地壳速度结构、地震精定位等研究工作中发挥着重要的作用(冯建刚等,2012)。随着宽频带数字地震学的发展,“新参数地震目录”的产生,为计算视应力等更多的参数提供了可能。视应力表征了对引起地震滑动平均应力水平的一种估计,也是对当地绝对应力水平的一种估计,它已被应用于地震预报的研究中,并有着良好的发展势头。例如:陈学忠等(2007)利用北京数字遥测地震台网观测到的波形资料,测定了河北文安“空区”边缘发生的20次≥2.0级地震的视应力,分析了“空区”形成过程中这些地震的视应力随时间的变化;刘红桂等(2007)选取1999年7月—2005年4月云南省数字地震台网记录到的中小地震数字化波形资料,计算得到了1020次中小地震的视应力值,发现在云南地区地震视应力具有较好的预测意义;杨志高等(2009)计算了首都圈地区2003年9月到2007年12月,117个>2.5级地震的视应力,结果显示视应力在邢台、唐山和晋冀蒙交界处的空间分布有不同的特征,在2006年7月发生5.1级地震的文安北东方向有一个较大的视应力值,唐山地区视应力从南西到北东方向大体是增加的。然而,计算视应力的常用软件ESSA,虽需依托JOPENS数据服务提供的地震目录所创建的数字地震观测报告(报告格式与JOPENS产出的地震目录格式有区别),却与JOPENS数据服务没有程序接口。以往地震目录的下载、筛选和加工全部由手工完成。如此大数据量地震目录的筛选和加工,手工处理的效率难免会显得极为低下且易出现人为错误。为此,笔者研究开发出一套基于MATLAB的应用程序,该程序能够从JOPENS数据服务提供的地震目录中,按照ESSA的输入要求自动生成数字地震观测报告,加之相应的地震波形文件,能够快速计算出视应力等参数,从而可更好地为地震分析预报工作提供数据服务。
1 MATLAB简介
MATLAB是Mathworks公司开发的大型数学计算应用软件系统。它提供了强大的矩阵计算和可视化功能,是科学研究及工程应用方面的主流软件。MATLAB最早的版本出现在20世纪70年代,用FORTRAN语言编写,主要功能是实现程序库的接口功能。进入20世纪90年代以后,MATLAB发展成为国际公认的标准计算软件,在数值计算方面的功能不断增强。MATLAB的内核采用C++语言进行编写,因此语法特征与C++语言极为相似,而且相比更加简便易用,更加符合科技人员对数学表达式的书写格式要求,使之更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强,增强了数据的可视化功能,可不断提供功能更为强大的软件包。随着MATLAB的商业化以及软件本身的不断升级,用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大地方便了用户的使用。简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。时至今日,MATLAB已经发展为高性能的数值计算软件,并且集成了可视化功能,提供了大量的内置函数,被广泛地应用于科学计算、控制系统、信息处理等领域的分析、仿真和设计工作(周建兴等,2012)。同时由于MATLAB具有的强大的功能,其在地震行业中已经有了广泛的应用(徐沁等,2013;谭雨文等,2011;温岩等,2001;魏红梅等,2007)。因此,MATLAB完全满足数字地震观测报告自动化编制软件的开发条件。
2 天津地震台网概况
为了将天津地震台网产出的地震目录有效应用于地震预报,产生了本程序开发的客观需求。天津台网主要是负责本区域及首都圈示范区数字测震台站的波形汇集、交互分析、在线存储;通过国家台网中心获取首都圈邻省(山东和辽宁)测震台网的数据,对各道数据进行实时检测、触发;责任区内的地震速报、地震编目;实时数据上传中国地震局及数据交换、离线数据备份;编目数据服务以及震源参数分析结果服务,实现台网之间的数据共享。从1999年实施的“首都圈防震减灾示范区系统工程”建设以来,天津地震台网历经三次大的改造和升级,现可接收到140个地震台站的实时波形数据,地震监测可达到最小震级2.0,Ⅱ类定位精度,天津市的监控能力达到≥1.0—1.5级,定位精度≤3km,浅源地震的震源深度定位精度≤5km(李轶群等,2012),地震观测报告准确性和可信度较高。
3 软件开发
3.1 需求分析
本程序是针对JOPENS数据服务和ESSA之间没有程序接口设计开发。输入为JOPENS数据服务的地震目录,方式为人工获取;输出为ESSA所需的数字地震观测报告,该数字地震观测报告不同于JOPENS数据服务的地震目录格式,需要筛选和加工数据。加工过程用于实现ESSA不同于JOPENS数据服务的地震目录格式,程序的最终目的是为JOPENS数据服务和ESSA之间架设一座桥梁,实现视应力等参数的计算,为地震预报提供所需的数据服务。
地震观测报告是每一个地震事件波形经过分析后得出的震相数据,包括地震发生的时、空、强基本参数和P波和S波的到时数据。从JOPENS Data Service网站查询下载地震目录如下(图1):
计算视应力等参数的ESSA软件所需要的数字地震观测报告可分为全部台站观测报告、宽频带台站观测报告和短周期台站观测报告。该软件需要的数字地震观测报告格式与JOPENS数据服务的地震目录不同,笔者设计开发的软件需要完成数字地震观测报告的自动化编制,输出结果如下(图2—图4):
3.2 程序流程图设计
该软件基于MATLAB开发而成,因而具有MATLAB简单易用等特点。程序流程如图5所示。
3.3 程序代码编写
首先将JOPENS数据服务的地震目录复制到文件名为“观测报告”的记事本文件中。然后运行程序,程序提示输入地震时间,格式为年月日,程序代码如下:
datetime=num2str(input('请输入日期(如:20130124):') );
datetime=[datetime(1:4),' ',datetime(5:6),' ',datetime(7:8)];
fid=fopen('d:观测报告.txt','r');
观测报告要求格式如图2:
震相信息:台站代码 震相名称(,) 年 月 日 时 分 秒 震中距(km) 方位角(0-360) (第一个台站)
震相信息:台站代码 震相名称(,) 年 月 日 时 分 秒 震中距(km) 方位角(0-360) (第一个台站)
因此,需要在图1中筛选到同时具有()和()的台站信息,以下是筛选台站代码,筛选、和也是基本相同,只不过定义变量所在位置不同。
if ~isempty(strfind( temp(tempi,:),'Pg'))
tempresult =[tempresult;temp(tempi,:)];
finalzzj=finalcat(52:57);
finalzzj=[sprintf('%04d',str2num(finalzzj(1:4))),'.',finalcat(57),'000'];
finalfwj=finalcat(59:63);
finalfwj=[sprintf('%03d',str2num(finalfwj(1:3))),'.',finalfwj(5),'000'];
finalbx=finalcat(18:19);
finalsj=finalcat(33:43);
finalsj=[finalsj(1:2),' ',finalsj(4:5),' ',finalsj(7:11),'0','0'];
finallj=[finaltemp,blanks(1),finalbx,blanks(1),datetime,blanks(1),finalsj,blanks(1),finalzzj,blanks(1),finalfwj];
final=[final;finallj];
if finalcat(1,10)=='B'
finalB=[finalB;finallj];
else
finalS=[finalS;finallj];
end
finaltemp定义为台站代码;finalbx定义为()或();datetime定义为台站记录地震发生年月日;finalsj定义为台站记录地震发生时分秒和震中距;finalB定义为宽频带地震台站观测报告;finalS定义为短周期地震台观测报告;final定义为全部台站观测报告。
最后输出到记事本文件中。软件可以根据ESSA软件的需要输出宽频带地震台观测报告、短周期地震台和全部台站观测报告。输出结果如图2—图4所示。
3.4 软件运行结果考量
软件在天津市地震局分析预报中心试运行已有一段时间,试运行期间对多个地震事件进行了处理,经仔细核对比较并未出现错误,说明本软件准确、可靠,实现了预期功能。通过软件的使用,大大提高了数字地震观测报告编制的速度和准确性,为分析预报工作提供了科学准确的数据服务。同时,试运行中也发现软件有不足之处,例如:因观测报告数据库在中国地震台网中心,该数据库未向用户提供数据下载的功能和接口,所以无法直接实现从数据库中读取数据,自动进行格式转换和运算,仍需要打开网页下载报告,再运行此软件。
4 结束语
大量实践证明,测震学科与前兆学科一样能够揭示出地震的孕育和发展过程,能够利用地震观测报告和波形数据计算出地下视应力等情况,来预测地震。如何有效利用地震目录是摆在我们面前的一个重要课题。本文所述程序的研制,无疑对测震数据的应用起到了一定的推动作用。相信在不远的将来,测震数据能够更大限度地在地震预测中发挥作用。笔者尝试将MATLAB引入数字地震观测报告的编制中,收到了一定的成效。MATLAB的简单易用性决定了其良好的应用前景,有理由相信MATLAB将会在地震观测和地震预测领域发挥更大的作用。
陈学忠,李艳娥,2007.2006年7月4日河北文安5.1地震前震中周围地区小震视应力随时间的变化.中国地震,23(4):327—336.
冯建刚,蒋长胜,韩立波等,2012.1970年以来甘肃台网地震观测报告收集整理及其重新定位研究.西北地震学报,34(3):289—293.
李轶群,栗连弟,刘双庆等,2012.天津数字测震台网系统建设.地震地磁观测与研究,33(5/6):306—309.
刘红桂,王培玲,杨彩霞等,2007.地震视应力在地震预测中的应用.地震学报,29(4):437—445.
谭雨文,刘国明,2011.MATLAB在地震信号处理中的应用实例.防灾减灾学报,27(3):61—66.
温岩,乔兵,李忠伟等,2001.基于MAT LAB工具箱的神经网络在地震预报中的应用.东北地震研究,17(3):36—41.
魏红梅,黄世源,贺曼秋,2007.基于MATLAB工具箱的地震预测模型.东北地震研究,23(3):64—68..
徐沁,郑宁宁,黄经国等,2013.使用MATLAB获取地震前兆数据库中观测数据.震灾防御技术,8(2):198—208.
杨志高,张晓东,2009.首都圈地区地震视应力的计算及空间分布.地震,29(4):32—43.
周建兴,岂兴明,矫津等,2012.MATLAB从入门到精通.北京:人民邮电出版社.
Application of MATLAB in Editing the Digital Earthquake Observation Report
Li He, Gong Yongjian, Liu Lei, Liu Shuangqing, Tan Yipei, Gao Ye, Shang Xianqi and Hu Peiyuan
(Earthquake Administration of Tianjin City, Tianjin 300201, China)
Digital seismic observation report is the base for calculating some important parameters such as apparent stress and etc.. JOPENS data services can provide earthquake catalogue, which is the premise of apparent stress parameter calculation by using ESSA software. However, since the ESSA and JOPENS data service has no program interface, there is a need from the JOPENS data service manually download earthquake catalogue and demand of artificial screening data into digital seismic observation report. In order to solve this problem, we utilize MATLAB to develop a set of procedures, compilation of digital seismic observation report with automatic processing procedure, which greatly improve the work efficiency, reduce the error rate, provide the better data service for earthquake prediction.
MATLAB; Earthquake observation report; Edition; Apparent stress; Earthquake prediction
地震科技星火计划(项目编号:XH14002Y)、2014年度震情跟踪专项青年工作任务(项目编号:2014020306)和天津市地震局局内课题:天津及其周边地区地磁转换函数变化与近震的关系(项目编号:20131008)联合资助
2013-09-15
李赫,男,生于1987年。助理工程师。2011年6月毕业于防灾科技学院勘查技术与工程专业,工学学士。主要从事地震观测及预测的研究。E-mail: lihe200888@sina.com
李赫,龚永俭,刘磊,刘双庆,谭毅培,高也,尚先旗,胡培元,2014.MATLAB在数字地震观测报告编制中的应用. 震灾防御技术,9(2):289—295.