include ${SEPINC}/SEP.top
include ../../Src/thesis.include
include ../../Src/mig.include
UF90INCLUDES=${BOBINCS} -I/net/kana/bob/include/${MTYPE}
UF90LIBS=/net/kana/bob/Lib/${MTYPE}/libgendownkern3d.a /net/kana/bob/Lib/${MTYPE}/libgendown3d.a /net/kana/bob/Lib/LINUX/libSEPtimers.a /net/kana/biondo/FFTW/LINUX/lib/libsfftw.a    ${BOBLIBS}  -mp

DIR=/net/kana/data_3d/elf_north_sea
DATA=${DIR}/data3950.H
VEL=elfvel0.H
TRANSF=/net/kana/bob/Transf
TOMO_SPACE=d1out=.05  d2out=.0375  o1out=0. o2out=0.
VIEW_SPACE=d1out=.0125 d2out=.0125 o1out=0. o2out=0.
DATA_FREQ=elf.freq.H
RESULTSER=elf-shot overlays.vel0 overlays.vel-final vel-final mig-final elf-semb-mig0-ref elf-semb-mig-final-ref vel0 mig-top  #amp-vel0 
GREY_VEL=Grey >/dev/null min1=0 max1=5 min2=2 max2=18  title=" " \
 wantscalebar=y color=v label1="Depth(km)" label2="X Position(km)"  color=j

${RESDIR}/elf-shot.v:	${DATA}
	Window < ${DATA} f3=50 n3=1  |Grey >shot.V o2=.1 d2=.025 title=" " label2="Offset(km)" label1="Time(s)" out=$@

MY=title=" " label1="Depth(km)" label2="X Position(km)" pclip=97
${RESDIR}/top.compare.v:	#left.comp.H
	Grey < left.comp.H  ${MY} min1=.5 max1=2.0 min2=2 max2=10 |Vppen >top.comp.V out=a1.v gridnum=1,2 xscale=2 vpstyle=n
	vp_annotate batch=y <a1.v >$@ text=top.txt

${RESDIR}/left.compare.v:	#left.comp.H
	Grey < left.comp.H  ${MY} min1=2.5 min2=2 max2=9 |Vppen >left.comp.V out=a1.v gridnum=1,2 xscale=2 vpstyle=n
	vp_annotate batch=y <a1.v >$@ text=left.txt


${RESDIR}/right.compare.v:	#left.comp.H
	Grey < left.comp.H  ${MY} min1=1 max1=4 min2=5 max2=10.5  |Vppen >left.comp.V out=a1.v gridnum=1,2 xscale=2 vpstyle=n
	vp_annotate batch=y <a1.v >$@ text=right.txt


${RESDIR}/change1.v:	vel1.steer.view.H
	Window < ds.H f3=1 |Grey wantscalebar=y max1=3. barlabel="Slowness (s/km)" label1="Tau (s)" label2="X Position (km)" >cv.V out=$@  d1=.023 o1=-.345 min1=0 o2=-.5625 d2=.0375 min2=0 max2=12

${RESDIR}/elf-sem-ref.%.v:	#sem_ref.%.H
	Smooth rect2=7 < sem_ref.$*.H |Grey allpos=y gainpanel=e crowd=1 >a.V n3=10
	Vppen < a.V vpstyle=n gridnum=1,10 >elf.V out=$@ xscale=10


${RESDIR}/moveout-%.v:	#mig.%.H
	Window < mig.$*.H j2=2 j3=20 n2=30  n1=360 |Grey n3=1 n2=750 wantaxis=n wantlabel=n title=" "  >a.V crowd=1.  yreverse=y xreverse=y max1=4.5 transp=n
	Vppen vpstyle=n rotate=180 < a.V xshift=13.7 yshift=10.2  > ff.V  out=a1.v
	vp_annotate < a1.v >$@ batch=y text=moveout.txt

${RESDIR}/elf-mig1.v:#	mig.vel1.steer.H
	Window < off.vel1.steer.H n2=1 |Grey pclip=97 transp=n yreverse=n title=" " label1="Depth(km)" label2="X Position(km)" >a.V transp=n  yreverse=y xreverse=y max1=4.5
	Vppen vpstyle=n rotate=180 < a.V xshift=14.2 yshift=10.7  > ff.V  out=$@

${RESDIR}/elf-mig2.v:	#mig.vel2.steer.H
	Window < off.vel2.steer.H n2=1 |Grey pclip=97 transp=n yreverse=n title=" " label1="Depth(km)" label2="X Position(km)" >a.V transp=n xreverse=y max1=4.5 yreverse=y
	Vppen rotate=180 vpstyle=n < a.V xshift=14.2 yshift=10.7  > ff.V  out=$@

${RESDIR}/elf-mig0.v:	mig.vel0.H
	Window < off.vel0.H n2=1 |Grey pclip=97 transp=n yreverse=n title=" " label1="Depth(km)" label2="X Position(km)" >a.V transp=n xreverse=y max1=4.5 yreverse=y
	Vppen rotate=180 vpstyle=n < a.V xshift=14.2 yshift=10.7  > ff.V  out=a1.v
	vp_annototae < a1.v text=mig0.txt >$@ batch=n

	

FULL= min2=1 max2=12 max1=4.5 label1="Depth(km)" label2="X Position(km)" title=" "
${RESDIR}/mig.%.v:	stack.%.H
	Grey <  stack.$*.H ${FULL} out=$@ >mig.$*.V

${RESDIR}/vel1.v:	vel1.steer.view.H
	Grey < vel1.steer.view.H >vel.V out=$@ title=" " label1="Depth(km)" label2="X Position(km)" wantscalebar=y barlabel="Velocity(km/s)"  allpos=y bias=1.5 clip=3.4 color=j

