本文假设用户已正确安装 CPS 330 并已将其bin目录添加至PATH路径中,否则请参考 CPS330 以安装。

本文介绍如何在给定的地球分层模型和震源机制解的情况下,利用CPS 330sdprad96 模块计算面波理论辐射花样。

计算流程简介

  • CPS 330 中的sdprad96模块以sregn96slegn96 模块分别计算出二进制文件sregn96.derslegn96.der为输入。两输入文件分别包含了在给定模型下计算出的 Rayleigh (sregn96.der) 和 Love (slegn96.der) 特征值随深度的变化函数。

  • sdprad96模块的输出是 SRADR.PLT 或者 SRADL.PLT可输入 calplotplotxvig 中以绘制不同频率面波的辐射花样。

模块简介

sdprad96:

  • -DIP dip 给定断层面的 dip 角
  • -STK Strike 给定断层面的 Strike 角
  • -RAKE Rake 给定断层面的 Rake 角
  • -M0 标量地震矩 (def=1.0) 以 dyne-cm 为单位的标量地震矩
  • -MW mw 矩震级
  • -E 爆炸源
  • -fx FX -fy Fy -fZ fz 以 dynes 为单位的单点力振幅 (N, E, down)
  • -DIST 距离 参考点震中距,单位为 km
  • -HS hs 震源深度
  • -X0 x0 (def=1.5) 绘图时中心点的 x 坐标
  • -Y0 y0 (def=1.75) 绘图时中心点的 y 坐标
  • -O 观测资料 以 MFT96 格式存储的观测频散资料
  • -PER 周期 (def=20.0 s) 指定周期
  • -M 面波阶数 (def=0) 0 表示基阶面波
  • -L (def=Rayl) 绘制 Love 波辐射花样
  • -R (def=Rayl) 绘制 Rayleigh 波辐射花样
  • -DMIN dmin (def=0 km) 最小震中距
  • -DMAX dmax (def=100000 km) 最大震中距
  • -h help

模块使用样例

  • 计算理论面波频散特征值函数及绘制理论辐射花样

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    #!/bin/sh
    # 计算在特定模型和频率下,面波特征值随深度变化的函数
    ## 指定将计算的周期
    PER1=10
    PER2=20
    PER3=40
    cat > perfil << EOF
    $PER1
    $PER2
    $PER3
    EOF
    ## 指定震源深度
    HS=2
    ## 指定台站深度
    HR=0
    ## 为计算面波频散特征值作准备,包括指定面波类型 Love(-L), Rayl(-R) 、以 perfil 文
    ## 件指定周期 和 将要计算的面波模态数目 (1 表示仅计算基阶面波)
    sprep96 -M modcus.d -HS $HS -HR $HR -L -R -PARR perfil -NMOD 1
    ## 利用给定的 modcus.d 模型计算面波频散
    sdisp96 -v
    ## 计算 Rayl 和 Love 特征值随深度的函数
    sregn96 -DER
    slegn96 -DER
    # 计算和绘制理论辐射花样
    ## 定义震源信息
    MOM=1.0e+22
    DIP=70
    RAKE=70
    STK=20
    ## 定义参考距离和面波模态
    DIST=1000
    MODE=0
    ## 对于不同周期进行循环
    for FIG in 01 02 03
    do
    case ${FIG} in
    01) PER=$PER1 ; X0=2.0 ; Y0=6.0;;
    02) PER=$PER2 ; X0=5.0 ; Y0=6.0;;
    03) PER=$PER3 ; X0=8.0 ; Y0=6.0;;
    esac
    sdprad96 -R -DIP ${DIP} -RAKE ${RAKE} -STK ${STK} -DIST ${DIST} \
    -PER ${PER} -HS ${HS} -M ${MODE} -M0 ${MOM} -X0 ${X0} \
    -Y0 ${Y0}
    mv SRADR.PLT R${FIG}.PLT
    done
    for FIG in 04 05 06
    do
    case ${FIG} in
    04) PER=$PER1 ; X0=2.0 ; Y0=2.0;;
    05) PER=$PER2 ; X0=5.0 ; Y0=2.0;;
    06) PER=$PER3 ; X0=8.0 ; Y0=2.0;;
    esac
    sdprad96 -L -DIP ${DIP} -RAKE ${RAKE} -STK ${STK} -DIST ${DIST} \
    -PER ${PER} -HS ${HS} -M ${MODE} -M0 ${MOM} \
    -X0 ${X0} -Y0 ${Y0}
    mv SRADL.PLT L${FIG}.PLT
    done
    ## 将各子图粘连在一起
    cat L??.PLT R??.PLT CALPLT.PLT > SRAD.PLT
    ## 移除垃圾文件
    rm -f CALPLT.PLT CALPLT.cmd L??.PLT R??.PLT
    ## 绘制成图
    plotxvig < SRAD.PLT
  • 运行结果及源代码下载


    图中上面三幅子图表示 Rayl 波辐射花样,下面则是 Love 波辐射花样。不同子图间的差异在于其周期不一样。