⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 velan.nmo.ksh

📁 su 的源代码库
💻 KSH
字号:
#! /bin/ksh# Velocity analyses for the cmp gathers# Authors: Dave, Jack# NOTE: Comment lines preceeding user input start with  #!##set -x#!# Set parametersvelpanel=cdpby100alldata=cdp201to800.pack        # if not packed, zap call to suunpack2 belowvpicks=stkvel.pnormpow=0slowness=0integer cdpmin=301integer cdpmax=800integer dcdp=200#integer dcdp=100integer ncdp=3  # window of cdps to nmo on each side of current oneinteger min max countinteger fold=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.#print "Pick velocities by moving mouse and typing 's', type 'Q' when done"integer cdp=cdpminwhile ((cdp <= cdpmax))do        ok=false        while [[ $ok = false ]]        do                print "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=false                PS3='Edit velocity picks? (Select number) '                select i in yes no                do                        case $i in                        (yes) edit=true                        break;;                        (no)  edit=false                        break;;                        (*)   print 'Invalid number';;                        esac                done                if [[ $edit = true ]]                then                        vi par.$cdp                fi                print "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                PS3='Look at nmo of nearby cdps? (Select number) '                select i in yes no                do                        case $i in                        (yes) look=true                        break;;                        (no)  look=false                        break;;                        (*)   print 'Invalid number';;                        esac                done                if [[ $look = true ]]                then                        print "Putting up nmo of nearby cdps (takes time)"                        min=cdp-ncdp max=cdp+ncdp count=fold*(max-min+1)                        d2=$(bc -l <<-END                                1/$fold                        END)                        suunpack2 <$alldata |                        suwind 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                PS3='Picks OK? (Select number) '                select i in yes no                do                        case $i in                        (yes) ok=true                        break;;                        (no)  ok=false                        break;;                        (*)   print 'Invalid number';;                        esac                done        done        cdp=cdp+dcdpdoneset +x### Combine the individual picks into a composite sunmo par fileprint "Editing pick files ...">$vpicksprint -n "cdp=" >>$vpickscdp=cdpminprint -n "$cdp" >>$vpickscdp=cdp+dcdpwhile ((cdp <= cdpmax))do        print -n ",$cdp" >>$vpicks        cdp=cdp+dcdpdoneprint >>$vpickscdp=cdpminwhile ((cdp <= cdpmax))do        cat par.$cdp >>$vpicks        cdp=cdp+dcdpdoneprint "sunmo par file: $vpicks is ready"### Clean upcdp=cdpminwhile ((cdp <= cdpmax))do        rm mpicks.$cdp par.$cdp        cdp=cdp+dcdpdonerm unisam.p

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -