📄 velan.nmo
字号:
#! /bin/sh# Velocity analyses for the cmp gathers# Authors: Dave, Jack# NOTE: Comment lines preceeding user input start with #!##set -x#!# Set parametersvelpanel=cdpby100alldata=cdp201to800#alldata=cdp201to800.pack # if not packed, zap call to suunpack2 belowvpicks=stkvel.pnormpow=0slowness=0cdpmin=301cdpmax=800dcdp=200ncdp=3 # window of cdps to nmo on each side of current onefold=30#!# Set velocity sampling.nv=51 dv=30 fv=1500f1=3 f2=6 f3=30 f4=36### Get header infonout=`sugethw ns <$velpanel | sed 1q | sed 's/.*ns=//'`dt=`sugethw dt <$velpanel | sed 1q | sed 's/.*dt=//'`dxout=`bc -l <<END $dt / 1000000END`### Do the velocity analyses.echo "Pick velocities by moving mouse and typing 's', type 'Q' when done"cdp=$cdpminwhile [ $cdp -le $cdpmax ]do ok=false while [ $ok = false ] do echo "Starting velocity analysis for cdp $cdp" suwind <$velpanel key=cdp min=$cdp max=$cdp count=$fold | sugain tpow=2 | sufilter f=$f1,$f2,$f3,$f4 | suvelan nv=$nv dv=$dv fv=$fv \ normpow=$normpow slowness=$slowness | suximage bclip=0.2 wclip=0.0 f2=$fv d2=$dv \ label1="Time (sec)" label2="Velocity (m/sec)" \ title="Velocity Scan for CMP $cdp" \ grid1=solid grid2=solid cmap=default \ mpicks=mpicks.$cdp sort <mpicks.$cdp -n | mkparfile string1=tnmo string2=vnmo >par.$cdp edit=true echo "Edit velocity picks? (y/n) " >/dev/tty read response case $response in n*) edit=false ;; y*) edit=true ;; esac if [ $edit = true ] then vi par.$cdp fi echo "Putting up velocity function for cdp $cdp" sed <par.$cdp ' s/tnmo/xin/ s/vnmo/yin/ ' >unisam.p unisam nout=$nout fxout=0.0 dxout=$dxout \ par=unisam.p method=spline | xgraph n=$nout nplot=1 d1=$dxout f1=0.0 \ label1="Time (sec)" label2="Velocity (m/sec)" \ title="Stacking Velocity Function: CMP $cdp" \ grid1=solid grid2=solid \ linecolor=2 style=seismic & pause look=false echo "Look at nmo of nearby cdps? (y/n) " >/dev/tty read response case $response in *y) look=true ;; *n) look=false ;; esac if [ $look = true ] then echo "Putting up nmo of nearby cdps (takes time)" min=`bc -l <<END $cdp - $ncdpEND` max=`bc -l <<END $cdp + $ncdpEND` count=`bc -l <<END $fold * ($max - $min + 1)END` d2=`bc -l <<END 1/$foldEND` suwind <$alldata key=cdp \ min=$min max=$max count=$count | sunmo par=par.$cdp | sugain tpow=2 gpow=0.5 | suximage f2=$min d2=$d2 \ perc=99 grid1=solid label1="Time (sec)" \ title="NMO of CMPs $min to $max" & pause continue \(may want to wait for nmo to come up\) fi echo "Picks OK? (y/n) " | tr -d "\012" >/dev/tty read response case $response in n*) ok=false ;; *) ok=true ;; esac done </dev/tty cdp=`bc -l <<END $cdp + $dcdpEND`done#set +x### Combine the individual picks into a composite sunmo par fileecho "Editing pick files ...">$vpicksecho "cdp=" | tr -d "\012" >>$vpickscdp=$cdpminecho "$cdp" | tr -d "\012" >>$vpickscdp=`bc -l <<END $cdp + $dcdpEND`while [ $cdp -le $cdpmax ]do echo ",$cdp" | tr -d "\012" >>$vpicks cdp=`bc -l <<END $cdp + $dcdpEND`doneecho >>$vpickscdp=$cdpminwhile [ $cdp -le $cdpmax ]do cat par.$cdp >>$vpicks cdp=`bc -l <<END $cdp + $dcdpEND`doneecho "sunmo par file: $vpicks is ready"### Clean upcdp=$cdpminwhile [ $cdp -le $cdpmax ]do rm mpicks.$cdp par.$cdp cdp=`bc -l <<END $cdp + $dcdpEND`donerm unisam.p
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -