计算任意深度处下表面反射波走时

地震学中的某些研究会用到 SS 前驱波的理论走时,比如常见的 S410SS660S。 进一步推广到任意深度的下表面反射震相,比如 S1000S 代表在1000 km深度处的界面的下表面反射的S波,比如 P1200P 代表在1200 km深度处的界面的下表面反射的P波。

下图给出了 S660S 也就是 S^660S 的射线路径,以便于非相关方向读者的理解。

本文介绍用 TauP 计算地幔下表面反射震相的走时。

使用 TauP 计算这类震相的走时时,有两点注意事项:

  1. TauP 为了避免震相名的多义性,有自己的一套定义规则。比如地震学中所说的 S410S,在 TauP 中被称作 S^410S, 这里的 ^ 很形象地表示S波在410km间断面的下表面反射。详情见TauP官方文档。
  2. S^410S 为例,若速度模型的410界面的实际深度在408km,则TauP返回的实际上是 S^408S 的走时。这样的设计有好有坏,自行体会。

下面以 PREM 模型下的 S^1000S 震相为例。

直观的想法是:

$ taup_time -mod prem -h 400 -deg 150 -ph S^410S,S^600S,S^1000S

Model: prem
Distance   Depth   Phase     Travel    Ray Param  Takeoff  Incident  Purist    Purist
  (deg)     (km)   Name      Time (s)  p (s/deg)   (deg)    (deg)   Distance   Name
-------------------------------------------------------------------------------------
  150.00   400.0   S^600S    2240.91    10.552     29.96    17.68   150.00   * S^670S
  150.00   400.0   S^1000S   2240.91    10.552     29.96    17.68   150.00   * S^670S
  150.00   400.0   S^410S    2325.64    10.758     30.61    18.03   150.00   * S^400S

算出来却发现 S^1000S 的走时与 S^660S 的走时完全相同,这显然是不对的。错误的原因在上面的注意事项2中已经解释了。

错误的根本原因是因为PREM模型的1000 km处并没有速度间断面。解决办法很简单,在PREM模型的1000km处加一个速度间断面即可。

第一步,复制标准速度模型:

cp /opt/TauP-2.4.2/StdModels/prem.nd prem1000.nd

第二步,在 prem1000.nd 模型的 1000 km 处加一个速度间断面。原速度模型的1000 km附近速度为:

 971.00    11.41560   6.37813   4.56307     743.0     312.0
1071.00    11.57828   6.44232   4.62129     750.0     312.0

修改为:

 971.00    11.41560   6.37813   4.56307     743.0     312.0
1000.00    11.46278   6.39674   4.57995     746.0     312.0
1000.00    11.46279   6.39675   4.57996     746.0     312.0
1071.00    11.57828   6.44232   4.62129     750.0     312.0

注意,这里在1000 km处加了两行,且两行的参数值有微小的区别。

使用新模型计算的结果:

$ taup_time -mod prem1000 -h 400 -deg 150 -ph S^410S,S^600S,S^1000S

Model: prem1000
Distance   Depth   Phase     Travel    Ray Param  Takeoff  Incident  Purist    Purist
  (deg)     (km)   Name      Time (s)  p (s/deg)   (deg)    (deg)   Distance   Name
-------------------------------------------------------------------------------------
  150.00   400.0   S^1000S   2162.67    10.203     28.88    17.08   150.00   = S^1000S
  150.00   400.0   S^600S    2240.91    10.552     29.96    17.68   150.00   * S^670S
  150.00   400.0   S^410S    2325.64    10.758     30.61    18.03   150.00   * S^400S

整个过程也很容易写脚本实现,这样就可以动态地实现计算任意深度处下表面反射震相的走时了。