up [pdf]
from rsf.proj import *
import sys
sys.path.append('..')
import fdmod,wemva

# ------------------------------------------------------------
par = {
    'nz':400,  'dz':0.005, 'oz':0, 'uz':'km',
    'nx':800,  'dx':0.015, 'ox':0, 'ux':'km',
    'nt':2000, 'dt':0.004, 'ot':0, 'ut':'s',
    'nw':240, 'ow':1, 'jw':1,
#    
    'vel':2,
    'frq':8,
    'tmin':0.0,
    'tmax':3.0
    }

par['pscale']=0.90
par['pshift']=-2.5

#par['nspk']=5
#par['ospk']=0
#par['jspk']=30

par['nspk']=1
par['ospk']=4
par['jspk']=30

par['k1']=50
par['l1']=par['nx']-par['k1']

wemva.param(par)
fdmod.param(par)

# ------------------------------------------------------------
# VELOCITY
Flow('vel',None,
     '''
     math n1=%(nz)d d1=%(dz)g o1=0 output="1.5+x1" |
     spray axis=2 n=%(nx)d o=%(ox)g d=%(dx)g |
     put label1=z label2=x label3=y 
     ''' % par )
Plot('vel',fdmod.cgrey('allpos=y bias=1.5',par))

# REFLECTIVITY
Flow('ref',None,
     '''
     spike nsp=1 mag=1 
     n1=%(nx)d d1=%(dx)g o1=%(ox)g k1=%(k1)g l1=%(l1)g
     n2=%(nz)d d2=%(dz)g o2=%(oz)g k2=350 |
     smooth rect1=25 repeat=3 |
     spray axis=2 n=1 o=0 d=1 |
     put label1=x label2=y label3=z 
     ''' % par )
Plot('ref','window | transp |'
       + fdmod.cgrey('pclip=100',par))
# ------------------------------------------------------------
Flow('vvv','ref','window | transp | math output=%(vel)g' % par)
Flow('img',['ref','vvv'],
     '''
     window | transp |
     depth2time velocity=${SOURCES[1]} dt=%(dt)g nt=%(nt)d |
     ricker1 frequency=%(frq)g |
     time2depth velocity=${SOURCES[1]} dz=%(dz)g nz=%(nz)d |
     transp |
     spray axis=2 n=1 o=0 d=1 |
     put label1=%(lx)s label2='' label3=%(lz)s 
     ''' % par )
Plot('img','window | transp |' + fdmod.cgrey('pclip=99.9',par))

# ------------------------------------------------------------
Flow('jsk','ref',
     '''
     window |
     smooth rect2=11 repeat=5 |
     scale axis=123 |
     clip clip=0.1 |
     scale axis=123 |
     transp plane=23
     ''')
Flow(  'msk','jsk jsk','cmplx ${SOURCES[1]}')
Result('msk','real | window | transp |' + fdmod.cgrey('pclip=99.9',par))

# ------------------------------------------------------------
wemva.test(par)
# ------------------------------------------------------------

End()

sfmath
sfspray
sfput
sfgrey
sfspike
sfsmooth
sfwindow
sftransp
sfdepth2time
sfricker1
sftime2depth
sfscale
sfclip
sfcmplx
sfreal
sfcat
sfdd
sfgraph
sffft1
sfpad
sfrtoc
sfzomig3
sfzomva
sfsrmod3
sfsrsyn
sfsrmig3
sfsrmva