${RESDIR}/vel0.v:	vel0.view.H
	Grey < vel0.view.H >vel.V out=a1.v title=" " label1="Depth(km)" label2="X Position(km)" wantscalebar=y barlabel="Velocity(km/s)"  allpos=y bias=1.5 clip=3.4 color=j
	vp_annotate < a1.v >$@ text=vel.txt batch=y

${RESDIR}/vel-final.v:	vel2.steer.view.H
	Grey < vel2.steer.view.H >vel.V out=a1.v title=" " label1="Depth(km)" label2="X Position(km)" wantscalebar=y barlabel="Velocity(km/s)"  allpos=y bias=1.5 clip=3.4 color=j
	vp_annotate < a1.v >$@ text=velf.txt batch=y

${RESDIR}/vel%.ps:	${RESDIR}/vel%.v
	pstexpen   ../Figs/vel$*.v ../Figs/vel$*.ps color=y fat=1 fatmult=1.5 invras=n force=n 

${RESDIR}/mig-final.v:	mig.vel2.steer.H
	Window < mig.vel2.steer.H n2=1 |Grey out=$@ >mig1.V label1="Depth(km)" label2="X Position" title=" " min2=1 max2=12 max1=4.5

${RESDIR}/mig-top.v:	mig.vel0.H mig.vel2.steer.H
	Window < mig.vel0.H n2=1 max1=2.5 min3=3 max3=9 |Grey >mig0.V label1="Depth(km)" label2="X Position" title=" " 
	Window < mig.vel2.steer.H n2=1 max1=2.5 min3=3 max3=9 |Grey >mig2.V label1="Depth(km)" label2="X Position" title=" " 
	Vppen < mig0.V mig2.V gridnum=2,1 out=$@ >migt.V


#################################
#####REFLECTOR PICKING  #########
#################################
#%.zero.H: ${filter-out ${RMV},%.pck ${BINDIR}/create_reflectors.x ${BINDIR}/to_seplib.x}
#	${BINDIR}/to_seplib.x < $*.pck junk.HH 3
#	Dd esize=4 < junk.HH  >c.H
#	<c.H Window n1=2 | ${BINDIR}/create_reflectors.x  n1=300  >a.H
#	Imag < a.H >r.H
#	Real <a.H |Smooth rect1=15 >i.H
#	Cmplx r.H i.H >$@
#
#reflectors.%.H:  layer1.%.zero.H layer2.%.zero.H layer3.%.zero.H layer4.%.zero.H layer5.%.zero.H layer6.%.zero.H 
#	Cat axis=2 layer1.$*.zero.H layer2.$*.zero.H layer3.$*.zero.H layer4.$*.zero.H layer5.$*.zero.H layer6.$*.zero.H >$@
#

fault.vel0.H:	reflectors.vel0.H
	Window < reflectors.vel0.H >$@ f1=7

${RESDIR}/amp-vel0.v: random2d.H
	Window < dip.H f1=15 n1=141 f2=15 n2=359|Grey label2="Tau(s)" label1="X Position(km)" o1=0. o2=0. d1=.023 d2=.0357 >a1.V title=" "
	Grey < random2d.H >a2.V label2="Tau(s)" label1="X Position(km)" o1=0. o2=0. d1=.023 d2=.0357 title=" "
	Vppen gridnum=2,1 vpstyle=n  < a1.V a2.V >$amp.V out=$@ yscale=2

random2d.H:	nfilt.vel0.steer.H ${BINDIR}/random_it2d.x
	Spike n2=359 n1=141 >my.H
	${BINDIR}/random_it2d.x <my.H >$@   filt=nfilt.vel0.steer.H beg1=15 beg2=15 end1=15 end2=15


nfilt.vel0.%.H:	fault.vel0.H

#nfilt.vel2.steer.H: vel2.steer.view.H nfilt.vel2.steer.P reflectors.vel2.steer.H #{BINDIR}/create_nfilter.x
#	Interp < vel2.steer.view.H ${TOMO_SPACE} >vel2.steer.tomo.H
#	${BINDIR}/create_nfilter.x < vel2.steer.tomo.H par=nfilt.vel2.steer.P >nfilt.vel2.steer.H \
#    reflectors=reflectors.vel2.steer.H ref_old=reflectors.vel1.steer.H\
#    ref_new=reflectors.vel2.steer.H ref_init=reflectors.flat.H vel_init=vel0.steer.tomo.H
#


#################################
######   LOCAL CP     ###########
#################################

vel0.view.H:  ../../Data/elf.vel0.HH ${BINDIR}/zero_vel.x salt_bound.init.H
	${BINDIR}/zero_vel.x <  ../../Data/elf.vel0.HH |Smooth rect1=5 rect2=400|Smooth rect1=20 rect2=300 > c.H
	${BINDIR}/add_salt.x < c.H >$@  salt_refs=salt_bound.init.H  salt_vel=4.500
#	Window < ../../Data/elf.vel0.HH > $@



