Seismic Unix简介

Seismic Unix(SU)是由科罗拉多矿业学院(Colorado School of Mines)开发的开源地震数据处理软件包,专为地震勘探数据分析和研究设计。它提供了一系列命令行工具,支持从数据加载、处理到可视化全流程操作,广泛应用于学术界和工业界。

核心特点

  • 开源免费:遵循GPL协议,允许用户自由修改和扩展。
  • 模块化设计:每个功能对应独立命令,可通过管道组合实现复杂流程。
  • 支持多种数据格式:兼容SEGY、SU等常见地震数据格式。
  • 跨平台:可在Linux、Unix及macOS系统运行,部分工具支持Windows(需Cygwin)。

主要功能模块

  • 数据处理:包含滤波、反褶积、速度分析、偏移成像等算法。
  • 可视化:通过xwigbsuximage等工具实现交互式图形显示。
  • 脚本支持:与Shell脚本、Python等结合,自动化处理流程。

安装与使用

  • 下载:官网(https://wiki.seismic-unix.org)提供源码包。
  • 编译:依赖C编译器及X11开发库,配置后通过make安装。
  • 示例命令
    suplane | suxwigb &  # 生成测试数据并显示波形  
    

应用场景

  • 科研教育:用于地震算法开发与教学演示。
  • 工业预处理:快速验证数据质量或原型开发。

Seismic Unix以轻量级和灵活性著称,适合需要高度定制化处理的用户。

unif2介绍

UNIF2 - generate a 2-D UNIFormly sampled velocity profile from a layered
model. In each layer, velocity is a linear function of position.

unif2 < infile > outfile [parameters]

Required parameters:
none

Optional Parameters:
ninf=5 number of interfaces
nx=100 number of x samples (2nd dimension)
nz=100 number of z samples (1st dimension)
dx=10 x sampling interval
dz=10 z sampling interval

npmax=201 maximum number of points on interfaces

fx=0.0 first x sample
fz=0.0 first z sample

x0=0.0,0.0,…, distance x at which v00 is specified
z0=0.0,0.0,…, depth z at which v00 is specified
v00=1500,2000,2500…, velocity at each x0,z0 (m/sec)
dvdx=0.0,0.0,…, derivative of velocity with distance x (dv/dx)
dvdz=0.0,0.0,…, derivative of velocity with depth z (dv/dz)

method=linear for linear interpolation of interface
=mono for monotonic cubic interpolation of interface
=akima for Akima’s cubic interpolation of interface
=spline for cubic spline interpolation of interface

tfile= =testfilename if set, a sample input dataset is
output to “testfilename”.

Notes:
The input file is an ASCII file containing x z values representing a
piecewise continuous velocity model with a flat surface on top. The surface
and each successive boundary between media are represented by a list of
selected x z pairs written column form. The first and last x values must
be the same for all boundaries. Use the entry 1.0 -99999 to separate
entries for successive boundaries. No boundary may cross another. Note
that the choice of the method of interpolation may cause boundaries
to cross that do not appear to cross in the input data file.
The number of interfaces is specified by the parameter “ninf”. This
number does not include the top surface of the model. The input data
format is the same as a CSHOT model file with all comments removed.

Example using test input file generating feature:
unif2 tfile=testfilename produces a 5 interface demonstration model
unif2 < testfilename | psimage n1=100 n2=100 d1=10 d2=10 | …

生成一个基本地层文件,这里使用1.0 -99999区分层结构,第一列是x轴坐标,第二列是y轴坐标。第一个点:x轴坐标0.0,y轴坐标1.0,第二个点:x轴坐标5.0,y轴坐标1.0为一个层结构。

 0.0         0.05.0         0.01.00000    -99999.00.0         1.05.0         1.01.00000    -99999.0

这个模型使用绘图指令可以得到简单的分层数据结构

#! /bin/sh
# Examples of producing single shot records with susynlv
#simple_circle.sh file
WIDTH=400
HEIGHT=400
XOFF1=0
XOFF2=315
XOFF3=630
XOFF4=945
YOFF1=50
YOFF2=500# Flat model and data
nx=101 fx=0 dx=0.05
nz=101 fz=0 dz=0.04
unif2 <simplemodel ninf=2 nx=$nx nz=$nz dx=$dx dz=$dz \v00=10.0,20.0 method=linear |
ximage  perc=99 title="Flat Model" windowtitle="Flat Model"\label1="Depth (km)" label2="Distance (km)" \n1=$nz f1=$fz d1=$dz  n2=$nx f2=$fx d2=$dx \wbox=${WIDTH} hbox=${HEIGHT} xbox=${XOFF1} ybox=${YOFF1} &exit 0

得到如下地层结构结果,下面稍微调整一下数据
在这里插入图片描述
这里设计三个点(0,2)(2,2)(5,1),三个坐标点连成一条线,结果如图所示:

    0.0         0.0              5.0         0.0              1.      -99999.0               0.0      2.0           2.0      2.05.0      1.0             1.      -99999.0             

在这里插入图片描述
在稍微复杂一点设计一个圆形结构:

0.0         0.0              
10.0         0.0              
1.      -99999.0               
5	2
5.4	2.39 
5.8	2.72 
6.2	2.93 
6.6	3.00 
7	2.91 
7.4	2.68 
7.8	2.33 
8.2	1.94 
1.      -99999.0  

在这里插入图片描述
这个结果看起来不好看,修改一下model文件

0.0         0.0              
10.0        0.0  
1.0      -99999.0 
0.       1.0
10.0      1.0             
1.0      -99999.0               
2		2.60 
2.4		2.83 
2.8		3.03 
3.2		3.16 
3.6		3.20 
4		3.15 
4.4		3.01 
4.8		2.80 
5.2		2.56 
5.6		2.33 
6		2.15 
6.4		2.03 
6.8		2.00 
7.2		2.07 
7.6		2.22 
8		2.43 
8.4		2.67 
1.0     -99999.0  

再次运行simple_circle.sh,可以得到如下结构

在这里插入图片描述
这个看起来有趣多。
这里还是可以再平滑一点。
速度文件如下:

0     	0
4000  	0
1      -99999
0		1000
500		1100
1000	1300
2000	1000
2700	1100
3200 	1000
4000	1050
1 		-99999

宏指令如下:

#! /bin/sh
# Examples of producing single shot records with susynlv#input parameters
modelfile=syncline.unif2
velfile=syncline.bin
n1=200
n2=400
d1=10
d2=10
#use unif2 to build the velocity profile
unif2 <$modelfile method=linear ninf=2 nx=$n2 nz=$n1 v00=1000,2000 \ninf=1 method=spline > $velfile
#veiw the velocity profile on the screen
ximage<$velfile wbox=400 hbox=400 n1=$n1 n2=$n2 d1=$d1 d2=$d2 \wbox=800 hbox=400 legend=1 title="Syncline model" label1="depth m"   \label2="distance m" units="m/s" &exit 0

得到如下结果:
在这里插入图片描述
后面将使用该模型惊醒地震波场的正反演测试。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/87694.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/87694.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/87694.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【逆向思考 并集查找】P2391 白雪皑皑|省选-

本文涉及知识点 C并集查找 P2391 白雪皑皑 题目背景 “柴门闻犬吠&#xff0c;风雪夜归人”&#xff0c;冬天&#xff0c;不期而至。千里冰封&#xff0c;万里雪飘。空中刮起了鸭毛大雪。雪花纷纷&#xff0c;降落人间。 美能量星球&#xff08;pty 在 spore 上的一个殖民地…

一文讲清楚React中setState的使用方法和机制

文章目录 一文讲清楚React中setState的使用方法和机制1. setState是什么2. setState方法详解2.1 setState参数详解2.2 setState同步异步问题2.2.1 setState异步更新2.2.2 setState同步更新 一文讲清楚React中setState的使用方法和机制 1. setState是什么 React中&#xff0c;…

01_软件卓越之道:功能性与需求满足

引言 在软件的世界里&#xff0c;功能性是产品与用户之间的第一桥梁。一个软件即使拥有华丽的界面和极致的性能&#xff0c;如果不能解决用户的核心需求&#xff0c;也终将被市场淘汰。本文将深入探讨如何确保软件的功能性与用户需求完美契合。 1. 需求理解&#xff1a;从模糊…

StarRocks × Tableau 连接器完整使用指南 | 高效数据分析从连接开始

一、导语&#xff1a;为什么选择 StarRocks Tableau 连接器&#xff1f; 在当今数据驱动的商业环境中&#xff0c;企业不仅需要一个能够处理海量数据的高性能分析数据库&#xff0c;还需要一个直观、强大的可视化工具来解读数据背后的故事。StarRocks 作为新一代极速全场景 MP…

基于 SpringBoot+VueJS 助农生鲜销售系统设计与实现7000字论文实现

摘要本论文设计并实现了一个基于 SpringBoot 和 VueJS 的助农生鲜销售系统。系统采用前后端分离架构&#xff0c;前端使用 VueJS 框架实现用户界面&#xff0c;后端使用 SpringBoot 框架构建服务&#xff0c;通过 MyBatis 实现数据持久化。系统实现了农产品展示、在线购物、订单…

Pytest 测试发现机制详解:自动识别测试函数与模块

概述 在编写自动化测试时,如何让 Pytest 自动找到你的测试代码 是一个非常基础但重要的问题。Pytest 通过其强大的 测试发现(Test Discovery)机制,能够自动扫描项目目录、识别测试模块和测试函数,从而大大简化了测试流程。 本文将为你详细讲解 Pytest 的测试发现机制,包…

MySQL 时间日期函数

时间日期类型 MySQL中主要支持以下几种时间日期类型&#xff1a; DATE - 日期类型 格式&#xff1a;YYYY-MM-DD范围&#xff1a;1000-01-01 到 9999-12-31示例&#xff1a;2023-05-20 TIME - 时间类型 格式&#xff1a;HH:MM:SS范围&#xff1a;-838:59:59 到 838:59:59示例&…

408第三季part2 - 计算机网络 - 物理层

理解 这里有8个波形&#xff0c;每个波形代表一个马原&#xff0c;一个马原代表多个比特&#xff0c;这里3个比特 求波特率就直接2W 求比特率就要乘log2V 这块记两公式就行&#xff0c;一个下面一个上面 题目 4个相位加4种幅度就是有16种波形 这里无噪声就是奈奎斯特定理 这…

iOS 集成RN Installing glog (0.3.5)报错的解决方案

在集成执行RN bundle exec pod install 命令到Installing glog (0.3.5)时报错,报错信息如下: Installing glog (0.3.5) [!] /bin/bash -c set -e #!/bin/bash # Copyright (c) Facebook, Inc. and its affiliates. # # This source code is licensed under the MIT license …

【进阶篇-消息队列】——MQTT协议如何支持海量的在线IoT设备

目录 一、什么是IoT二、MQTT 和其他消息队列的传输协议有什么不同三、如何选择 MQTT 产品四、MQTT 集群如何支持海量在线的 IoT 设备五、总结本文来源:极客时间vip课程笔记 一、什么是IoT IoT,也就是物联网,物联网这个词儿,它的含义还不那么直观,但你看它的英文:IoT,也就…

Chat Model API

聊天模型API为开发人员提供了将人工智能聊天完成功能集成到应用程序中的能力。它利用预训练的语言模型&#xff0c;如GPT&#xff08;生成预训练转换器&#xff09;&#xff0c;以自然语言对用户输入生成类似人类的响应。 API通常通过向人工智能模型发送提示或部分对话来工作&…

【黑群晖】自组硬件/旧电脑nas改造(三)——使用Jellyfin创建家庭影音库

一、打开套件中心安装Jellyfin套件 如果找不到Jellyfin套件&#xff0c;需要手动添加三方套件源&#xff1a; 《群晖NAS必学技能&#xff1a;一键解锁三方套件源&#xff0c;PT下载影音播放全搞定&#xff01;》 二、配置Jellyfin 访问http://群晖IP:8096 进入Jellyfin初始化界…

泰山派编译debian报错 lb config: unrecognized option ‘--debootstrap-options‘

简介 最近在编译泰山派 编译buildroot系统正常&#xff0c;但是编译debian时总是报错说lb 找不到一些参数&#xff0c;如下图所示&#xff0c;应该当前的版本较低 不支持这些参数&#xff0c;我试了很多方法 升级次版本 但是提示的是最新的&#xff0c;最后经过一番搜索 在官方…

跨境证券交易系统合规升级白皮书:全链路微秒风控+开源替代,护航7月程序化交易新规落地

1 行业变革&#xff1a;四重驱动力重塑证券交易系统 当前全球证券行业正处于深刻变革期&#xff0c;跨境金融活动面临前所未有的机遇与挑战。今日央行开展的1310亿元7天期逆回购操作&#xff0c;以及国家外汇管理局向合格境内机构投资者(QDII)新增发放30.8亿美元投资额度等政策…

Node.js核心API(fs篇)

前言&#xff1a;在Node.js生态系统中&#xff0c;文件系统操作是后端开发不可或缺的一部分。fs模块作为Node.js核心API的重要组成部分&#xff0c;提供了与文件系统交互的能力&#xff0c;涵盖了从基础的文件读写到复杂的目录操作等功能。现代JavaScript开发中&#xff0c;处理…

HarmonyOS学习2---Stage模型

1、工程目录结构 1.1、入口 UIAbility 1.2、入口page 1.3、配置文件 1、配置文件 1&#xff09;应用级配置文件 --- app.json5 2&#xff09;模块级配置文件 --- module.json5 3、oh-package.json5 4、资源文件 1&#xff09;element目录 2&#xff09;media目录 3&#xff09…

【软件工程】软件复刻项目的完整流程指南

软件复刻项目的完整流程指南 第一章、概述 一、前期准备&#xff1a;明确目标与合规性 1. 法律风险评估 版权排查&#xff1a;确认目标软件的 UI 设计、代码、商标是否受保护&#xff08;如界面元素、核心算法是否申请专利&#xff09;。规避侵权&#xff1a;避免直接复制 …

浅谈Python 中的当前工作目录与脚本目录

Python 中的 os.path.exists() 和 __file__ 使用陷阱&#xff1a;工作目录 ≠ 脚本目录 在使用 os.path.exists() 或 open() 等函数操作文件路径时&#xff0c;笔者常常忽略一个关键概念&#xff1a;当前运行目录&#xff08;Current Working Directory, CWD&#xff09;并不等…

iOS检测并阻止骚扰电话的方法

检测并阻止骚扰电话 你可以在 iPhone 上使用“将未知来电者设置为静音”或第三方 App 来阻止骚扰电话。 打开“将未知来电者设置为静音” 在 iOS 13 及更高版本中&#xff0c;你可以打开“静音未知来电”&#xff0c;以免接到陌生人的来电。这一功能可以阻止那些你从未联系过…

TensorFlow源码深度阅读指南

TensorFlow源码深度阅读指南 本文基于《TensorFlow内核剖析》附录A的代码阅读方法论&#xff0c;结合实例解析核心源码阅读技巧&#xff08;含关键图示&#xff09;&#xff1a;一、源码阅读的四个维度 1. 分层切入策略&#xff08;图A-1&#xff09; #mermaid-svg-ooLMzaWU5ky…