识别 TauP 输出中的多个 P 震相

在使用 TauP 计算 浅源近震 的 P 波走时时,输出中经常会出现很多个 P 震相。这个事情让人很困扰, 因为搞不清这些 P 震相到底谁是谁。如果需要的只是 P 波初至,那就无所谓了,直接用最早的到时即可。 有些时候需要计算某个特定 P 震相的走时,这就需要清楚地了解每个 P 震相所代表的真正路径了。

以最简单也最常用的 PREM 模型为例, TauP 中给出了 PREM 模型的前几列如下:

$ head -10 prem.nd
    0.00     5.80000   3.20000   2.60000    1456.0     600.0
   15.00     5.80000   3.20000   2.60000    1456.0     600.0
   15.00     6.80000   3.90000   2.90000    1350.0     600.0
   24.40     6.80000   3.90000   2.90000    1350.0     600.0
mantle
   24.40     8.11061   4.49094   3.38076    1446.0     600.0
   40.00     8.10119   4.48486   3.37906    1446.0     600.0
   60.00     8.08907   4.47715   3.37688    1447.0     600.0
   80.00     8.07688   4.46953   3.37471     195.0      80.0
  115.00     8.05540   4.45643   3.37091     195.0      80.0

可以看到,15 km 处是上下地壳的分界面,24.4 km 是 Moho 面。

那么,对于一个深度为 5 km 的震源来说,在小震中距时可能会有 5 个 P 波震相:

  1. 震相 1: 从源出发向上传播直接到台站
  2. 震相 2:15 km 界面的反射波
  3. 震相 3:15 km 界面处的首波
  4. 震相 4:Moho 面的反射波
  5. 震相 5:Moho 面的首波

下面的命令计算了震源深度 5 km,震中距 100 km 处的 P 波震相走时。

$ taup_time -mod prem -h 5 -km 100 -ph p,P

Model: prem
Distance   Depth   Phase   Travel    Ray Param  Takeoff  Incident  Purist    Purist
  (deg)     (km)   Name    Time (s)  p (s/deg)   (deg)    (deg)   Distance   Name
-----------------------------------------------------------------------------------
    0.90     5.0   P         16.81    13.657     45.47    45.43     0.90   = P
    0.90     5.0   P         16.93    16.313     58.38    58.31     0.90   = P
    0.90     5.0   p         17.26    19.135    -87.30    86.48     0.90   = p
    0.90     5.0   P         17.33    15.646     54.76    54.70     0.90   = P
    0.90     5.0   P         17.75    18.571     75.80    75.62     0.90   = P

输出的 5 个 P 震相与之前的预期相同,很明显输出的第三行对应震相 1,也就是 p 震相。

那么如何确定其他震相的身份呢?当然可以通过射线参数、出射角等信息判断,但是如上面的输出所示,其实 很困难。最好的解决办法是,利用 TauP 强大的震相命名功能来指定计算特定震相的到时。例如, Pn 代表 Moho 面的首波, Pv15P 代表 15 km 界面的反射波, PvmP 代表 Moho 界面反射波。

$ taup_time -mod prem -h 5 -km 100 -ph p,P,Pn,Pg,Pv15P,PvmP,Pv24.4P

Model: prem
Distance   Depth   Phase     Travel    Ray Param  Takeoff  Incident  Purist    Purist
  (deg)     (km)   Name      Time (s)  p (s/deg)   (deg)    (deg)   Distance   Name
-------------------------------------------------------------------------------------
    0.90     5.0   P           16.81    13.657     45.47    45.43     0.90   = P
    0.90     5.0   Pn          16.81    13.657     45.47    45.43     0.90   = Pn
    0.90     5.0   P           16.93    16.313     58.38    58.31     0.90   = P
    0.90     5.0   Pg          16.93    16.313     58.38    58.31     0.90   = Pg
    0.90     5.0   p           17.26    19.135    -87.30    86.48     0.90   = p
    0.90     5.0   P           17.33    15.646     54.76    54.70     0.90   = P
    0.90     5.0   PvmP        17.33    15.646     54.76    54.70     0.90   * Pv24.4P
    0.90     5.0   Pv24.4P     17.33    15.646     54.76    54.70     0.90   = Pv24.4P
    0.90     5.0   P           17.75    18.571     75.80    75.62     0.90   = P
    0.90     5.0   Pg          17.75    18.571     75.80    75.62     0.90   = Pg
    0.90     5.0   Pv15P       17.75    18.571     75.80    75.62     0.90   = Pv15P

