rcvfn
- 简介:
计算平面入射 P 或 SV 波的接收函数及自由表面位移响应
语法
grt rcvfn -Mmodel ( -Prayp | -Iinca[/idx] ) -TP|S -Nnt/dt[+wzeta][+nfac][+a][+f] -Ooutdir [ -Aalp ] [ -Edelay ] [ -W ] [ -s ] [ -h ]
描述
rcvfn 模块将入射波视为沿指定水平射线参数传播的单位平面波,在一维水平层状半空间中计算其到达自由表面后的 P-SV 响应。 入射波从模型底部半空间,或 -I 指定的模型层,向上入射。
默认只保存接收函数;设置 -W 后,还会保存单位入射位移对应的 Z/R 响应。 具体公式详见 平面入射 P-SV 波接收函数的计算公式。
SAC 头段中的 user0 保存虚频系数 \(\omega_I\),resp0 保存水平射线参数 rayp (s/km)。 高斯滤波参数 alp (Hz) 保存到 resp1,入射类型和输出类型分别保存到 resp2 和 resp3。 这些字段均为浮点类型。 入射类型 0/1 对应 P/SV;输出类型 0/1/2 对应接收函数比值/垂向位移/径向位移。
必选选项
- -Mmodel
半空间层状模型文件的路径。模型格式如下:
Thickness(km) Vp(km/s) Vs(km/s) Rho(g/cm^3) [Qp] [Qs]
后两列的 Qp, Qs 可省略。
如果首列首行的值为正数,则首列表示 每层厚度 (km) ,最后一层为半空间,其厚度设置为 0 即可(不会被使用)。
如果首列首行的值为 0,则首列表示 每层层顶深度 (km) 。
如果某层设置 Vs = 0,则该层为液体层。
- -Prayp
直接设置水平射线参数,单位为 s/km,要求为正且有限。它与 -I 互斥。 对于入射波速度 \(V\) 和从竖直方向量起的入射角 \(\theta\),二者满足 \(\mathit{rayp}=\sin\theta/V\)。实际入射波类型由 -T 指定。
- -Iinca[/idx]
通过入射角设置水平射线参数,入射角单位为度,取值范围为 \([0,90)\)。 idx 是从模型底部反向计数的层号:idx=0 表示底部半空间,
idx=1表示其上方一层,依此类推;省略时默认为idx=0。 程序使用所选层的入射波速度按 \(\mathit{rayp}=\sin\theta/V\) 换算,并将模型截取到该入射层。 它与 -P 互斥。
- -TP|S
选择入射波类型。
P表示 P 波,S表示 SV 波;本模块的S不表示 SH 波。
- -Nnt/dt[+wzeta][+nfac][+a][+f]
采样点数 nt 和采样时间间隔 dt (secs) ,这将决定计算的最高频。还可设置:
+wzeta - 虚频率系数 \(\zeta\) [0.8]。 Bouchon, 1981 提出在频率上添加一个虚频率偏移, \(\omega \leftarrow \omega - i \zeta \dfrac{\pi}{T}\) , 其中 \(T\) 为时窗长度 nt*dt,以使计算适当偏移实轴上的极点。
+nfac - 频率域插值倍数[1]。即在做逆傅里叶变换时,在频域上最高频后补零, 相当于 nt ← nt * fac , dt ← dt / fac ,使计算的波形更平滑。
+a - 计算所有频点,不论频率多低。除非做数值实验,否则不建议使用该选项。 默认情况下,程序会跳过非常低频的几个点以避免引入误差, 详见 解决“波形漂移”问题 的介绍。
+f - 不进行由虚频率引起的振幅补偿。 默认情况下,程序会对时间域结果乘上 \(\exp(\frac{\zeta \pi}{T} t)\) 进行振幅补偿, 但当时窗长度远超有效信号的长度时,这种补偿会放大尾部噪声。
注: 当时窗长度 nt*dt 太小“包不住”有效信号,或时窗长度足够但时延(-E)不合适,输出的波形会发生混叠, 此时需调整 -N 和 -E 。
- -Ooutdir
输出目录名,不存在会自动新建。若存在同名保存路径则直接覆盖已有结果。
可选选项
- -Aalp
设置高斯低通滤波参数 alp,单位为 Hz,默认值为 1.0。频域滤波函数为
\[H(f)=\exp\left[-\left(\frac{\pi f}{\mathit{alp}}\right)^2\right]\]对应的特征拐角频率约为 \(\mathit{alp}/\pi\)。
- -Edelay
增加附加延迟,单位为 s。 程序内部会自动安排一部分延迟, 只有在需要更长的起始时间时才需要设置该选项。 尤其是 S 波入射时,S 波到时前后都需要足够的时窗以防止混叠,此时需调整 -N 和 -E 。
- -W
除接收函数外,同时输出单位入射位移对应的垂向和径向响应。
- -s
静默输出,不在终端打印参数和进度条。
- -h
打印帮助文档。