本文简介一些软件/数据中关于震源参数的计算与坐标系问题。
1 CMT .ndk格式数据
Global CMT网站提供了详细的地震矩张量和断层参数。
1 | The six moment-tensor elements: Mrr, Mtt, Mpp, Mrt, Mrp, Mtp, where r |
断层参数一般有两组,其对应的矩张量相同:(此处暂留疑问:正北方向为地理正北or地磁正北?) 见(《地震学、震源及地球结构概论》 P206 图4.2-2)
- strike 走向:断层延伸方向与正北方向夹角 0-360度
- dip 倾角:断层面与倾向夹角 0-90度
- rake(slip) 走滑角:断层上盘相对下盘滑动方向与走向的夹角 0-180度
- Scalar Moment 地震矩标量:表征地震释放能量
矩张量使用的坐标系为(Up, South, East),即(r, θ, φ)。参考(Aki, Quantitative Seismology, P113)。
注意:使用(Aki, Quantitative Seismology, P112)公式,并进行坐标变换之后,计算值与Global CMT给出的矩张量分量不同,目前未知原因。
MINEOS 使用的坐标系
坐标系与1 CMT .ndk
格式数据相同。
Instaseis 使用的坐标系
参考https://instaseis.net/source.html#instaseis.source.ForceSource
Python包 instaseis
使用 Source
属性计算震源参数、使用Reveiver
归纳台站参数。
其可以使用多重方式给出震源参数。
Source 源
直接给出矩张量
1 | instaseis.Source(latitude, longitude, depth_in_m=None, m_rr=0.0, m_tt=0.0, m_pp=0.0, m_rt=0.0, m_rp=0.0, m_tp=0.0, time_shift=None, sliprate=None, dt=None, origin_time=UTCDateTime(1970, 1, 1, 0, 0)) |
实例:
1 | M=np.zeros(6) |
其中,Source的参数为:(可以通过source.参数名
调取,下同)
- atitude – geocentric latitude of the source in degree
- longitude – longitude of the source in degree
- depth_in_m – source depth in m
- m_rr – moment tensor components in r, theta, phi in Nm
- m_tt – moment tensor components in r, theta, phi in Nm
- m_pp – moment tensor components in r, theta, phi in Nm
- m_rt – moment tensor components in r, theta, phi in Nm
- m_rp – moment tensor components in r, theta, phi in Nm
- m_tp – moment tensor components in r, theta, phi in Nm
- time_shift – correction of the origin time in seconds. Useful in the context of finite source or user defined source time functions.
- sliprate – normalized source time function (sliprate)
- dt – sampling of the source time function
- origin_time – The origin time of the source. If you don’t reconvolve with another source time function this time is the peak of the source time function used to generate the database. If you reconvolve with another source time function this time is the time of the first sample of the final seismogram.
给出震源断层参数
1 | instaseis.Source.from_strike_dip_rake(latitude, longitude, depth_in_m, strike, dip, rake, M0, time_shift=None, sliprate=None, dt=None, origin_time=UTCDateTime(1970, 1, 1, 0, 0)) |
实例:
1 | source = instaseis.Source.from_strike_dip_rake( |
参数为:
- latitude – geocentric latitude of the source in degree
- longitude – longitude of the source in degree
- depth_in_m – source depth in m
- strike – strike of the fault in degree
- dip – dip of the fault in degree
- rake – rake of the fault in degree
- M0 – scalar moment
- time_shift – correction of the origin time in seconds. only useful in the context of finite sources
- sliprate – normalized source time function (sliprate)
- dt – sampling of the source time function
- origin_time – The origin time of the source. If you don’t reconvolve with another source time function this time is the peak of the source time function used to generate the database. If you reconvolve with another source time function this time is the time of the first sample of the final seismogram.
给出parse文件
1 | source = instaseis.Source.parse(quakeml_file) |
quakeml_file:
Source 返回值具有的属性:
上述的所有参数
tensor 包含六个矩张量的List,分量为[m_rr, m_tt, m_pp, m_rt, m_rp, m_tp]
tensor_voigt,进行了坐标旋转,分量为[m_tt, m_pp, m_rr, m_rp, m_rt, m_tp]
ForceSource 力源
给出牵引力三分量
1 | ForceSource(latitude, longitude, depth_in_m=None, f_r=0.0, f_t=0.0, f_p=0.0, origin_time=UTCDateTime(1970, 1, 1, 0, 0), sliprate=None, time_shift=None, dt=None) |
实例:
1 | source = instaseis.ForceSource(latitude=12.34, longitude=12.34, f_r=1E10) |
参数为:
- latitude – geocentric latitude of the source in degree
- longitude – longitude of the source in degree
- depth_in_m – source depth in m
- f_r – force components in r, theta, phi in N
- f_t – force components in r, theta, phi in N
- f_p – force components in r, theta, phi in N
- origin_time – The origin time of the source. If you don’t reconvolve with another source time function this time is the peak of the source time function used to generate the database. If you reconvolve with another source time function this time is the time of the first sample of the final seismogram.
- sliprate – normalized source time function (sliprate)
- time_shift – correction of the origin time in seconds. Useful in the context of finite source or user defined source time functions.
- dt – sampling of the source time function
ForceSource 返回值具有的属性:
上述的所有参数
force_rtp 包含三个牵引力分量的List,分量为[f_r, f_t, f_p]
force_tpr,进行了坐标旋转,分量为[f_t, f_p, f_r]
FiniteSource 有限源
相关内容详见参考https://instaseis.net/source.html#instaseis.source.ForceSource
给出点源
1 | instaseis.source.FiniteSource(pointsources=None, CMT=None, magnitude=None, event_duration=None, hypocenter_longitude=None, hypocenter_latitude=None, hypocenter_depth_in_m=None) |
- pointsources (list of Source objects) – The points sources making up the finite source.
- CMT (Source, optional) – The centroid of the finite source.
- magnitude (float, optional) – The total moment magnitude of the source.
- event_duration (float, optional) – The event duration in seconds.
- hypocenter_longitude (float, optional) – The hypocentral longitude.
- hypocenter_latitude (float, optional) – The hypocentral latitude.
- hypocenter_depth_in_m (float, optional) – The hypocentral depth in m.
Receiver 台站
1 | Receiver(latitude, longitude, network=None, station=None, location=None, depth_in_m=None) |
实例:
1 | rec = Receiver(latitude=12.34, longitude=56.78, network="AB", |
参数:
- latitude (float) – The geocentric latitude of the receiver in degree.
- longitude (float) – The longitude of the receiver in degree.
- depth_in_m (float) – The depth of the receiver in meters. Only
- network (str, optional) – The network id of the receiver.
- station (str, optional) – The station id of the receiver.
- location (str) – The location code of the receiver.
SPECNM 使用的坐标系
与 Instaseis 使用的坐标系
相同,使用 instaseis.Source 与 instaseis.Receiver 创建相关震源、台站信息。