#
#
#
#
##################################
######  PLOTTING         #########
##################################
#
#PANELS=2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
#PANELS=7 7.25 7.5 7.75 8 8.25 8.50 8.75 9 9.25 9.5 9.75 10 10.25 10.5 10.75 11 11.25 
#PANELS= 1.0 1.25 1.5 1.75 2.0 2.25 2.5 2.75 3.0 3.25 3.5 3.75 4.0 4.25 4.5 4.75 5.0 5.25 5.5 5.75 6.0 6.25 6.5 6.75 7.0 7.25 7.5 7.75 8.0 8.25 8.5 8.75 9.0 9.25 9.5 9.75 10.0 10.25 10.5 10.75 11.0 11.25 11.5 11.75 12.0 12.25 12.5 12.75 
#NOT=title=" "
#NOPE=wantaxis=n title=" "
#AXISD=label1="Depth(km)"  label2="X Position(km)" 
#AXIST=label1="Tau(s)"  label2="X Position(km)" 
#AXGYD=${AXISD} min1=0 max1=4.5 min2=1 max2=12 ${NOT}
#AXGYT=${AXIST} min1=0 max1=4.1 min2=1 max2=12 ${NOT}
#AXGHD=${AXISD} min2=0 max2=4.5 min1=1 max1=12 ${NOT} yreverse=y
#AXGHT=${AXIST} min2=0 max2=4.1 min1=1 max1=12 ${NOT} yreverse=y
#
#
#${RESDIR}/amp-%.v:	dips.%.H
#	Grey  < dips.$*.H >dips.V ${AXGYT} out=$@
#
#${RESDIR}/vel0.v:	${VEL}
#	Scale < ${VEL}  dscale=.001 | Grey allpos=y  bias=1.5 wantscalebar=y d1=.05 d2=.05 >vel0.V out=$@ title=" " label1="Depth(km)" label2="X Position(km)" barlabel="Velocity(km/s)"
##
#
#
#${RESDIR}/res.vel0.v:	res.vel0.v
#	cp res.vel0.v $@
#
#SY1=symbol="*" symbolsz=16 plotcol=0
#SY2=symbol="*" symbolsz=8 plotcol=7
#
#${RESDIR}/mig.%.v: mig.%.H reflectors.%.H
#	Window < mig.$*.H n2=1 |Grey ${AXGYD} >a1.V
#	Window < reflectors.$*.H j1=4 |Graph  ${AXGHD} >a2.V ${NOPE}  ${SY1}
#	Window < reflectors.$*.H j1=4 |Graph ${AXGHD} >a3.V ${NOPE}  ${SY2}
#	Vppen   erase=o < a1.V a2.V a3.V >mig.$*.V out=$@ vpstyle=n
# 
#res.%.v:  mig.%.H 
#	Window < mig.$*.H n2=1 |Grey wantaxis=n wanttitle=n crowd=1. >a1.V
#	Window <mig.$*.H  n2=30 j3=20 |\
#	Grey wantaxis=n wanttitle=n >gather.V n3=1 n2=750  crowd=1.
#	Vppen < a1.V gather.V >res.$*.V out=$@ gridnum=1,2 xscale=2
#	
#
#
#GRAPH=Graph min1=2 max1=18 min2=0 max2=5 yreverse=y wantaxis=n title=" "  wantframe=n plotcol=7 plotfat=12 yll=1.25 xur=11.2 yur=8.98 xll=2.1
#
#GREY=Grey  min1=0 max1=5 min2=2 max2=18  title=" " \
# wantscalebar=y  label1="Depth(km)" label2="X Position(km)"  
#
#
#${RESDIR}/synth-model.v: zero-synth.v vel_cor.v
#	vp_SideBySideIso vel_cor.v zero-synth.v  >$@
#
#${RESDIR}/elf-semb-mig0.v:	overlay.vel0.8.v
#	cp  overlay.vel0.8.v $@
#
#${RESDIR}/iter1-comp.v:	 vel1.z.delta.V vel1.tau.delta.V
#	Vppen gridnum=1,2 vpstyle=n <vel1.z.delta.V vel1.tau.delta.V >iter1-comp.V out=$@ xscale=2
#
#${RESDIR}/mig0.v:	mig.vel0.H vel0.H
#	${GREY} < vel0.H out=a.v bias=2 allpos=y
#	Window < mig.vel0.H n2=1 | ${GREY} out=b.v 
#	vp_SideBySideIso a.v b.v >$@
#
#
#${RESDIR}/tau-initial.v:  tau-vel_cor.v tau-vel0.v
#	vp_SideBySideIso tau-vel_cor.v tau-vel0.v >$@
#
#
#
#vel1.%.delta.V:	vel1.%.H
#	Add scale=1,-1 vel1.$*.H vel0.wind.H >diff.H
#	${GREY} <diff.H  >a.V   
#	${GREY} <vel1.$*.H  >b.V  bias=2 allpos=y 
#	Vppen < a.V b.V gridnum=2,1 vpstlye=n >$@ yscale=2
#
#
#tau-%.v:	tau-%.H
#	Real <  tau-$*.H | ${GREY}  out=tau_$*.v max1=3.5 clip=2. bias=2. allpos=y
#	${GRAPH} < tau_reflectors.$*.H out=tau_reflectors.$*.v max2=3.5
#	vp_Overlay tau_$*.v tau_reflectors.$*.v >$@
#
${RESDIR}/elf-semb-mig-final-ref.v:	${addprefix semb-ref.vel2.steer.,${addsuffix .V,0 1 2 3 4 5 6 7 8 9}}
	Vppen <${addprefix semb-ref.vel2.steer.,${addsuffix .V,0 1 2 3 4 5 6 7 8}} out=$@ vpstyle=n gridnum=1,9 >/dev/null xscale=9
#	
#
${RESDIR}/elf-semb-mig0-ref.v:	${addprefix semb-ref.vel0.,${addsuffix .V,0 1 2 3 4 5 6 7 8}}
	Vppen <${addprefix semb-ref.vel0.,${addsuffix .V,0 1 2 3 4 5 6 7 8}} out=$@ vpstyle=n gridnum=1,9 >/dev/null xscale=9
