推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

基于Python的地震烈度速报软件的设计与应用

更新时间:2019-12-22 16:56:16 大小:2M 上传用户:songhuahua查看TA发布的资源 标签:python地震烈度速报软件 下载积分:1分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

关 键 词】 Python ObsPy 烈度速报 软件设计


部分文件列表

文件名 大小
基于Python的地震烈度速报软件的设计与应用.pdf 2M

【关注B站账户领20积分】

部分页面预览

(完整内容请下载后查看)
科技与创新Science and Technology & Innovation  
文章编号:20956835201919014603  
2019 年 第 19 期  
Python  
基于  
的地震烈度速报软件的设计与应用  
薛 蕾,王其,付 萍  
(厦门地震勘测研究中心,福建 厦门  
361000  
要:烈度速报是利用强震台网的地震记录,由计算机自动生成地震烈度图的应用系统。相比传统宏观烈度评  
定,能在很短的时间内了解震情信息,为政府决策和救灾工作提供指导。利用 Python 环境下的地震学专业软件包  
Obspy 以及图形工具 Matplotlib 编写了烈度速报的软件。该软件可实现自动触发、计算分析、作图和推送等功能。  
关键词:PythonObsPy;烈度速报;软件设计  
中图分类号:P315.7  
文献标识码:A  
DOI10.15913/j.cnki.kjycx.2019.19.062  
地震烈度是衡量地震影响程度大小的重要参数统的  
宏观烈度评定需要在震后依靠技术人员进行现场调查后确  
发生影响范围广破坏性强的地震后度评定可能要  
花费数天时间才能完成政府决策和救灾工作的现实需要  
往往需要在震后第一时间了解这方面的信息。  
数据及人工智能等方面的发展Python 以其简洁优  
雅、易用等特性越来越受到各行各业研究人员的青睐。  
为使地震学的研究能应用 Python 中功能强大的 Numpy  
Scipy 的数值处理和分析工具ObsPy Numpy 的基础上  
实现了特定领域的时间序列库,使地震学研究进入 Python  
生态[2]ObsPy 能够读取多种地震学文件格式,自带多种地  
震学处理工具能利用 Python 强大的科学计算生态系统,  
用简单的代码实现复杂的分析和计算。  
基于这些现实需要度速报系统应运而生是利用  
强震台网记录到的地震观测数据计算机自动生成地震烈  
度图的应用系统年来国内外在这方面开展了很多研究和  
应用,如美国的 Shakemap 系统、福建省地震局烈度速报系  
统、云南省地震局烈度速报系统[1]等。  
Matplotlib 是一个 Python 2D 绘图库,可以生成各种硬  
拷贝格式和跨平台交互式环境的出版物质量数据Matplotlib  
只需几行代码即可生成绘图,如直方图、功率谱、条形图、  
误差图、散点图等。  
1
系统设计与实现  
本文依托国家地震烈度速报和预警工程建设的简易烈  
度计台网,采用 Python 编写了烈度速报软件,可实现自动  
触发计算,作图并推送用户。  
1.2 软件设计  
1.2.1 设计思路  
1.1 编程语言和平台  
软件拟实现的功能秒级尺度上对地震信息服务器进  
行监控有地震发生时,进行分析计算和作图,最后把计  
算成果和图件生成报告推送给用户震发生后件利用  
地震速报目录中的地震三要素信息作为触发源数据服务  
器请求地震发生时段的台网数据据一定的算法仪器  
烈度分布的计算成图和信息推送。  
软件使用 Python 语言编写,主要使用面向地震学应用  
ObsPy 软件包进行地震数据的分析计算用面向科学绘  
图的 Matplotlib 软件包对计算结果进行图件绘制。Python 是  
一种解释型向对象态数据类型的高级程序设计语言。  
Python 是由 Guido van Rossum 1989 年底发明,第一个公  
开发行版发行于 1991 年。Python 具有丰富和强大的库。它  
常被昵称为胶水语言,能够把用其他语言制作的各种模块  
(尤其是 C/C++轻松地联结在一起年来于互联  
1.2.2 系统架构及功能实现  
系统架构如图 1 所示,烈度速报软件采用模块化设计,  
根据要实现的功能分割为相应的独立模块。  
1  
系统架构图  
·146·  
Science and Technology & Innovation科技与创新  
2019 年 第 19 期  
监控和触发判定功能由监控和触发判定模块实现控  
模块每秒监控地震信息服务器地震发生新的地震报  
告生成时,按照预设条件进行判断,则触发下一模块。  
计算成图功能由解析发震信息模块求数据模块计  
算模块和作图模块实现序模块触发后发震信息解析  
模块从地震信息服务器提取该地震事件的报告进行解析获  
取发震信息据请求模块按照发震时间从地震数据服务器  
请求该时段的波形数据;而后计算模块根据仪器烈度算法,  
计算每个台站各个方向和三方向合成的 pgapgv后得出  
仪器烈度成烈度报告图模块根据各个站点的仪器烈  
度值绘制站点仪器烈度图时在站点展布区域上对各个台  
站的仪器烈度值进行内插,绘制区域仪器烈度等值线图。  
推送功能结果推送模块实现以上模块得到的文字报  
告和图件进行分析取重要信息用微信企业号中开发  
者工具生成图文报告,发送至用户手机。  
miniseed;地震信息来源为地震速报目录(eqim计算  
服务 器为 Ubuntu18.04.2LTS 系 统 应用 软 件包 主要 为  
Python3.7.2obspy1.1.0matplotlib3.0.3。  
2.1 响应时间  
软件从 2019-04 开始部署并运行,截至 2019-07,福建  
台网内的 28 次地震事件均能自动触发,计算作图和推送结  
果。系统触发后,一般在 90 s(平均)后可运行完毕。其中  
用时最少的是 2019-06-04 台湾台东 6.4 级地震76.1 s;  
用时最多的是 2019-04-01 台湾新北 3.7 级地震111.6 s。  
地震事件处理时效性统计如表 1 所示。  
1.3 算法  
在国家地震烈度速报和预警工程福建示范区建成试运  
行后烈度速报提供了高密度的台网数据支持建处于  
国家地震烈度速报和预警工程的重点预警区均台间距约  
12 km。由于台间距很小,不用插值已基本可以得到地震  
的分布情况[3-4]。本文采用中震测发〔201518 号《仪器地  
震烈度计算暂行规程》中推荐的算法对每个台站进行计算。  
计算流程如图 2 所示。  
2
实际应用  
本文依托福建省简易烈度计台网部署了上述软件据  
源 来 自 Palert Advance ( 共 计 320 数 据服 务器 为  
freeBSD11.1 系统和 JOPENS6.08 流服务器,数据存储格式  
2 地震仪器烈度计算流程图  
1 地震事件处理时效性统计表  
序号  
1
时间  
地震事件  
获取报告/s  
30.1  
30.1  
30.4  
30.1  
30.2  
30.4  
30.4  
30.5  
30.5  
30.2  
30.1  
30.4  
30.4  
30.1  
30.1  
30.2  
30.3  
30.3  
30.3  
读取数据/s  
3.2  
计算/s  
35.5  
19.7  
19.9  
19.4  
19.6  
19.7  
19.8  
19.1  
18.6  
19.6  
20.3  
19.7  
19.9  
19.6  
19.6  
19.5  
19.2  
19.4  
18.7  
作图/s  
37.7  
31.9  
34.9  
27.9  
33.2  
31.9  
33.3  
36.4  
35.2  
33.8  
34.6  
35.6  
45.9  
29.9  
21.2  
28.1  
15.9  
20.6  
20.2  
推送/s  
5.1  
4.7  
4.9  
4.9  
4.7  
4.6  
4.7  
4.3  
4.6  
4.9  
5.1  
4.6  
4.7  
5.2  
6.8  
7.2  
6.5  
6.9  
6.8  
总耗时/s  
112  
90  
2019-04-01  
2019-04-03  
2019-04-04  
2019-04-08  
2019-04-09  
2019-04-10  
2019-04-10  
2019-04-16  
2019-04-18  
2019-04-20  
2019-05-09  
2019-05-13  
2019-05-22  
2019-05-23  
2019-05-23  
2019-05-31  
2019-06-04  
2019-06-06  
2019-06-18  
台湾新北 3.7 级地震  
2
台湾台东县 5.7 级地震  
3.5  
3
台湾台东县 5.1 级地震  
3.3  
93  
4
台湾台东县海域 4.4 级地震  
台湾花莲县海域 5.0 级地震  
台湾花莲县海域 4.3 级地震  
台湾花莲县海域 4.0 级地震  
台湾海峡 3.5 级地震  
5.1  
87  
5
5.2  
93  
6
4.5  
91  
7
4.7  
93  
8
6.2  
97  
9
台湾花莲县海域 6.7 级地震  
广东南澳县海域 2.2 级地震  
台湾宜兰县海域 3.8 级地震  
台湾宜兰县海域 3.9 级地震  
台湾花莲县海域 4.0 级地震  
台湾花莲县海域 4.1 级地震  
台湾花莲县海域 4.5 级地震  
台湾高雄市 4.2 级地震  
8.9  
98  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
4.7  
93  
5.7  
96  
5.9  
96  
6.1  
107  
89  
3.7  
6
84  
11.5  
4.2  
97  
台湾台东县海域 5.8 级地震  
台湾花莲县海域 3.8 级地震  
台湾海峡 3.8 级地震  
76  
6.5  
84  
3.5  
80  
·147·  

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单

推荐下载