Coder Social home page Coder Social logo

oh-my-cap's Issues

请教:去除仪器响应的问题

我在教程中看到:数据必须去除仪器响应得到位移或速度记录,单位为 cm 或 cm/s
我在使用seed文件中提取的PZ文件去除仪器响应后,(得到的结果据说单位是m)将结果乘以100,然后按照流程进行得到的反演结果看起来不太对。很多波形图超出边界,且计算出的震级与地震目录中的震级相差较大。
请问通过PZ文件去除仪器响应后是否有不一样的处理步骤?

下一个版本的新特性清单

  1. 考虑到可能需要在工作区内放置一些文件,比如自己写的脚本,而又不想加入 repo 中,可
    以用 i_ 开头,则会忽略

参数文件中参数名命名

数据预处理:
DT CAP里的-H参数,重采样的周期
FREQ 去仪器相应的四个频率

反演:
DEPTH 反演的深度
GREEN -G参数
MODEL 格林函数model
PLOT cap的-p参数,绘图
SHIFT cap -s
P_WINDOW 反演P窗口
S_WINDOW S窗口
WEIGHTFILE 权重文件
P_FILTER CAP -c参数里的滤波
S_FILTER 同上

以下三个我想不出合适名字:
-D
-W: 1
-X: 10

需要完善的条目

  1. 格林函数的计算,增加并行计算的脚本
  2. 安装方法考虑为所用计算机账户安装的问题

检查 gCAP 的做图脚本

  1. 目前怀疑机制球台站位置绘制有错
  2. 如果台站数很多,可能不能全部画上

以上问题需要检查

增加批量处理事件的脚本

  1. 新建脚本 build.pl: 读取事件目录文件,根据文件内容找到seed文件,然后建立对应的工作目录,把相应的事件信息保存为文本,将这个文本文件和seed文件移动到工作目录中去。
  2. 新建脚本do_process.pl: 根据事件目录文件,去调用process.pl预处理各个事件。
  3. 新建脚本do_inversion.pl:根据事件目录文件,去调用inversion.pl反演各个事件。

关于 dt

共三个地方涉及到了 dt:

  1. 格林函数
  2. 数据
  3. cap.pl-H 选项

需要做的是:

  1. 确认三个 dt 是否一定要相等
  2. 若1成立,则修改源码使得其检测这一条件是否成立

需要确认psmeca命令作图存在bug,并寻找替代方案

#!/bin/bash
psmeca -P -JX0/10 -R-5/5/-5/5 -Sm8 -G100 -Y9.5 -X-0.7 > 1.ps <<EOF
0 0 0 -0.3 -1 -0.650 0 0 0 17
1 1 0 -0.3 -1 -0.649 0 0 0 17
EOF
ps2raster -E1080 -P -Tf 1.ps

使用以上内容作图,可以看到两个机制解其中一个黑色,然而这两个机制解应该均为白色。我这边作图结果是1.pdf

确定例子事件

根据 gCAP 的官方版本中包含的例子中的sac文件的事件时间和经纬度信息,基本确认该事件是 IRIS 上的 2725882事件,但相关信息并不完全一致,请@seisman 确认

gcap安装

老师您好,我是用里面的gcap时一直有问题
#报错:can‘t exec 'cap.pl':NO such...
请问是gcc要降到3.4版本的吗
另外,请问咱们是否有qq群这样的交流平台大家可以方便交流

参数的整理

  1. 把 inversion.md 中对参数的介绍合并到 parameter.md 中,然后删除 inversion.md 中的部分,因为 inversion 的目的只是为了让读者对整个流程有一个认识而已。参数可以介绍,但没有必要这么复杂,想知道每个参数是什么含义就去看 parameters.
  2. parameter.md 这个文件的格式要重新整理一下,现在的文档完全没有格式可言;
  3. 搞不定的参数就空哪里空着,不要删除

删除不良数据

考虑在生成权重文件的脚本中加一段判断:如果 t9 不是 -12345,这个数据权重为0。