从这个命令的输出中可以提取出很多信息:

  1. 第 1 行和第 2 行是同一个震相,即 Pn,也就是 Moho 界面的首波。同时也说明,震相名 P 包括了反射波、首波等
  2. 第 3 行与第 4 行是同一个震相,即 Pg,也就是地壳内 turning 的波
  3. 第 5 行是上行波 p,这个很明显了
  4. 第 6-8 行是同一个震相,是 Moho 界面的反射波,这个震相可以用 P、PvmP 或 Pv24.4P
  5. 第 9-11 行是同一个震相,是 15 km 界面的反射波

5 个震相中有四个的路径已经很确定了,唯一不确定的就是第 3-4 行这个震相。其实跟前面的理论与其对比一下 可以猜出来,这个震相应该是 15 km 界面的首波。那么如何证明呢?方法很简单,把 PREM 模型中 Moho 界面 的深度改到 15 km,此时计算出的 Pn 就是 15 km 界面的首波了。

修改后的 prem2.nd 的前几行内容如下(其实只是修改了 mantle 这一行的位置):

$ head -10 prem.nd
    0.00     5.80000   3.20000   2.60000    1456.0     600.0
   15.00     5.80000   3.20000   2.60000    1456.0     600.0
mantle
   15.00     6.80000   3.90000   2.90000    1350.0     600.0
   24.40     6.80000   3.90000   2.90000    1350.0     600.0
   24.40     8.11061   4.49094   3.38076    1446.0     600.0
   40.00     8.10119   4.48486   3.37906    1446.0     600.0
   60.00     8.08907   4.47715   3.37688    1447.0     600.0
   80.00     8.07688   4.46953   3.37471     195.0      80.0
  115.00     8.05540   4.45643   3.37091     195.0      80.0

执行相同的命令,可以看到

$ taup_time -mod prem2 -h 5 -km 100 -ph p,P,Pn,Pg,Pv15P,PvmP,Pv24.4P

Model: prem2
Distance   Depth   Phase     Travel    Ray Param  Takeoff  Incident  Purist    Purist
  (deg)     (km)   Name      Time (s)  p (s/deg)   (deg)    (deg)   Distance   Name
-------------------------------------------------------------------------------------
    0.90     5.0   P           16.81    13.657     45.47    45.43     0.90   = P
    0.90     5.0   P           16.93    16.313     58.38    58.31     0.90   = P
    0.90     5.0   Pn          16.93    16.314     58.39    58.31     0.90   = Pn
    0.90     5.0   p           17.26    19.135    -87.30    86.48     0.90   = p
    0.90     5.0   P           17.33    15.646     54.76    54.70     0.90   = P
    0.90     5.0   Pv24.4P     17.33    15.646     54.76    54.70     0.90   = Pv24.4P
    0.90     5.0   P           17.75    18.571     75.80    75.62     0.90   = P
    0.90     5.0   Pv15P       17.75    18.571     75.80    75.62     0.90   = Pv15P
    0.90     5.0   PvmP        17.75    18.571     75.80    75.62     0.90   * Pv15P

新模型下 Moho 界面在 15 km 处,所以此时 PvmP 是 15 km 的反射波,而 Pn 则是 15 km 的首波。

至此,所有的 5 个 P 震相都被正确识别出来啦。对于更复杂的速度模型,判断方法类似。

结合以上的分析,总结出来震相走时方面的几个需要注意的地方:

  1. 首波在某些震中距会比反射波快(这在地震学基础中已经提到了)
  2. 浅部界面的反射波并不一定比深部界面的反射波更早到(此处 Pv15P 晚于 Pv24.4P)
  3. 除了 Pn 之外最早到的震相不一定就是直达波或反射波,也有可能是其他界面的首波(此处 15 km 界面的首波是除 Pn 外最早到的)