#	
#
#
#vel_cor.v:#	vel_cor.z.H reflectors.z.vel_cor.H
#	${GREY} < vel_cor.z.H  out=a.v bias=2 allpos=y
#	${GRAPH} < reflectors.z.vel_cor.H out=b.v symbol="*"
#	vp_Overlay a.v b.v >$@
#
#zero-synth.v: ${DATA}
#	Grey < ${DATA} eout=1 >tt.T
#	Cubeplot < tt.T frame1=200  frame2=100 out=$@ >/dev/null point1=.7 point2=.7 pint3=.3 label1="Time(s)" title=" " flat=n
#
#ov.movie.v:	${addprefix overlay.vel0.,${addsuffix .V,${PANELS}}}
#	Vppen vpstyle=n < ${addprefix overlay.vel0.,${addsuffix .V,${PANELS}}} >mov.V out=$@
#
#
${RESDIR}/overlays.vel0.v:	$(addprefix  overlay.vel0.,$(addsuffix .V,1 2 3 4 5 6 7 8 9 10 11 12))
	Vppen   vpstyle=n  <$(addprefix  overlay.vel0.,$(addsuffix .V,1 2 3 4 5 6 7 8 9 10 11 12)) >tot.V vpstyle=n gridnum=1,12 xscale=12 out=$@
#
${RESDIR}/overlays.vel-final.v:	$(addprefix  overlay.vel2.steer.,$(addsuffix .V,1 2 3 4 5 6 7 8 9 10 11 12))
	Vppen   vpstyle=n  <$(addprefix  overlay.vel2.steer.,$(addsuffix .V,1 2 3 4 5 6 7 8 9 10 11 12)) >tot.V vpstyle=n gridnum=1,12 xscale=12 out=$@
#
#
overlay.vel0.%.V:	${BINDIR}/plot_it.x smooth_sem.vel0.H mig.vel0.H reflectors.vel0.H cut.H
	Window < mig.vel0.H min3=$* n3=1  >pn.H
	Window < cut.H min2=$* n2=1  >ct.H
	<pn.H Grey >a.V min1=0 max1=4.5 min2=0 max2=35  title=" " crowd=1. transp=0
	Window <  smooth_sem.vel0.H min1=$* n1=1  >de.H
	${BINDIR}/plot_it.x  pan=pn.H reflectors=reflectors.vel0.H < de.H >cur.H par=coher.P cut=ct.H
	< cur.H Graph >b.V yreverse=y min2=0 max2=4.5 min1=0 max1=35\
   wantaxis=n plotfat=12 title=" " crowd=1. transp=1 ${SY1}
	< cur.H Graph >c.V yreverse=y min2=0 max2=4.5 min1=0 max1=35\
   wantaxis=n plotfat=12 title=" " crowd=1. transp=1 ${SY2}
	Vppen erase=o < a.V b.V c.V >$@  vpstyle=n
#
overlay.vel2.steer.%.V:	${BINDIR}/plot_it.x smooth_sem.vel2.steer.H mig.vel2.steer.H reflectors.vel2.steer.H cut.H
	Window < mig.vel2.steer.H min3=$* n3=1  >pn.H
	Window < cut.H min2=$* n2=1  >ct.H
	<pn.H Grey >a.V min1=0 max1=4.5 min2=0 max2=35  title=" " crowd=1. transp=0
	Window <  smooth_sem.vel2.steer.H min1=$* n1=1  >de.H
	${BINDIR}/plot_it.x  pan=pn.H reflectors=reflectors.vel2.steer.H < de.H >cur.H par=coher.P cut=ct.H
	< cur.H Graph >b.V yreverse=y min2=0 max2=4.5 min1=0 max1=35\
   wantaxis=n plotfat=12 title=" " crowd=1. transp=1 ${SY1}
	< cur.H Graph >c.V yreverse=y min2=0 max2=4.5 min1=0 max1=35\
   wantaxis=n plotfat=12 title=" " crowd=1. transp=1 ${SY2}
	Vppen erase=o < a.V b.V c.V >$@  vpstyle=n
#
#
semb-ref.vel2.steer.%.V:	smooth_sem.vel2.steer.H sem_ref.vel2.steer.H
	Window < sem_ref.vel2.steer.H f3=$* n3=1|Smooth rect2=7  |Grey out=a.v  min1=-.0003 max1=.0003 min2=1 max2=12 allpos=y >a.V title=" " crowd=1 axis=n
	Window <smooth_sem.vel2.steer.H f2=$* n2=1 |Graph min1=1 max1=12 min2=-.0003 max2=.0003 >b.V yreverse=y title=" " crowd=1. crowd=1 axis=n plotcol=0 symbol="*" symbolsz=18
	Window <smooth_sem.vel2.steer.H f2=$* n2=1 |Graph min1=1 max1=12 min2=-.0003 max2=.0003 >c.V yreverse=y title=" " crowd=1. crowd=1 axis=n plotcol=7 symbol="*" symbolsz=12
	Vppen<  a.V b.V c.V >$@ vpstyle=n erase=n >$@ 

semb-ref.vel0.%.V:	smooth_sem.vel0.H sem_ref.vel0.H
	Window < sem_ref.vel0.H f3=$* n3=1 |Smooth rect2=7 |Grey out=a.v  min1=-.0003 max1=.0003 min2=1 max2=12 allpos=y >a.V title=" " crowd=1 axis=n
	Window <smooth_sem.vel0.H f2=$* n2=1 |Graph min1=1 max1=12 min2=-.0003 max2=.0003 >b.V yreverse=y title=" " crowd=1. crowd=1 axis=n plotcol=0 symbol="*" symbolsz=18
	Window <smooth_sem.vel0.H f2=$* n2=1 |Graph min1=1 max1=12 min2=-.0003 max2=.0003 >c.V yreverse=y title=" " crowd=1. crowd=1 axis=n plotcol=7 symbol="*" symbolsz=12
	Vppen<  a.V b.V c.V >$@ vpstyle=n erase=n >$@ 

