pssac2 使用教程

pssac2pssac 的升级版。相比于 pssac 而言增加了更多的功能,选项也更加符合 GMT 的风格。

pssac2pssac 的选项之间有很多相似之处,所以本文只介绍二者之间的不同之处,读者应首先阅读《pssac 使用教程》。

GMT 标准选项

pssac2 继承了 GMT 的众多标准选项,包括:

  1. 必须选项: -J -R
  2. 可选选项: -B -K -O -U -P -X -Y -W -V

pssac 相比:

  • 多了 -P 选项,使得 pssac2 命令中可以直接设置纸张方向;
  • pssac 中 -V 选项用于交换 X 轴和 Y 轴,pssac2 中 -V 选项表示 Verbose 模式;

特有选项

pssac2 的特有选项包括:

-M -N -S -G -g -C -E -n -D -l -L -r -s -v

其中,与 pssac 功能完全相同的选项有:

-E -N -r

-v 选项

pssac 中的 -V 选项用于绘制垂直的波形,即交换了 X 轴和 Y 轴。这个功能在 pssac2 中命令为 -v ,而 -V 被用于 Verbose 模式,更符合 GMT 的风格。

-V 选项

Verbose 模式,可以多次使用 - V 选项,这样 Verbose 级别会依次增加,进而输出更多的信息。

-s 选项

有时候数据的字节序与机器的字节序不同,此时可以用 -s 选项交换数据的字节序。

-S 选项

pssac2 中 -S 选项有两种用法,一种是直接指定波形偏移量,比如 -S2 表示偏移 2 秒;一种是从 SAC 头段 usern 中读取偏移量,比如 -Su0 表示从头段 USER0 中读取偏移量。

需要注意的一点是,对于前一种情况,波形会向右偏移;而对于后一种情况,波形会向左偏移。

比如,如果 USER0 中的值为 2,则 -S2-Su0,前者将波形向左移 2 秒,后者将波形向右移 2 秒。尚不确定这是 Bug 还是 Feature。

-G 与 - g 选项

pssac 中 - G 选项的用法为 -Gr/g/b/c ,用于将振幅大于 c 的部分涂成 r/g/b 色。

pssac2 中 - G 选项的用法为 -Gr/g/b/c/t0/t1 ,其中 t0/t1 表示只给该时间内的数据涂色。

pssac2 中新增了 -g 选项,用于给振幅低于 c 的部分涂色。

-M 选项

-M 选项有四种用法:

  1. -Msize :将波形归一化,size 的含义与 pssac 中完全相同;
  2. -Msize/alpha :alpha 只能取正值,对波形进行几何扩散的校正;
  3. -Msize/b :按照 JB 走时表的结果进行振幅校正;
  4. -Msize/s :sin 函数校正,比例因子为 (1/size) * sqrt(sin(gcarc))

需要注意:

  1. pssac2 中,-M 选项是必须的,因而 pssac2 不能绘制绝对振幅,只能绘制相对振幅。不确定是 Bug 还是 Feature。
  2. pssac2 中 -E 选项中 t 后面必须有值,即 -Ekt 是错误的,此时可以使用 -Ekt-6

-C 选项

-C 选项用于截取部分数据,有四种用法

  • -C10/20 直接指定时间窗
  • -Ct0/20 时间窗的起始位置使用头段变量 T0 中的值
  • -C10/t0 时间窗的结束位置使用头段变量 T0 中的值
  • -Ct0/t1 时间窗用头段变量 T0 和 T1 的值来指定

-n 选项

表示允许震中距为负值。

在地图上绘制波形

用 pssac 将波形画在地图上还是有些麻烦的,而 pssac2 可以很轻松地解决这个问题。

当 - J 使用的是非地理投影(比如 -JX)时,pssac2 与 pssac 几乎没有区别。而当 - J 使用的是地理投影时,则意味着是要将波形绘制在地图上。

将波形绘制在地图上有额外的三个选项可以控制:

-L 选项

-L 选项指定图上单位长度代表的秒数。比如 -L3 表示图上 1 英寸表示 3 秒。

-l 选项

-lx/y/length/bar_length/font_size

绘制时间轴的比例尺。这个选项不确定有没有效果,因为一直没有调出来。

-D 选项

-Ddx/dy 指定了波形在地图上的额外偏移量。

示例代码

1
2
3
4
5
6
7
8
9
10
11
12
13
#!/bin/bash
J=M15c
R=-120/-60/30/65
PS=map.ps
psxy -J$J -R$R -T -K > $PS
pscoast -J$J -R$R -B10/10 -Ggray -K -O -A1000 >> $PS
saclst stlo stla f *.z | awk '{print $2, $3}' | psxy -J$J -R$R -Sa0.5c -Gblack -K -O >> $PS
saclst stlo stla f *.z | awk '{print $2, $3,"15 0 0 TR", $1}' | pstext -J$J -R$R -D-0.1c/-0.1c -K -O >> $PS
pssac2 -J$J -R$R -M1 -K -O -L1000 -D-0.1/0 *.z >> $PS
psxy -J$J -R$R -T -O >> $PS

默认会将波形放在台站处,也可以通过传递 sacfile X Y pen 格式的数据手动指定波形位置。

注意:

  1. 该脚本中使用的是 GMT4 的绘图命令;
  2. 若使用 GMT5 的绘图命令,会出现问题,表现为所有的波形不会出现在台站处,而是挤在左下角。出现这个问题的根本原因尚不清楚。
  3. pssac2 的 GMT5 版本存在严重 bug,目前(2015-09-21)无法使用;

修订历史

  • 2013-08-09:初稿;
  • 2015-07-19:修订稿;
  • 2016-03-16: -Ekt 会报错,必须指定 n 值;