本文主要是介绍在obspy中获得Wood-Anderson仪器振幅,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在obspy中获得Wood-Anderson仪器振幅
在地震学学习中,有时候需要对地震的震级大小进行确定,这个时候可能需要将原始波形进行转换,得到Wood-Anderson仪器振幅。这里简单举个例子介绍一下如何通过obspy获得Wood-Anderson仪器振幅。
导入需要的包:
from obspy import read
from obspy.io.sac import sacpz.attach_paz
定义变量paz_wa保存Wood-Anderson仪器响应文件:
paz_wa = {'sensitivity': 2080, 'zeros': [0j,0j], 'gain': 1,'poles': [-5.4978 - 5.6089j, -5.4978 + 5.6089j]}
读取例子数据以及相应的仪器响应文件(这里不专门介绍如何下载数据和仪器响应文件):
# 1. 读取数据, 并对数据做一些简单处理
st = read("IU.COLA.00.BHZ.SAC")
st.interpolate(sampling_rate=100)
st.detrend("demean")
st.detrend("linear")
pre_filt = [0.001, 0.002, 25, 30]# 2. 获得仪器响应文件,这里的SAC_PZs_IU_COLA_BHZ_00文件是SAC_PZ格式的仪器响应文件
sacpz.attach_paz(st[0], "SAC_PZs_IU_COLA_BHZ_00")# 3. 将原始数据的仪器响应转为Wood-Anderson仪器响应
st.simulate(paz_remove="self", paz_simulate=paz_wa, pre_filt=pre_filt, water_level=60, taper=True, taper_fraction=0.00001)# 4. 保存数据
st.write("IU.COLA.00.BHZ.wa.SAC")
备注:经测试发现,在sac软件中使用transfer from … to general n 2 f 0.8 d 0.7 m 2080将原始记录的仪器响应转为Wood-Anderson仪器响应所用的Wood-Anderson仪器参数与变量paz_wa所保存的参数基本一致。
以上就是我的分享,希望能为需要的朋友提供帮助,如有地方不对或者有疑问,可以直接在评论区发表看法。
相关参考:https://docs.obspy.org/
这篇关于在obspy中获得Wood-Anderson仪器振幅的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!