#${RESDIR}/sigma.v: tau-vel_cor.H
#	Imag <  tau-vel_cor.H | ${GREY}  out=$@ max1=3.5  color=I
#
#
#
##################################
######VELOCITY/TOMOGRAPHY#########
##################################
#
#
#vel_cor.H:	vel_cor.z.H
#	Window < vel_cor.z.H j1=2 >$@
#
#
#vel2.%.H:	${BINDIR}/Tomo_2d.x	vel0.H  tomo.2.%.P smooth_sem.vel1.%.H dips.vel1.%.H
#	<vel1.$*.H Window j1=2 j2=8  |Extend_it.x  beg2=10 end1=10 end2=10 |Reverse which=1 >end.H	
#	Spike n1=10 mag=2. n2=99 >beg.H
#	Cat end.H beg.H axis=1 |Reverse which=1 >vel.H 
#	${BINDIR}/Tomo_2d.x par=tomo.2.$*.P < vel.H >v.$*.H delta_t=times.vel1.$*.H\
#  reflectors=reflectors.vel1.$*.H zero_rays=zero.vel1.$*.H  px_rays=px.vel1.$*.H \
#	delta_slow=delta.vel1.$*.H time_errors=err.vel1.$*.H pfile=dips.vel1.$*.H \
#  residual_times=res.vel1.$*.H semblance=smooth_sem.vel1.$*.H
#
#
#vel3.%.H:	${BINDIR}/Tomo_2d.x	vel2.%.H   tomo.3.%.P  smooth_sem.vel2.%.H  dips.vel2.%.H
#	<vel2.$*.H Window j1=2 j2=8  |Extend_it.x  beg2=10 end1=10 end2=10 |Reverse which=1 >end.H	
#	Spike n1=10 mag=2. n2=99 >beg.H
#	Cat end.H beg.H axis=1 |Reverse which=1 >vel.H 
#	${BINDIR}/Tomo_2d.x par=tomo.3.$*.P < vel.H >v.$*.H delta_t=times.vel2.$*.H\
#  reflectors=reflectors.vel2.$*.H zero_rays=zero.vel2.$*.H  px_rays=px.vel2.$*.H \
#	delta_slow=delta.vel2.$*.H time_errors=err.vel2.$*.H pfile=dips.vel2.$*.H \
#  residual_times=res.vel2.$*.H semblance=smooth_sem.vel2.$*.H
#	Window < v.$*.H  f1=10 f2=10 n1=79 n2=79 | Interp d1out=.032 n1out=157 | Transp |Interp d1out=.032 n1out=625 |Transp >$@
#
#
#vel4.%.H:	${BINDIR}/Tomo_2d.x	vel3.%.H  tomo.4.%.P smooth_sem.vel0.H dips.vel3.%.H
#	<vel3.$*.H Window j1=2 j2=8  |Extend_it.x  beg2=10 end1=10 end2=10 |Reverse which=1 >end.H	
#	Spike n1=10 mag=2. n2=99 >beg.H
#	Cat end.H beg.H axis=1 |Reverse which=1 >vel.H 
#	${BINDIR}/Tomo_2d.x par=tomo.4.$*.P < vel.H >v.$*.H delta_t=times.vel3.$*.H\
#  reflectors=reflectors.vel3.$*.H zero_rays=zero.vel3.$*.H  px_rays=px.vel3.$*.H \
#	delta_slow=delta.vel3.$*.H time_errors=err.vel3.$*.H pfile=dips.vel3.$*.H \
#  residual_times=res.vel3.$*.H semblance=smooth_sem.vel3.$*.H
#	Window < v.$*.H  f1=10 f2=10 n1=79 n2=79 | Interp d1out=.032 n1out=157 | Transp |Interp d1out=.032 n1out=625 |Transp >$@
#
#
#
#
#
#vel1.%.H:		vel0.H  tomo.1.%.P smooth_sem.vel0.H dips.vel0.H
#	<vel0.H Window j1=4 j2=8  |Extend_it.x  beg2=10 end1=10 end2=10 |Reverse which=1 >end.H	
#	Spike n1=10 mag=2. n2=155 >beg.H
#	Cat end.H beg.H axis=1 |Reverse which=1 >vel.H 
#	${BINDIR}/Tomo_2d.x par=tomo.1.$*.P < vel.H >v.$*.H delta_t=times.vel0.$*.H\
#  reflectors=reflectors.vel0.H zero_rays=zero.vel0.$*.H  px_rays=px.vel0.$*.H \
#	delta_slow=delta.vel0.$*.H time_errors=err.vel0.$*.H  pfile=dips.vel0.H\
#  residual_times=res.vel0.$*.H semblance=smooth_sem.vel0.H
#	Window < v.$*.H  f1=10 f2=10 n1=79 n2=79 | Interp d1out=.032 n1out=157 | Transp |Interp d1out=.032 n1out=625 |Transp >$@
#
#
#
#
#vel1.z.H:		vel0.H  tomo.1.z.P smooth_sem.vel0.H dips.z.H
#	<vel0.H Window j1=2 j2=8  |Extend_it.x  beg2=10 end1=10 end2=10 |Reverse which=1 >end.H	
#	Spike n1=10 mag=2. n2=99 >beg.H
#	Cat end.H beg.H axis=1 |Reverse which=1 >vel.H 
#	${BINDIR}/Tomo_2d.x par=tomo.1.z.P < vel.H >v.z.H delta_t=times.vel0.z.H\
#  reflectors=reflectors.vel0.H zero_rays=zero.vel0.z.H  px_rays=px.vel0.z.H \
#	delta_slow=delta.vel0.z.H time_errors=err.vel0.z.H  pfile=dips.z.H\
#  residual_times=res.vel0.z.H semblance=smooth_sem.vel0.H
#	Window < v.z.H  f1=10 f2=10 n1=79 n2=79 | Interp d1out=.032 n1out=157 | Transp |Interp d1out=.032 n1out=625 |Transp >$@
#
##################################
######REFLECTOR PICKING  #########
##################################
#
%.zero.H: %.pck ${BINDIR}/create_reflectors.x ${BINDIR}/to_seplib.x
	${BINDIR}/to_seplib.x < $*.pck junk.HH 3
	Dd esize=4 < junk.HH  >c.H
	<c.H Window n1=2 | ${BINDIR}/create_reflectors.x  n1=300  >a.H
	Imag < a.H |Smooth rect1=4 >r.H
	Real <a.H |Smooth rect1=25 >i.H
	Cmplx r.H i.H >$@

