2022年9月5日12时52分,四川省甘孜州泸定县发生MS 6.8地震,震中位于(29.59°N,102.08°E),震源深度16 km。此次地震最高烈度为Ⅸ度(9度),地震烈度Ⅵ度(6度)及以上区域面积19 089 km2,等震线长轴呈NW走向,长轴195 km,短轴112 km,涉及四川省3个市州12个县(市、区)82个乡镇(街道)。地震引发多处地质灾害,房屋建筑和基础设施严重受损,道路、通信、供水供电等生命线多处中断。据报道,截至9月12日,本次泸定MS 6.8地震造成93人遇难、25人失联、420余人受伤,5万余间房屋受损,超过11万人口受灾。
根据《震后12小时中国地震局地震应急服务响应行动清单》①的相关要求,中国地震台网中心需要在震后滚动提供余震目录。余震信息是地震趋势研判的重要依据,利用余震目录的参数信息,可有效反映震区的地震活动、地震周期、序列及发震构造等情况(金艳等,2017)。特别是在强震发生之后,及时更新地震目录,跟踪地震序列发展,在震后应急会商工作中至关重要(邓世广等,2019),对提高应急救援效率有重大意义(管丽倩等,2022)。
① 中国地震局. 中震函〔2021〕89号震后12小时中国地震局地震应急服务响应行动清单. 2021.
根据《测震台网运行管理细则》②,国内发生M≥5.0(以正式速报结果为准)地震时,由震中所在省级测震台网中心和国家测震台网中心协同产出余震统计信息报告。长期以来,应急余震目录依赖于震中所在省级业务中心地震编目人员提供原始数据,由国家级业务中心人员整理、汇编、复核后产出并上报,流程繁琐(何琳等,2017),工作量大,效率低。本次泸定MS 6.8地震破坏性强,地质灾害多发,震后紧急会商要求提高,余震序列统计的时效性要求相应提高,且本次地震余震多,传统人工汇编模式已无法适应,亟需一套震后应急余震序列统计程序,自动编辑并快速产出余震序列目录,及时提供相关研究人员使用,助力地震应急救援工作的有序开展。
② 中国地震局监测预报司. 中震测函〔2015〕115号测震台网运行管理细则(2015修订版). 2015.
1 程序设计与实现 1.1 程序流程基于地震速报目录和快报目录,采用网络爬虫技术,设计应急余震序列统计程序,具体流程见图 1。
应急余震序列统计程序流程如下:①从EQIM系统(陈晓辉等,2009;杨陈等,2009)的Web服务网站(以下简称EQIM网站)获取一个月内MS≥4.0正式速报目录,便于用户确定主震和统计起始时刻;②从GUI界面读取用户设置的主震参数和余震参数;③基于Python的网络爬虫技术,利用Requests第三方库模拟浏览器向EQIM网站和统一编目处理与服务系统(以下简称编目系统)(代光辉等,2019)发送HTTP/HTTPS请求(云洋,2018),获取正式速报目录和省局快报目录;④依据传统的人工汇编去重经验,结合《测震台网运行管理细则》,进行速报目录和快报目录的合并及筛选去重;⑤加入或删除用户指定地震,人为修订并形成最终余震目录;⑥依据余震统计要求,按照震级区间,如MS 6.0—6.9、MS 5.0—5.9、…、MS 1.0—1.9等,对余震进行分段统计;⑦按照余震统计格式模板,以Word文档输出余震统计报告,并以Excel文档输出余震目录。
1.2 实现代码根据《测震台网运行管理细则》中关于余震统计信息的要求,在余震统计中,MS3.0及以上地震以正式速报为准。也就是说,为了保证每条地震目录结果的唯一性,对于MS≥3.0的同一地震,国家测震台网上报的正式速报结果与省地震局上报的编目结果需进行筛选去重,去除省地震局上报结果。
依据传统的人工汇编去重经验,当2条地震目录的发震时刻、经纬度相近,且来源分别为正式速报和省地震局编目结果时,可认为属同一地震事件,应进行去重处理。根据传统人工筛选去重的特点,程序采用如下算法实现。
(1)发震时刻不能直接进行运算,将速报和编目地震目录中的发震时刻转换为时间戳。时间戳(timestamp)是指从格林威治时间1970年1月1日00时00分00秒(UTC/GMT的午夜,即北京时间1970年1月1日08时00分00秒)起至当前总秒数(刘世靖等,2022)。时间戳通常是一个字符序列,被标识的时刻具有唯一性(刘华,2011)。部分转换代码如下:
for i in CB:
timestamp = datetime.datetime.strptime(i[0], ‘%Y-%m-%d %H: %M: %S.%f’)
mic_sec = timestamp.microsecond
timestamp = tim.mktime(tim.strptime(i[0], ‘%Y-%m-%d %H: %M: %S.%f’))
i.insert(0, int(timestamp) + mic_sec/1000000)
for i in BM:
timestamp = datetime.datetime.strptime(i[0], ‘%Y-%m-%d %H: %M: %S.%f’)
mic_sec = timestamp.microsecond
timestamp = tim.mktime(tim.strptime(i[0], ‘%Y-%m-%d %H: %M: %S.%f’))
i.insert(0, int(timestamp) + mic_sec/1000000)
(2)将合并目录按时间戳从小到大排序,即实现按发震时刻排序,实现代码如下:
merge = CB + BM
sortmerge = sorted(merge, key=lambda x: x[0], reverse=False)
(3)合并地震目录来源于EQIM网站和编目系统,筛选其中相邻的2条地震信息,根据发震时刻字符串的长度判断其分别属于不同的来源,且发震时刻、经纬度之差是否小于给定阈值。阈值可根据需要进行设置,对于此次泸定MS 6.8地震,发震时刻阈值设定为6 s,经纬度阈值设置为0.5°,若快报地震目录中的地震和相邻的正式速报地震发震时刻、经纬度之差小于设定阈值,则去除处理。部分实现代码如下:
DEL = [] #需要删除的地震下标列表
for i in range(1, len(sortmerge)):
tmp = [len(sortmerge[i][1]), len(sortmerge[i-1][1])] #取发震时刻字符长度
if tmp == [21, 22] or tmp == [22, 21]: #确认正式速报和编目结果相邻
if abs(sortmerge[i][0] - sortmerge[i-1][0])<6: #发震时刻阈值6秒
if abs(sortmerge[i][2] - sortmerge[i-1][2])<0.5 and \
abs(sortmerge[i][3] - sortmerge[i-1][3])<0.5: #经纬度阈值0.5°
if len(sortmerge[i][1]) == 22:
DEL.append(i)
if len(sortmerge[i-1][1]) == 22:
DEL.append(i-1)
1.3 功能实现本程序的初始化预设了常用余震统计参数,GUI人机交互界面(图 2)友好。其中:①主震设置分组框:快捷选择用于选择需要统计的主震,发震时刻自动变更为主震发震时刻,二级地名随之自动转变;若需要统计的地震不在列表中,可手动填写发震时刻;②余震参数分组框:截止时刻框用于填写统计地震的截至时刻,可根据需要输入,若点击“当前时刻”,则自动输入当前时刻;震级下限用于确定统计地震的起始MS震级;纬度和经度用于确定余震距主震坐标的距离,从而确定余震统计的经纬度范围;③人工补充余震和人工排除余震框:用于添加或删除地震信息条目,并在最终产出中被添加/排除。
以常用办公文档格式为载体进行结果产出,该程序以Word文档生成余震统计报告,并以Excel文档产出余震统计地震目录,便于核对、修改,为后续数据处理和使用提供便利。
2 测试应用应急余震统计程序研发完成后,于2022年9月7日9时即投入泸定MS 6.8地震余震统计工作。基于程序流程,在EQIM网站获取MS 3.0及以上地震人工正式速报结果,在编目系统获取MS 3.0以下地震省地震局快报编目结果,按不同震级区间进行余震统计,产出Word格式的余震统计报告(图 3),并进行地震序列目录合并,得到Excel格式的余震序列目录(图 4)。该程序通过连续数天实用化测试,经人工比对校核,确认产出结果准确可靠,程序阈值设置科学合理。其在余震统计工作中的应用,可大为减小人工复核工作量,提高数据的即时性和准确性,满足地震应急工作的迫切要求,助力地震应急救援工作高效而有序地开展。
应急余震统计程序在泸定MS 6.8地震发生后即着手研发,结合了大量中强地震应急经验,从此次四川省甘孜州泸定县MS 6.8地震余震统计工作实际出发,探索了自动化技术在地震编目及地震应急中的应用,提高了应急地震目录的产出效率,提升了余震目录的使用价值。本程序设计符合《震后12小时中国地震局地震应急服务响应行动清单》、《测震台网运行管理细则》等文件的相关要求,顺应震后滚动提供余震目录的实际业务需求,可为其他业务领域自动化提供范本,进而促进地震编目工作的发展。
本程序设计到完成时间短,尚存在一些不足,将在后续工作中进一步完善,例如:增加b值、h值和完整性震级等序列参数的自动计算,以及震中分布、震源深度分布和M—T图的自动绘制功能,并考虑向省级地震台网推广应用。
中国地震局地球物理研究所房立华研究员为论文撰写给予指导,并提供有益建议;中国地震台网中心张雪梅研究员、任克新高级工程师、任枭高级工程师对本项工作给予指导,并进行有益讨论,在此一并表示感谢。
陈晓辉, 侯建民, 刘瑞丰. 全国地震速报信息共享与服务系统[J]. 地震地磁观测与研究, 2009, 30(3): 132-135. |
代光辉, 苗春兰, 翟璐媛. 中国测震台网统一地震编目[J]. 中国地震, 2019, 35(1): 192-203. DOI:10.3969/j.issn.1001-4683.2019.01.018 |
邓世广, 王月, 马亚伟. 基于Python爬虫技术的高精度地震目录更新程序的设计与应用[J]. 中国地震, 2019, 35(3): 541-549. DOI:10.3969/j.issn.1001-4683.2019.03.012 |
管丽倩, 戴君武, 杨永强, 等. 针对应急救援的强余震特征统计[J]. 世界地震工程, 2022, 38(3): 212-220. |
何琳, 马犇, 姜琪, 等. 地震目录更新软件设计[J]. 中国科技信息, 2017(24): 61-62. |
金艳, 张佑龙, 刘川琴, 等. 安徽省数字化地震编目工作[J]. 地震地磁观测与研究, 2017, 38(2): 168-171. |
刘华. 可信时间戳——让时间作证[J]. 中国数字医学, 2011, 6(6): 107-108. |
刘世靖, 谢庆胜. 时间戳在政府网站灰度自动转变中的应用研究[J]. 电脑知识与技术, 2022, 18(19): 31-32. |
杨陈, 黄志斌, 高景春, 等. 全国地震速报信息共享服务系统[J]. 地震地磁观测与研究, 2009, 30(5): 133-138. |
云洋. 基于Python的图片爬虫程序设计[J]. 电子技术与软件工程, 2018(17): 241-242. |