學習SU的壹個重要途徑是利用強大的幫助工具,幫助命令有很多。
#name-得到該命令的相關用法及參數
e.g. #suximage
#sudoc-得到編碼的DOC列表及命令和源程序的位置
e.g. #sudoc suximage
#sufind-查找相關命令及用法
e.g. #sufind dmo
另外,SU系統有壹套演示程序,放在$CWPROOT/src/demos目錄下。進入這壹目錄,可以發現有很多文件夾,每個文件夾包含了SU各個模塊的演示程序,進入這些文件夾,根據README文件的操作提示,壹步壹步執行裏面的shell程序,就可以看到演示結果。
$cd $CWPROOT/src/demos
$cd nmo
$cat README
$./MakeData
SU系統只能對SU格式的數據進行處理,因此對數據處理之前先要將該數據轉化為SU數據。SU數據格式只含有SEGY格式的道頭和數據記錄,不含有EBCDIC卡片頭和卷頭。
1.Segyread-segy格式轉換為su格式
#segyread tape=test.sgy endian=0 | segyclean > test.su
su轉segy
#segyhdrs < *.su | segywrite tape=*.sgy endian=0
2.Suedit-查看或編輯道頭信息
#suedit <stdin
3.suaddhead-給二進制數據加道頭
#suaddhead <stdin >stdout ns=750
4.sushw-設置地震道頭字
#sushw < stdin key=cdp,offset a=10,0 b=2,0 >stdout
5.sustrip-去掉道頭
#sustrip <stdin >stdout
6.susort-抽道集
#susort <stdin >stdout cdp offset
7.suwind-截取數據
#suwind <stdin >stdout key=cdp min=100 max=200
8.suximage-變密度顯示su數據
#suximage <stdin title=‘name’ perc=99&
9.suxwigb-變波形+變面積顯示su數據(用法與8相同)
#suxwigb <stdin title=‘name’ perc=99&
10.ximage-變密度顯示二進制數據
#ximage n1=750 title=‘name’ <stdin perc=99&
11.xwigb-變波形+變面積顯示二進制數據(用法與10相同)
#xwigb n1=750 title=‘name’ <stdin perc=99&
12.suaddnoise-對地震道加噪聲
#suaddnoise <stdin >stdout sn=20
13.sugazmig-Gazdag F-K域疊後偏移
#sugazmig <stdin >stdout vfile=vel.bin dt=0.004 dx=15.0
14.sugethw 提取數據道頭信息
#sugethw <*.su key=offset,cdp |more
15.Swapbytes 高低位格式轉換
#swapbytes <stdin endian=0 >stdout
16.sugethw 獲取道頭字信息
顯示道頭字
sugethw <sudata key=key1,key2,... | more
以文件形式存儲道頭字
#sugethw < sudata key=key1,key2,... output=geom > hdrfile
17.velconv速度場轉換
可以對深度域層速度、時間域層速度、時間域均方根速度之間進行轉化
以深度域層速度轉時間域均方根速度為例:
#velconv < mar_v.bin > mar_vrmst.bin intype=vintz outtype=vrmst nz=750 dz=4.0 nt=750 dt=0.004
SU系統的命令可以和Unix系統的命令結合起來,因此可以進行su shell編程,設計特定的處理流程:
#vi plot
#!/bin/bash
#cd /data
#suwind <test.su >test_cmp.su key=cdp min=100 max=100
#suximage <test_cmp.su
#chmod +x plot
#./plot
另外,我們也可以修改或者擴充su的源代碼,使其更加符合自己的處理要求。在此不詳細介紹。