FK展平变换的说明

震源深度和模型速度的变换和地震学引论中一致。但是,模型界面深度和地震学引论中公式不同:
代码中的公式是 h'=r_0/(r_0-d+1/2h),h是变换前的地层厚度,d是地层上界面的深度,r_0是地球半径,h'是变换后的地层厚度。
书中没有直接给出公式,可用深度的公式做推导:
aebd231ec4cf5b2b66ce78c6e71847a6

请教:计算单力源和爆炸型震源时,程序报错。

请教一个问题:计算单力源和爆炸型震源时,程序报错。非常感谢!
命令行为:$ fk.pl -Mhk/15/k -N1024/0.1 -S0 -U0 10。(计算爆炸型震源时)。 程序默认的-S2(双力偶型震源)
报错:Program received signal SIGFPE: Floating-point exception - erroneous arithmetic operation.
Backtrace for this error:
#0 0x7f8eac02532a
#1 0x7f8eac024503
#2 0x7f8eab8b9fcf
#3 0x559541734f9f
#4 0x559541734922
#5 0x5595417329db
#6 0x55954173380b
#7 0x7f8eab89cb96
#8 0x5595417313e9
#9 0xffffffffffffffff
hk_15/10.grn.0
Unable to open hk_15/10.grn.0
hk_15/10.grn.5
Unable to open hk_15/10.grn.5

确认 TauP 是否必须

  1. 确认 TauP 在整个流程中的作用
  2. 若 TauP 非必须,则需要在 marktime.pl 中对是否安装了 TauP 进行检测。若未安装,则直接跳过标记理论到时

如何降低波形拟合残差

请教老师,在导入自己的数据进行数据处理完之后,发现自己的波形拟合残差有点大,应该如何降低呢?
3b0002a9e1114e1ddcde667aede1f06

gCAP输出的结果

反演的矩张量结果保存在.out的结果文件中# MomentTensor那一行。
官方脚本是这样传入gmt绘图的:
$plt3 = "| psmeca -JX1/1 -R-1/1/-1/1 -Sm8 -G100 -Y9.5 -X-0.7 -O -K >> $outps" if $tensor[1] eq "MomentTensor";
open(PLT, $plt3);
printf PLT "0 0 0 @tensor[9,4,7,6] %f %f 17\n",-$tensor[8],-$tensor[5];
因为GMT的psmeca中,所用的是RTP/RTF/USE坐标系。所以得到对应关系(MOPAD默认用NED):
9 4 7 6 -8 -5 = mrr, mtt, mff, mrt, mrf, mtf = dd nn ee dn -de -ne
或者说:
4 5 6 7 8 9 = nn ne dn ee de dd

gmt6depth.pl报错

Ubuntu22.04 编译安装GMT6.1.1,运行示例perl gmt6depth.pl 20080418093658时报错
gmt [ERROR]: Shared GMT module not found: basemap

ERROR: No module named basemap was found. This could mean one of four cases:

  1. There actually is no such module; please check your spelling.
  2. You used a modern mode module name while running in GMT classic mode.
  3. Module exists in the GMT supplemental library, but the library could not be found.
  4. Module exists in a GMT custom library, but none was specified via GMT_CUSTOM_LIBS.
    Shared libraries must be in standard system paths or set via environmental parameter LD_LIBRARY_PATH.

gmt [ERROR]: Shared GMT module not found: plot

ERROR: No module named plot was found. This could mean one of four cases:

  1. There actually is no such module; please check your spelling.
  2. You used a modern mode module name while running in GMT classic mode.
  3. Module exists in the GMT supplemental library, but the library could not be found.
  4. Module exists in a GMT custom library, but none was specified via GMT_CUSTOM_LIBS.
    Shared libraries must be in standard system paths or set via environmental parameter LD_LIBRARY_PATH.

meca [ERROR]: Internal Failure = GMT_MAP_BAD_LAT_MAX
meca (GMT_psmeca): North is outside -90 to +90 degree range

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.