cut.%.H:	cut.%.pck  ${BINDIR}/to_seplib.x ${BINDIR}/create_cut.x mig.%.H cut.P
	${BINDIR}/to_seplib.x < cut.$*.pck junk.HH 3
	Dd esize=4 < junk.HH  >c.H
	${BINDIR}/create_cut.x  mig=mig.$*.H < c.H par=cut.P |Smooth par=cut.P >$@

reflectors.vel_cor.H: reflectors.z.vel_cor.H
	cp reflectors.z.vel_cor.H reflectors.vel_cor.H

#reflectors.%.H:	layer1.%.zero.H layer2.%.zero.H layer3.%.zero.H layer4.%.zero.H layer5.%.zero.H layer6.%.zero.H layer7.%.zero.H salt_top.%.zero.H salt_bot.%.zero.H
#	Cat axis=2 layer1.$*.zero.H layer2.$*.zero.H layer3.$*.zero.H layer4.$*.zero.H layer5.$*.zero.H layer6.$*.zero.H layer7.$*.zero.H salt_top.$*.zero.H salt_bot.$*.zero.H >$@
reflectors.%.H:	layer1.%.zero.H layer2.%.zero.H layer3.%.zero.H layer4.%.zero.H layer5.%.zero.H layer6.%.zero.H layer7.%.zero.H layer8.%.zero.H layer9.%.zero.H salt_top.%.zero.H salt_bot.%.zero.H layer8.%.zero.H layer9.%.zero.H
	Cat axis=2 layer1.$*.zero.H layer2.$*.zero.H layer3.$*.zero.H layer4.$*.zero.H layer5.$*.zero.H layer6.$*.zero.H layer7.$*.zero.H layer8.$*.zero.H layer9.$*.zero.H salt_top.$*.zero.H salt_bot.$*.zero.H >$@
#
reflectors.vel3.steer.H:	layer1.vel3.steer.zero.H layer2.vel3.steer.zero.H layer3.vel3.steer.zero.H layer4.vel3.steer.zero.H layer5.vel3.steer.zero.H layer6.vel3.steer.zero.H layer7.vel3.steer.zero.H layer8.vel3.steer.zero.H layer9.vel3.steer.zero.H salt_top.vel3.steer.zero.H salt_bot.vel3.steer.zero.H layer8.vel3.steer.zero.H layer9.vel3.steer.zero.H layer10.vel3.steer.zero.H layer11.vel3.steer.zero.H layer12.vel3.steer.zero.H
	Cat axis=2 layer1.vel3.steer.zero.H layer2.vel3.steer.zero.H layer3.vel3.steer.zero.H layer4.vel3.steer.zero.H layer5.vel3.steer.zero.H layer6.vel3.steer.zero.H layer7.vel3.steer.zero.H layer8.vel3.steer.zero.H layer9.vel3.steer.zero.H salt_top.vel3.steer.zero.H salt_bot.vel3.steer.zero.H layer10.vel3.steer.zero.H layer11.vel3.steer.zero.H layer12.vel3.steer.zero.H >$@

reflectors.vel2.steer.H:	layer1.vel2.steer.zero.H layer2.vel2.steer.zero.H layer3.vel2.steer.zero.H layer4.vel2.steer.zero.H layer5.vel2.steer.zero.H layer6.vel2.steer.zero.H layer7.vel2.steer.zero.H layer8.vel2.steer.zero.H layer9.vel2.steer.zero.H salt_top.vel2.steer.zero.H salt_bot.vel2.steer.zero.H layer8.vel2.steer.zero.H layer9.vel2.steer.zero.H layer10.vel2.steer.zero.H layer11.vel2.steer.zero.H layer12.vel2.steer.zero.H
	Cat axis=2 layer1.vel2.steer.zero.H layer2.vel2.steer.zero.H layer3.vel2.steer.zero.H layer4.vel2.steer.zero.H layer5.vel2.steer.zero.H layer6.vel2.steer.zero.H layer7.vel2.steer.zero.H layer8.vel2.steer.zero.H layer9.vel2.steer.zero.H salt_top.vel2.steer.zero.H salt_bot.vel2.steer.zero.H layer10.vel2.steer.zero.H layer11.vel2.steer.zero.H layer12.vel2.steer.zero.H >$@

