from rsf.proj import *
import fdmod,encode,wei,adcig,polar
import math
par = {
'nt':2000, 'ot':0, 'dt':0.008, 'lt':'t', 'ut':'s',
'nx':1167, 'ox':0, 'dx':0.03, 'lx':'x', 'ux':'km',
'ny':1333, 'oy':0, 'dy':0.03, 'ly':'y', 'uy':'km',
'nz':1501, 'oz':0, 'dz':0.01, 'lz':'z', 'uz':'km',
'osx':3.050, 'dsx':0.6, 'lsx':'sx', 'usx':'km',
'osy':3.025, 'dsy':0.6, 'lsy':'sy', 'usy':'km',
'nrx':661, 'drx':0.03, 'lrx':'rx', 'urx':'km',
'nry':661, 'dry':0.03, 'lry':'ry', 'ury':'km'
}
parmig=par.copy()
fdmod.param(par)
par['orx']=-(par['nrx']-1)/2*par['drx']
par['ory']=-(par['nry']-1)/2*par['dry']
par['jx']=1
par['jy']=1
par['jz']=2
par['nzmig']=300
par['nypad']=70/par['jy']
par['nxpad']=70/par['jx']
par['hmx']=((par['nry']-1)/2/par['jy']+par['nypad'])
par['hmy']=((par['nry']-1)/2/par['jy']+par['nypad'])
par['nmx']=par['hmx']*2
par['nmy']=par['hmy']*2
par['nw']=160
par['ow']=1
par['jw']=2
par['nrmax']=5
par['tmx']=32
par['tmy']=32
wei.wempar(par)
parmig['nx']=150
parmig['ox']=18
parmig['dx']=par['dx']*2
parmig['ny']=150
parmig['oy']=8.0
parmig['dy']=par['dy']*2
parmig['nz']=par['nzmig']
parmig['dz']=par['dz']*par['jz']
fdmod.param(parmig)
section=' screenratio=0.375 screenht=5.0 min2=16 max2=32 max1=6'
overlay=' screenratio=0.375 screenht=5.0 min1=16 max1=32 max2=6'
def greyyx(custom,par):
return '''
grey title="" pclip=100 gainpanel=a
min1=%g max1=%g label1="\F2 %s\F3" unit1=%s
min2=%g max2=%g label2="\F2 %s\F3" unit2=%s
screenratio=%f screenht=10
%s
'''% (
par['ymax'],par['ymin'],par['ly'],par['uy'],
par['xmin'],par['xmax'],par['lx'],par['ux'],
1.0*par['ny']/par['nx'],
par['labelattr']+' '+par['labelrot']+' '+custom)
def graphyx(custom,par):
return '''
dd type=complex |
graph title="" labelrot=n wantaxis=n yreverse=n
min2=%g max2=%g label2="\F2 %s\F3" unit2=%s
min1=%g max1=%g label1="\F2 %s\F3" unit1=%s
screenratio=%g screenht=10
%s
''' % (
par['ymin'],par['ymax'],par['ly'],par['uy'],
par['xmin'],par['xmax'],par['lx'],par['ux'],
1.0*par['ny']/par['nx'],
par['labelattr']+' '+par['labelrot']+' '+custom)
def greyzx(x,custom,par):
return '''
grey title="" pclip=100 gainpanel=a
min1=%g max1=%g label1="\F2 %s\F3" unit1=%s
min2=%g max2=%g label2="\F2 %s\F3" unit2=%s
screenratio=%g screenht=10
%s
''' % (
par['zmin'],par['zmax'],par['lz'],par['uz'],
x-par['hmx']*par['drx']/2,
x+par['hmx']*par['drx']/2,par['lx'],par['ux'],
1.0*(par['nz']*par['dz'])/(par['nmx']*par['drx']/2),
par['labelattr']+' '+par['labelrot']+' '+custom)
def graphzx(custom,par):
return '''
dd type=complex |
graph title="" labelrot=n wantaxis=n yreverse=y
min1=%g max1=%g label1="\F2 %s\F3" unit1=%s
min2=%g max2=%g label2="\F2 %s\F3" unit2=%s
screenratio=%g screenht=10
%s
''' % (
par['zmin'],par['zmax'],par['lz'],par['uz'],
par['xmin'],par['xmax'],par['lx'],par['ux'],
1.0*(par['nmx']*par['drx']/2)/(par['nz']*par['dz']),
par['labelattr']+' '+par['labelrot']+' '+custom)
fdmod.boxarray('ss2793',
57,par['osy'],par['dsy'],
49,par['osx'],par['dsx'],par)
Plot('ss2793',graphyx('plotfat=3 symbol=. plotcol=1',par))
fdmod.boxarray('ss0725',
29,par['osy'],par['dsy']*2,
25,par['osx'],par['dsx']*2,par)
Plot('ss0725',graphyx('plotfat=3 symbol=. plotcol=2',par))
fdmod.boxarray('ss0357',
21,par['osy']+4*(2*par['dsy']),par['dsy']*2,
17,par['osx']+4*(2*par['dsx']),par['dsx']*2,par)
Plot('ss0357',graphyx('plotfat=3 symbol=. plotcol=5',par))
par['migosx']=12
par['migosy']=3
par['mignsx']=4
par['mignsy']=4
par['migdsx']=1
par['migdsy']=1
par['nmig']=par['mignsx']*par['mignsy']
xshot=range(par['migosx'],par['migosx']+par['mignsx']*par['migdsx'],par['migdsx'])
yshot=range(par['migosy'],par['migosy']+par['mignsy']*par['migdsy'],par['migdsy'])
nlist=[];
xlist=[];
ylist=[];
for isx in range(par['mignsx']):
for isy in range(par['mignsy']):
xline = 9+2*(xshot[isx]-1)
yline = 9+2*(yshot[isy]-1)
N=1+20+4*(yline-1)+(20+4*(xline-1))*267
nlist.append(N);
x=par['osx']+(xline-1)*par['dsx']
y=par['osy']+(yline-1)*par['dsy']
xlist.append(x);
ylist.append(y);
klist=len(nlist);
for k in range(klist):
print "shot #",nlist[k]," @ {x,y}={",xlist[k],",",ylist[k],"}"
for k in range(klist):
ktag = '-%06d' % nlist[k]
fdmod.point('ss'+ktag,xlist[k],ylist[k],par)
Plot('ss'+ktag,graphyx('plotfat=10 symbol=. plotcol=6',par))
fdmod.boxarray('rr'+ktag,
par['nry'],ylist[k]-(par['nry']-1)/2*par['dry'],par['dry'],
par['nrx'],xlist[k]-(par['nrx']-1)/2*par['drx'],par['drx'],par)
Plot('rr'+ktag,'put n2=%(nry)d n3=%(nrx)d | window j2=30 j3=5 |'%par+
graphyx('plotfat=1 symbol=. plotcol=2',par))
fdmod.boxarray('mm'+ktag,
par['nmy'],ylist[k]-par['hmy']*par['dry']*par['jy'],par['dry']*par['jy'],
par['nmx'],xlist[k]-par['hmx']*par['drx']*par['jx'],par['drx']*par['jx'],par)
Plot('mm'+ktag,'window j2=71 |'+
graphyx('plotfat=1 symbol=. plotcol=1',par))
Plot('ss',map(lambda k: 'ss-%06d' % nlist[k],range(klist)),'Overlay')
par['xcip']=23.45
par['ycip']=11.425
par['zcip']=2.380
print "CIP @",par['xcip'],par['ycip'],par['zcip']
ixcip=(par['xcip']-parmig['ox'])/(parmig['dx'])
iycip=(par['ycip']-parmig['oy'])/(parmig['dy'])
izcip=(par['zcip']-parmig['oz'])/(parmig['dz'])
fdmod.point3d('cc',par['xcip'],par['ycip'],par['zcip'],par)
Plot('cc',graphyx('plotfat=20 symbol=* plotcol=1',par))
Plot('cczx',
'cc','window j1=2 |' +
fdmod.rrplot('plotfat=10 symbol=* plotcol=1'+overlay,par))
cco = {'n':181,'o':-91,'d':1}
jc=15;
jr=15;
polar.ovl('ovl',jc,jr,'',cco)
nx=0.08
ny=0.17
nz=1.00
nn=math.sqrt(nx*nx+ny*ny+nz*nz)
Flow('ncip',None,'spike nsp=3 n1=3 mag=%g,%g,%g k1=1,2,3'%(nx/nn,ny/nn,nz/nn))
Flow('vpro','velo','window n1=1 min1=%(xcip)g n2=1 min2=%(ycip)g'%par)
Flow('vsmo','vpro','smooth rect1=50')
Result('vcomp','vpro vsmo','cat axis=2 space=n ${SOURCES[1]} | graph')
Flow('velp','velo',
'''
window n1=1 min1=%(xcip)g n2=1 min2=%(ycip)g|
smooth rect1=50 |
window n1=1 min1=%(zcip)g
'''%par)
Flow('vels','velp','scale rscale=0.5')
Flow('vcip','velp vels','cat axis=2 space=n ${SOURCES[1]} | transp')
velo="data/seam/vp.hh"
Flow('velo',None,
'window j1=2 j2=2 j3=%d <%s'%(par['jz'],velo),local=1)
Result('velo','transp plane=23 | transp plane=12 |'
+fdmod.ccut3d('|',parmig)
+'byte gainpanel=a pclip=99.9 allpos=y bias=1.5 |'
+fdmod.cgrey3d('frame1=%d frame2=%d frame3=%d color=E'%(izcip,ixcip,iycip)+par['labelrot0'] ,parmig))
Plot('vslice','velo',
'window n3=1 f3=%d | transp |'%izcip+
'reverse which=1 | put o1=%g d1=-%g |'%(par['ymax'],2*par['dy']) +
greyyx('',par))
Result('vpall',['vslice','ss2793','ss0725','ss0357','cc','ss'],'Overlay')
Result('vpwin',['vslice', 'ss0357','cc','ss'],'Overlay')
for k in range(klist):
ktag = '-%06d' % nlist[k]
Result('vpmig'+ktag,['vslice','rr'+ktag,'ss0357','cc','ss'+ktag],'Overlay')
Plot('vcut','velo',
'window n2=1 min2=%(ycip)g | transp |'%par
+ fdmod.cgrey('pclip=100 color=E allpos=y bias=1.5'+section,par))
Result('vcut',['vcut','cczx'],'Overlay')
Flow('slow','velo','window n3=%(nzmig)d | math output="1/input"'%par)
Plot('scut','slow',
'window n2=1 min2=%(ycip)g | transp |'%par
+ fdmod.cgrey('pclip=99.9 color=j allpos=y bias=0.2'+section,par))
Result('scut',['scut','cczx'],'Overlay')
Flow('sxy','slow','window n3=1')
Flow('syx','sxy','transp')
Flow('slod',None,
'''
spike nsp=1 mag=1.49
n1=%(nx)d o1=%(ox)g d1=%(dx)d
n2=%(ny)d o2=%(oy)g d2=%(dy)d
n3=2 o3=%(oz)g d3=0.015 |
math output="1/input"
''' %par)
wavelet="data/seam/SEAM_wavelet-g_8ms.sgy"
Flow( 'wavelet',wavelet,'segyread tape=$SOURCE tfile=/dev/null format=5',local=1)
Result('wavelet','window n1=100 | graph title="" pclip=100 grid=y')
Flow('wvl',None,
'''
spike nsp=1 mag=1
n1=%(nt)d d1=%(dt)g o1=%(ot)g label1=%(lt)s unit1=%(ut)s
k1=15 l1=15
'''%par)
encode.time2freq('wvl','frq',par)
Flow('sfrq','frq',
'''
pad beg1=%d n1out=%d beg2=%d n2out=%d |
''' %( (par['nrx']-1)/2/par['jx'],
(par['nrx']-1)/1/par['jx']+1,
(par['nry']-1)/2/par['jy'],
(par['nry']-1)/1/par['jy']+1) +
'''
put o1=%g d1=%g o2=%g d2=%g
''' %( par['orx'],
par['drx']*par['jx'],
par['ory'],
par['dry']*par['jy']))
Flow('taper',None,
'''
spike nsp=1 mag=1
n1=%d k1=%d l1=%d
n2=%d k2=%d l2=%d
n3=%d |
smooth rect1=50 rect2=50 |
rtoc
''' % (par['nmx'],51,par['nmx']-50,
par['nmy'],51,par['nmy']-50,
par['nw']) )
for k in range(klist):
ktag = '-%06d' % nlist[k]
Flow(['data'+ktag,'head'+ktag],None,
'segyread tape=data/seam/SOURCE_0%d.sgy format=5 tfile=${TARGETS[1]}|'%nlist[k] +
'''
put label1=%(lt)s unit1=%(ut)s
n2=%(nry)d o2=%(ory)g d2=%(dry)g label2=%(lry)s unit2=%(ury)s
n3=%(nrx)d o3=%(orx)g d3=%(drx)g label3=%(lrx)s unit3=%(urx)s |
window n1=%(nt)d j2=%(jy)d j3=%(jx)d |
transp plane=23 |
window f1=250 | pad beg1=250 |
bandpass flo=3 fhi=15
''' %par,local=1)
Result('dcut'+ktag,
'data'+ktag,
'''
window n3=1 min3=0 |
grey title="" pclip=99
''')
encode.time2freq('data'+ktag,'rfrq'+ktag,par)
Flow('rtap'+ktag,['rfrq'+ktag,'taper'],
'''
pad beg1=%(nxpad)d n1out=%(nmx)d beg2=%(nypad)d n2out=%(nmy)d |
math t=${SOURCES[1]} output="input*t" |
''' %par +
'''
put o1=%g o2=%g
''' % (xlist[k]-par['hmx']*par['drx']*par['jx'],
ylist[k]-par['hmy']*par['dry']*par['jy']))
Flow('stap'+ktag,['sfrq','taper'],
'''
pad beg1=%(nxpad)d n1out=%(nmx)d beg2=%(nypad)d n2out=%(nmy)d |
math t=${SOURCES[1]} output="input*t" |
''' %par +
'''
put o1=%g o2=%g
''' % (xlist[k]-par['hmx']*par['drx']*par['jx'],
ylist[k]-par['hmy']*par['dry']*par['jy']))
par['nhz']=0
par['nhx']=20
par['nhy']=20
par['nht']=25
par['dht']=par['dt']
adcig.hparam(3.0,
2*par['nhx']+1,-par['nhx']*par['dx'] ,par['dx'],
2*par['nhy']+1,-par['nhy']*par['dy'] ,par['dy'],
2*par['nht']+1,-par['nht']*par['dht'],par['dht'],
par)
for k in range(klist):
ktag = '-%06d' % nlist[k]
wei.dtm('dfs'+ktag,'stap'+ktag,'slod','causal=n',par)
wei.dtm('dfr'+ktag,'rtap'+ktag,'slod','causal=y',par)
for i in (['s','r']):
Result('df'+i+ktag,
'''
window j1=2 j2=2 f3=20 n3=60 |
real |
transp plane=23 | transp plane=12 |
byte gainpanel=a pclip=99 |
''' %parmig
+ fdmod.cgrey3d('frame1=30 frame2=%d frame3=%d label1=f unit1=Hz'%(ixcip,iycip)+par['labelrot0'],parmig))
wei.hicmig('cic'+ktag,'eic'+ktag,'dfs'+ktag,'dfr'+ktag,'slow','cc','',par)
Flow('cwn'+ktag,
['cic'+ktag,'sxy','syx'],
'''
remap1 pattern=${SOURCES[1]} order=1 |
transp |
remap1 pattern=${SOURCES[2]} order=1 |
transp
''')
Plot('ccut'+ktag,'cwn'+ktag,
'window n2=1 min2=%(ycip)g | transp |'%par
+fdmod.cgrey('pclip=99.9'+section,par))
Result('ccut'+ktag,['ccut'+ktag,'cczx'],'Overlay')
Flow('pang'+ktag,['eic'+ktag,'ncip','vcip'],
'hic2ang adj=y verb=y anis=n nor=${SOURCES[1]} vel=${SOURCES[2]}')
polar.p2c('pang'+ktag,'cang'+ktag,cco)
Flow('cstk',
map(lambda k: 'cwn-%06d' % nlist[k],range(klist)),
'''
cat axis=4 space=n ${SOURCES[1:%d]} |
transp plane=34 | transp plane=23 |
stack
'''%len(range(klist)))
Result('cstk','transp plane=23 | transp plane=12 |'
+fdmod.ccut3d('|',parmig)
+'byte gainpanel=a pclip=99.0 |'
+fdmod.cgrey3d('frame1=%d frame2=%d frame3=%d'%(izcip,ixcip,iycip)+par['labelrot0'],parmig))
Plot('ccut','cstk',
'window n2=1 min2=%(ycip)g | transp |'%par
+fdmod.cgrey('pclip=99.0'+section,par))
Result('ccut',['ccut','cczx'],'Overlay')
Flow('estk',
map(lambda k: 'eic-%06d' % nlist[k],range(klist)),
'''
cat axis=5 space=n ${SOURCES[1:%d]} |
transp plane=45 | transp plane=34 | transp plane=23 |
stack
'''%len(range(klist)))
Result('estk',
'byte gainpanel=a pclip=100 |'
+ 'window | transp plane=23 | transp plane=12 |'
+ adcig.hgrey(par['labelrot2'],par))
Flow('pang',['estk','ncip','vcip'],
'hic2ang adj=y verb=y anis=n nor=${SOURCES[1]} vel=${SOURCES[2]}')
polar.p2c('pang','cang',cco)
Result('pang',polar.polplot('color=E pclip=100',par))
Plot ('cang',polar.carplot('color=E pclip=100',par))
Result('cang',['cang','ovl'],'Overlay')
Flow('cwn-byt',
map(lambda k: 'cwn-%06d' % nlist[k],range(klist)),
'cat axis=4 space=n ${SOURCES[1:%d]} | byte gainpanel=a pclip=99.0'%klist)
Flow('eic-byt',
map(lambda k: 'eic-%06d' % nlist[k],range(klist)),
'cat axis=5 space=n ${SOURCES[1:%d]} | byte gainpanel=a pclip=99.9'%klist)
Flow('pang-byt',
map(lambda k: 'pang-%06d' % nlist[k],range(klist)),
'cat axis=3 space=n ${SOURCES[1:%d]} | byte gainpanel=a pclip=99.9'%klist)
Flow('cang-byt',
map(lambda k: 'cang-%06d' % nlist[k],range(klist)),
'cat axis=3 space=n ${SOURCES[1:%d]} | byte gainpanel=a pclip=100 '%klist)
for k in range(klist):
ktag = '-%06d' % nlist[k]
Result('cwn'+ktag,
'cwn-byt',
'window n4=1 f4=%d | transp plane=23 | transp plane=12 |'%k +
fdmod.ccut3d('|',parmig) +
fdmod.cgrey3d('frame1=%d frame2=%d frame3=%d'%(izcip,ixcip,iycip)+par['labelrot0'],parmig))
Result('eic'+ktag,
'eic-byt',
'window n5=1 f5=%d | transp plane=23 | transp plane=12 |'%k +
adcig.hgrey(par['labelrot2'],par))
Result('pang'+ktag,
'pang-byt','window n3=1 f3=%d |'%k +
polar.polplot('color=E',par))
Plot ('cang'+ktag,
'cang-byt','window n3=1 f3=%d |'%k +
polar.carplot('color=E',par))
Result('cang'+ktag,['cang'+ktag,'ovl'],'Overlay')
End() |