【seismic unix數據生成-unif2】

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…