reflectors.vel1.steer.H:	layer1.vel1.steer.zero.H layer2.vel1.steer.zero.H layer3.vel1.steer.zero.H layer4.vel1.steer.zero.H layer5.vel1.steer.zero.H layer6.vel1.steer.zero.H layer7.vel1.steer.zero.H layer8.vel1.steer.zero.H layer9.vel1.steer.zero.H salt_top.vel1.steer.zero.H salt_bot.vel1.steer.zero.H layer8.vel1.steer.zero.H layer9.vel1.steer.zero.H layer10.vel1.steer.zero.H layer11.vel1.steer.zero.H
	Cat axis=2 layer1.vel1.steer.zero.H layer2.vel1.steer.zero.H layer3.vel1.steer.zero.H layer4.vel1.steer.zero.H layer5.vel1.steer.zero.H layer6.vel1.steer.zero.H layer7.vel1.steer.zero.H layer8.vel1.steer.zero.H layer9.vel1.steer.zero.H salt_top.vel1.steer.zero.H salt_bot.vel1.steer.zero.H layer10.vel1.steer.zero.H layer11.vel1.steer.zero.H  >$@


salt_bound.init.H:	salt_top.init.zb.H salt_bot.init.zb.H
	Cat salt_top.init.zb.H salt_bot.init.zb.H axis=2 >$@

salt_bound.vel3.H:	salt_top.vel3.steer.zb.H salt_bot.vel3.steer.zb.H
	Cat salt_top.vel3.steer.zb.H salt_bot.vel3.steer.zb.H axis=2 >$@

%.zb.H: %.pck ${BINDIR}/create_reflectors.x ${BINDIR}/to_seplib.x
	${BINDIR}/to_seplib.x < $*.pck junk.HH 3
	Dd esize=4 < junk.HH  >c.H
	<c.H Window n1=2 | ${BINDIR}/create_reflectors.x  n1out=2000  >a.H
	Imag < a.H |Smooth rect1=4 >r.H
	Real <a.H |Smooth rect1=25 >i.H
	Cmplx r.H i.H >$@



vel.salt.view.H: ${BINDIR}/add_salt.x vel3.steer.view.H salt_bound.vel3.H
	${BINDIR}/add_salt.x < vel3.steer.view.H >$@ salt_refs=salt_bound.vel3.H salt_vel=4.5

	
#
#
##################################
#####    CREATE DIPS     #########
##################################
#
#
#dips.%.H: reflectors.%.H ${BINDIR}/create_dips.x dips.P  ${BINDIR}/Extend_it.x
#	${BINDIR}/create_dips.x <reflectors.$*.H  par=dips.P  ref_out=ref_out.$*.H \
#	vel=$*.H |${BINDIR}/Extend_it.x beg1=10 beg2=10 end1=10 end2=10 |\
#  Smooth par=dips.P >$@
#
#
##################################
######  TAU CONVERSION   #########
##################################
#
#
#tau-%.H:   ${BINDIR}/vel_convert.x  tau_convert.P %.H reflectors.%.H
#	${BINDIR}/vel_convert.x  < $*.H >$@  par=tau_convert.P\
#	ray_traj=reflectors.$*.H ray_traj_out=tau_reflectors.$*.H
#
##################################
######     COHERENCY     #########
##################################
#
#
#dd.%.H:	mig.%.H	${BINDIR}/rmute.x coher.P
#	<  mig.$*.H ${BINDIR}/rmute.x >$@ par=coher.P
#
coher.%.H:	mig.%.H coher.P ${BINDIR}/semblance.x ${BINDIR}/rmute2.x cut.%.H
	<mig.$*.H ${BINDIR}/rmute2.x >smute.H par=coher.P cut=cut.$*.H
	< smute.H ${BINDIR}/semblance.x  >$@ par=coher.P
#	
#
#sem_ref.%.H:	${BINDIR}/grab_semb.x grab.P coher.%.H reflectors.%.H
#	${BINDIR}/grab_semb.x par=grab.P < coher.$*.H >$@ refs=reflectors.$*.H
#
#
#smooth_sem.%.H:	${BINDIR}/pick.x  sem_ref.%.H pick.P
#	Smooth par=pick.P <sem_ref.$*.H | ${BINDIR}/pick.x >$@ par=pick.P
#
##################################
#######   MIGRATION    ###########
##################################
#	
#vel0.H: ${VEL}
#	Cp ${VEL} aa.H
#	< aa.H Clip chop=greater clip=4500 to=4500 >bb.H
#	<bb.H Scale dscale=.001>cc.H
#	<cc.H Interp d1out=12.5 | Transp|Interp d1out=12.5 |Transp >$@	
#	echo d1=.0125 d2=.0125 >>$@
#
#%.mig.H:	%.H
#	<$*.H Transp | Transp plane=23 >$@
#	echo o2=0 d2=1 >>$@
#
#
#mig.%.H:  elf.freq.H mig.P %.mig.H
#	Window <  elf.freq.H >in.$*.H squeeze=n   f3=16 n3=243 j1=2
#	${MIG} par=mig.P>log.mig2 Data=in.$*.H Image=image.$*.H Slow=$*.mig.H
#	<image.$*.H Window | Transp plane=23 |Transp plane=12 |Transp plane=23 >$@
#
#mig2.%.H:  synth.freq.H mig2.P %.mig.H
#	Window <  synth.freq.H >pn.H squeeze=n  n1=500 n3=80
#	${MIG2} par=mig2.P>log.mig2 Data=pn.H Image=image2.$*.H Slow=$*.mig.H
#	<image2.$*.H Window | Transp plane=23 |Transp plane=12 |Transp plane=23 >$@
#
#
#
##################################
#######   FREQUENCY    ###########
##################################
#
#
#
#
elf.freq.H: ${DATA} freq.P ${BINDIR}/zero_it.x
	${BINDIR}/zero_it.x < ${DATA} >a1.H
	Window < a1.H j3=2 |Transp  >aa.H par=freq.P plane=23 core=1000000
	${BINDIR}/Transf < aa.H >$@  par=freq.P
	echo z_data_0=0.  >> $@
	echo o2=0 d2=1 n2=1 o3=0 n3=136 d3=.0125 d1=.026666  o4=0 d4=.166667 n4=300 >>$@
