Toccata in Nowhere.

Obspy 读取 StationXML 去除仪器响应 / 获取台站位置信息

2020.07.29

IRIS Wilber 3工具改版后,请求得到的地震数据文件格式不再是 .seed 文件,而改为 .tar.mseed 压缩包,解压之后为若干个 .mseed 文件,旧的 rdseed -Rdf *.seed 方法不再适用,需要手动读取解压之后的 StationXML 得到关于 .mseed 地震记录的更多信息。

依赖

import obspy

以下以 obspy 1.2.2 版本为例。

整理拼接 StationXML 文件名

st = obspy.read(file_name)
tr = st[0]

station_file_name = "IRISDMC-" + tr.stats.station + '.' + tr.stats.network + '.xml'

tr_inv = obspy.read_inventory(station_file_name)

通过读取 trace.stats 中的台站、台网信息拼接出 StationXML的文件名,并读取文件。

去除仪器响应

通过 trace.remove_response()方法去除仪器响应。

pre_filt = [0.001, 0.005, 10, 20]
tr.remove_response(inventory=tr_inv, pre_filt=pre_filt)

读取台站位置信息

coordinates = tr_inv.get_coordinates( tr.stats.network + '.'  + tr.stats.station+ '.'+ tr.stats.location + '.BHZ')
print(coordinates)

通过拼接字符串信息获得seedID,从而得到台站信息(以上以 BHZ 方向为例)


Reference

Obspy Documentation

Obspy 中文文档