SAC数据处理流程
命令:
- 全称 简写 参数 介绍
- /表示未知,如简写未知则在此处填写 /。
参考:
滤波操作
参考:滤波
1 | fg impulse delta 0.01 npts 1000 # 生成脉冲函数, delta和npts可调 |
bandpass bp 无限脉冲带通滤波
bp c 0.2 2 n 2 p 1
- / / butter|bessel|c1|c2 使用butterworth、bessel、切比雪夫I型、切比雪夫II型滤波器。 默认使用巴特沃兹滤波器。
- corners c v1 v2 拐角频率设置,如上面的命令中,为0.2HZ和2HZ
- Npoles n v 极数,为1-10之间的整数
- PASSES p v 通道数,取值为1或2
- tranbw / v 设置切比雪夫滤波器转换带宽
- atten / v 设置切比雪夫滤波器衰减因子
lowpass
highpass
bandrej
震相理论到时
保存震相到时信息的头段包括:a、f、tn,(n取值1-9)
相应的震相名信息:ka、kf、ktn。
chnhdr(ch) 手动标记
ch t0 400 t1 799 kt0 P kt1 S
ch allt -123 iztype i0
# 例如第二行表示从所有的偏移时间减去123,同时改变描述参考时间类型的字段iztype
- file / n1 n2 修改指定文件的头段变量,n指内存中文件的文件号
- / / v vname SAC头段变量名、变量名对应的值
- allt / v 将所有已定义的时间相关头段变量的值加v秒,同时参考时刻减去v秒
traveltime命令 根据预定义的速度模型计算指定震相的走时
命令默认值:
traveltime MODEL iasp91 KM PHASE P S Pn Pg Sn Sg
- model / v 指定的速度模型,可以为iasp91和ak135
- picks / v v取值0-9,表示第一个震相的到时存储在对应头段变量tn中,若未指定不写入头段
- phase / vlist 要计算或标记的震相列表,如P、S、Pn
- verbose|quiet / / 前者在终端输出震相走时以及相对于文件参考时刻的描述,后者不显示震相走时信息
- m|km / / 头段变量evdp的单位为m或者km
taup_setsac命令
Taup软件提供的命令,用于计算震相理论到时并保存到SAC文件中
波形排序
sort命令
- / / v v指头段变量名,即按照该变量名的值进行排序,最多输入5个,优先按照前面的变量排序
- ascend|descend / / 前者按照升序排列,后者按照降序。默认升序。每一个变量名都需要指定升序或者降序。
质量控制(标记或删除信噪比低或者不合适的波形)
人工挑选坏的波形。
ppk p 5 # plot 每次绘制5个波形
# 如果波形的质量很差,使用t9标记
wh #将标记的t9保存到头段中
q
t9标记后一般都是正值,而好的波形为未定义状态,值为-12345.0。在命令行使用下面的命令删除定义的波形:
saclst t9 f *.SAC | awk '$2>0 {print "rm",$1}' | sh
也可以用如下命令将不好的波形移动到专门的文件夹下:
mkdir BADWAVE
saclst t9 f *.SAC | awk '$2>0 {print "mv",$1,"BAD/"}' | sh
whitehdr(wh) 将内存中文件的头段区覆盖磁盘文件中的头段区
直接使用,不需要任何参数。
注意:
write命令的over选项可以用内存中头段区和数据区覆盖磁盘文件中的头段区
和数据区。该命令用内存中头段区覆盖磁盘文件中的头段区,数据区不会被覆盖。
如果使用了cut命令,读取数据时将仅读入部分数据,内存中的头段区将会做
相应修改以反映cut命令的效果,但是磁盘中的数据并没有被修改,因而此时
不能使用writehdr命令。对被cut的数据使用writehdr命令将可能导致磁
盘中的数据产生类似于平移或截断的效果。
震相拾取(到时标定)
plotpk(ppk)命令(模式)
ppk # 进入ppk模式,进入后终端不在提示sac>;
# 如果之前打开过绘图,需要鼠标点击一下绘图窗口。
直接按下q,即可退出ppk模式。
注意:进入ppk模式所有键盘输入会解释为ppk命令。当焦点转移到终端时,键盘输入显示在
终端中,退出ppk模式时sac依次解释终端中的命令。
ppk模式下拾取震相
在绘图窗口,移动鼠标到标记到时位置,依次按下t、0,在标记处出现T0标记,并保存到相应名称头段变量中。
按q退出ppk模式。
wh # 保存头段变量
全局变量SAC_PPK_USE_CROSSHAIRS可以控制ppk下鼠标形态。0为十字,1为全图十型。
关闭快速绘图(显示图形时降采显示)
现代计算机性能足够,通常关闭快速绘图已获得最佳观感。qdp控制快速绘图开启与关闭。
qdp off # 关闭快速绘图
放大与缩小
光标移动到某一位置按下x键,再移动到另一个位置按下x键。两次键入确定了一个时间窗,
只显示该时间窗内的波形。
在窗口某位置按下左键拖动到另一位置实现框内波形放大。
键入o缩小图幅,但是只能回退5次。
同时标记三分量
使用命令:
ppk p 3 a m
显示三个波形数据。在ppk模式下:
键入 n 可以依次显示接下来的3个波形。波形显示完成后自动退出ppk模式。
键入 b 可以显示前3个波形。
注意:三个分量波形数据参考时刻必须相同;内存中存储的数据顺序需要符合需求。
ppk命令
详见ppk命令
plotpk
- perplot / n|ON|OFF 一张图绘制n个文件,on表示使用旧值,off表示绘制所有文件
- bell / on|off 绘图区内击键时是否响铃
- absolute|relative / / 绝对/相对绘图模式
- reference / v|on|off v表示参考线的参考值,on|off是否显示参考线
- markall / on|off 一次标记一张图上所有文件到时|指标及光标位置对应的震相到时
- sacelocs / on|off 是否将L命令拾取的位置保存到黑板变量中
标定P、S波
ppk模式可以键入:
p 标定P波到时,到时信息保存到头段变量A中
s 标定S波到时,到时信息保存到头段变量T0中。
键入e,震相onset类型,震相方向、震相质量等信息仅用于标记P、S波,这些信息会保留在头段变量KA或者KTO中。
例如:进入ppk模式,按下ed1p,KA中的值为EPD1,表示Emergent和极性向下的P波,震相质量为1表示震相清晰。
ppk修改版
信号叠加
SAC提供Signal Stack Subprocess(简称SSS)来实现。
进入和退出sss
sss # 键入sss进入子程序
quitsub # 退出子程序
quit # 退出sac
添加文件
sss # 进入子程序
addstack a.sac weight 1 delay 20 seconds
addstack 读入文件a.sac。
weight 设置文件在叠加中的权重,值为0-1。
delay 波形向后延迟。
liststack # 列出叠加文件列表中的文件属性
叠加文件
zerostack # 清除之前添加的文件和设置
addstack # 添加文件
timewindow 0 19 # 选定时窗,这里为0-19秒
sumstack # 叠加波形
注意:波形按照相对时刻对齐;叠加后会做归一化。