#	${BINDIR}/zero_it.x < ${DATA} >a1.H
##	Window n2=134  < a1.H | Reverse which=2   >aa.H
##	Spike n1=1500 n2=7 n3=1000 >dd.H
##	Cat aa.H dd.H a1.H  axis=2 |Window n2=275 >bb.H
#	Transp <bb.H plane=23 >cc.H max_memory=1200 verb=1 verbose=1 core=100000
#
#   
################################################################################
################################################################################
######################UNUSED: CREATING VELOCITY, DATA, REFLECTORS###############
################################################################################
################################################################################
#
#
##################################
#######INITIAL VELOCITY###########
##################################
#dome_vel.H:  ${BINDIR}/dome_model.x dome.P
#	${BINDIR}/dome_model.x velocity=$@ par=dome.P >/dev/null refs=all_reflectors.H
#	echo o2=0. d2=.016 >> $@
#
#vel_cor.z.H:  dome_vel.H ${BINDIR}/Smooth.x
#	<dome_vel.H   ${BINDIR}/Smooth.x  nwind1=19 nwind2=19 | \
#	Window j1=2 j2=2 > $@
#	echo o2=0 d2=.032 >> $@
#
#wind.H:  dome_vel.H ${BINDIR}/Smooth.x
#	<dome_vel.H  Window j1=8 j2=8 >a.H
#	<a.H   ${BINDIR}/Smooth.x  nwind1=19 nwind2=19 >$@
#
#
##################################
#######  CREATING DATA ###########
##################################
#
#moduli.H: vel_cor.z.H ${BINDIR}/mk_mod.x  ref.vel_cor.H ${BINDIR}/Extend_it.x
#	< vel_cor.z.H  Window   j1=2 |${BINDIR}/Extend_it.x beg2=10 end2=20 end1=10 >v.H
#	${BINDIR}/mk_mod.x  < v.H >$@ ratio=.02 refs=ref.vel_cor.H
#
#wavelet.H:
#	Wavelet n1=40 d1=0.002 domain=time wavelet=ricker1 tdelay=0.025 fund=35. fhigh=40.  > $@
#
#synth.H:	moduli.H	iso.P wind.P math.P sort.P
#	Iso2d < wavelet.H >hold.H par=iso.P src_1=1 nsrc=620
#	echo o2=0. d3=.032  >> tot.H
#	Window < tot.H >wind.H j1=4
#	Create3d keyname1=offset_x keyname2=s_x < wind.H >tot.h.H
#	Headermath < tot.h.H >tot.m.H par=math.P
#	Sort3d < tot.m.H > hold2.H par=sort.P
#	Stack3d axes=1 < synth.3d.H > big.H
#	Window < big.H  par=wind.P |Window min2=2 max2=18 >wind2.H
#	Transp plane=23 < wind2.H  |Bandpass flo=10 |Mute tmute=.2 vmute=1.9 |Transp plane=23>$@
#
#
#	
##################################
#######DEPTH REFLECTORS###########
##################################
#
#LAYERS=0 1 2 3 4 5
#
#reflector.0.H:  dome_vel.H ${BINDIR}/make_layer.x vel_cor.z.H
#	${BINDIR}/make_layer.x < dome_vel.H  vel=2.7 |Window f1=15 n2=1 j1=2 n1=590 >$@
#
#reflector.1.H:  dome_vel.H ${BINDIR}/make_layer.x vel_cor.z.H
#	${BINDIR}/make_layer.x < dome_vel.H  vel=2.592 ntime=2|Window f1=15 n2=1 j1=2 n1=590>$@
#
#reflector.2.H:  dome_vel.H ${BINDIR}/make_layer.x vel_cor.z.H
#	${BINDIR}/make_layer.x < dome_vel.H  vel=3.0 |Window f1=15 n2=1 j1=2  n1=590>$@
#
#reflector.3.H:  dome_vel.H ${BINDIR}/make_layer.x vel_cor.z.H
#	${BINDIR}/make_layer.x < dome_vel.H  vel=3.4 |Window f1=15 n2=1 j1=2  n1=590>$@
#
#reflector.4.H:  dome_vel.H ${BINDIR}/make_layer.x vel_cor.z.H
#	${BINDIR}/make_layer.x < dome_vel.H  vel=3.6 |Window f1=15 n2=1 j1=2  n1=590>$@
#
#reflector.5.H:  dome_vel.H ${BINDIR}/make_layer.x vel_cor.z.H
#	${BINDIR}/make_layer.x < dome_vel.H  vel=3.99 |Window f1=15 n2=1 j1=2  n1=590>$@
#
#
#reflectors.z.vel_cor.H:  dome_vel.H ${BINDIR}/make_layer.x vel_cor.z.H
#	${MAKE} $(addsuffix .H, $(addprefix reflector.,${LAYERS} ))
#	Cat axis=2 $(addsuffix .H, $(addprefix reflector.,${LAYERS}))  >$@
#	${RM} $(addsuffix .H, $(addprefix reflector.,${LAYERS} ))
#
#
#${BINDIR}/Smooth.x: Smooth.o gausw.o boxw.o zero.o compsub.o smax.o
#
#
#   
#
#
#.PRECIOUS:  reflectors.%.H  ${BINDIR}/%.x mig.%.H  vel1.%.H sem_ref.%.H coher.%.H
#
include ${SEPINC}/SEP.bottom
