include ${SEPINC}/SEP.top
include ../../Src/thesis.include
ifeq (${ARCH},LINUX)
FFT=/net/kana/biondo/FFTW/lib/libsfftw.a /net/kana/biondo/FFTW/lib/libsrfftw.a
endif
BBLIB=-L/net/kana/biondo/lib/gendown3d_v9/${MTYPE} -L/net/kana/biondo/lib/timers_v1/${MTYPE}   -lgendown3d  -lSEPtimers 
BBINC=-I/net/kana/biondo/include/gendown3d_v9/${MTYPE} -I/net/kana/biondo/include/timers_v1/${MTYPE} -I//net/kana/biondo/include/gendown3d_v9/${MTYPE}
ALL=-lsepauxf90 -lsepaux -lsupersetf90 -lsuperset  -lgeef90 -lsep2df90 ${BBLIB} ${FFT}
SRCDIR=../Src
BINDIR=../Bin
RESDIR=../Figs
UF90INCLUDES= -I. ${BBINC}
#F90OLEVEL=2
#UF90FLAGS=-Mbounds
RESULTSER=synth-model tau-initial sigma
RESULTSER=mig0 semb-mig0 semb-mig0-ref iter1-comp iter3-comp-vel ref.vel3.z ref.vel3.tau res.vel0 res.vel1.z res.vel1.tau rays
RESULTSER=mig0 iter1-comp iter3-comp-vel ref.vel3.z ref.vel3.tau res.vel0 res.vel1.z res.vel1.tau rays
UPSTEXFLAGS=invras=y


UF90FLAGS=${BOBINCS} -mp
UF90LIBS= ${BOBLIBS} -mp
UCLIBS=-lsuperset -lsep3d -lsep





DATA=/net/kana/bob/data/synth.HH
TRANSF=/net/kana/bob/Transf

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


MIG2=/net/kana/biondo/bin/${MTYPE}/Pre2D_salt_ssf.x
MIG=../Bin/Pre2D_salt_ssf.x

#MIG=${BINDIR}/Pre2D_salt_ssf.x

test:	${BINDIR}/Pre2D_salt_ssf.x

#################################
#####  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 


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}/rays.v:	px.vel_cor.H px.vel0.H reflectors.z.vel_cor.H reflectors.vel0.H
	Window3d < px.vel_cor.H f4=5 f3=8 j2=6 >a.H synch=1 n3=1 min2=6 max2=14
	Window3d < px.vel0.H f4=5 f3=8 j2=6 >b.H synch=1 n3=1 j1=4 min2=6 max2=14
	Graph < a.H  >cor.V yreverse=y min1=2 max1=18 min2=0 max2=5 title=" " wantaxis=n  plotcol=3 plotfat=3
	Graph < b.H  >zero.V yreverse=y min1=2 max1=18 min2=0 max2=5 title=" " wantaxis=n dash=2 plotcol=1 plotfat=3 symbol="*" symbolsz=2
	Graph < reflectors.vel_cor.H  >ref_cor.V yreverse=y min1=2 max1=18 min2=0 max2=5 title=" " wantaxis=n dash=0 plotcol=1 plotfat=3
	Window j1=4 < reflectors.vel0.H |Graph  >ref_zero.V yreverse=y min1=2 max1=18 min2=0 max2=5 title=" " wantaxis=n dash=2 plotcol=1 plotfat=3 symbol="*" symbolsz=2
	${GREY} < vel_cor.z.HH >vel.V wantscalebar=n bias=2.
	Vppen vpstyle=n erase=o <vel.V zero.V cor.V ref_zero.V ref_cor.V >rays.V out=$@


res.%.v:  FORCE
	Window < mig.$*.H n2=1 |Grey title=" " label1="Depth(km)" label2="X_position(km)" min2=4 max2=16 >a1.V  
	Window j1=16 < reflectors.z.vel_cor.H  |Graph title=" " wantaxis=n min1=4 max1=16 min2=0 max2=4.960 yreverse=y symbol="*" >a2.V symbolsz=16 plotcol=7
	Window j1=16 < reflectors.z.vel_cor.H  |Graph title=" " wantaxis=n min1=4 max1=16 min2=0 max2=4.960 yreverse=y symbol="*" >a3.V symbolsz=28 plotcol=0
	Vppen erase=once < a1.V a3.V a2.V vpstyle=n erase=once >a.V
	Window < mig.$*.H min3=5.5 j3=70 |Window n3=1 |Grey >b.V  title=" " label1="Depth(km)" \  label2="p\\s60 \\_hx\\^\\s100 " labelsz=16 labelfat=20  title="5.5" titlesz=36 titlefat=20 wantaxis=n  crowd1=1.  
	Window < mig.$*.H min3=5.5 j3=70  |Window n3=1 f3=1|Grey >c.V  title=" " label1="Depth(km)"crowd1=1. \  label2="p\\s60 \\_hx\\^\\s100 " labelsz=16 labelfat=20  title="7.75" titlesz=36 titlefat=20 wantaxis=n crowd1=1.  
	Window < mig.$*.H min3=5.5 j3=70  |Window n3=1 f3=2|Grey >d.V  title=" " label1="Depth(km)"  \        label2="p\\s60 \\_hx\\^\\s100 " labelsz=16 labelfat=20 title="10" titlesz=36 titlefat=20 wantaxis=n crowd1=1.
	Vppen < b.V c.V d.V gridnum=3,1  vpstyle=n >e.V yscale=3
	Vppen < a.V e.V >res.$*.V out=g.v vpstle=n yscale=2 gridnum=2,1
	vp_annotate < g.v >$@ batch=y text_file=ss.txt

		

${RESDIR}/synth-model.v: zero-synth.v vel_cor.v
	vp_SideBySideIso vel_cor.v zero-synth.v  >$@

${RESDIR}/semb-mig0.v:	overlay.vel0.8.v
	cp  overlay.vel0.8.v $@

${RESDIR}/iter3-comp-vel.v: vel3.tau.H vel3.z.H
	${GREY} < vel3.tau.H >a.V bias=2 allpos=y barlabel="Velocity(km/s)"
	${GREY} < vel3.z.H >b.V bias=2 allpos=y barlabel="Velocity(km/s)"
	Vppen gridnum=2,1 < b.V a.V >comp-vel.V out=$@ 

${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 reflectors.z.vel_cor.H
	${GREY} < vel0.H out=a.v bias=2 allpos=y >/dev/null \
   barlabel="Velocity(km/s)"
	Window < mig.vel0.H n2=1 |Grey out=b.v >/dev/null wantscalebar=n title=" " label1="Depth(km)" label2="X Position (km)"
	Window j1=16 < reflectors.z.vel_cor.H|Graph out=c.v min1=2 max1=18  min2=0 max2=5 yreverse=1 >/dev/null  symbolsz=16 plotcol=0 symbol="*" wantaxis=n title=" "
	Window j1=16 < reflectors.z.vel_cor.H |Graph out=d.v min1=2 max1=18  min2=0 max2=5 yreverse=1 >/dev/null  symbolsz=8 plotcol=7 symbol="*" wantaxis=n title=" "
	vp_Overlay b.v c.v d.v >e.v
	vp_SideBySideIso a.v e.v >$@


${RESDIR}/tau-initial.v:  tau-vel_cor.v tau-vel0.v
	vp_SideBySideIso tau-vel_cor.v tau-vel0.v >$@

${RESDIR}/res.vel3.z.v:	res.vel3.z.v
	cp res.vel3.z.v $@

${RESDIR}/res.vel3.tau.v:	res.vel3.tau.v
	cp res.vel3.tau.v $@

${RESDIR}/res.vel0.v:	res.vel0.v
	cp res.vel0.v $@


vel1.z.delta.V:	vel1.z.H
	Window < delta.vel0.z.H f3=1 |\
	${GREY}   >a.V  barlabel="Slowness (s/km)"  o2=-2.56 d2=.256 o1=-.64 d1=.064\
   labelsz=16 crowd2=.7
	${GREY} < vel1.z.H barlabel="Velocity(km/s)" >b.V allpos=y bias=2 clip=2 labelsz=16 crowd2=.7
	Vppen vpstyle=n gridnum=2,1 <a.V b.V >$@ yscale=2

vel1.tau.delta.V:	vel1.tau.H
	Window < delta.vel0.tau.H  f3=1|\
	${GREY}  >a.V  barlabel="Slowness (s/km)"  o2=-2.56 d2=.256 \
		o1=-.48 d1=.048 max1=4 label1="Tau(s)" labelsz=16 crowd2=.7
	${GREY} < vel1.tau.H barlabel="Velocity(km/s)" >b.V allpos=y bias=2 clip=2 labelsz=16 crowd2=.7
	Vppen vpstyle=n gridnum=2,1 <a.V b.V >$@ yscale=2


BAR=barlabel="Velocity(km/s)"
tau-%.v:	tau-%.H
	Real <  tau-$*.H | ${GREY}  out=tau_$*.v max1=3.5 clip=2. bias=2. allpos=y ${BAR}
	${GRAPH} < tau_reflectors.$*.H out=tau_reflectors.$*.v max2=3.5
	vp_Overlay tau_$*.v tau_reflectors.$*.v >$@

#${RESDIR}/semb-vel0-ref.v:	${addprefix semb-ref.vel0-addsuffix .V,0 1 2 3 4 5}}
#	Vppen <${addprefix semb-ref.vel0.,${addsuffix .V,0 1 2 3 4 5}} out=$@ vpstyle=n gridnum=1,6 >/dev/null xscale=6
#	
#
#${RESDIR}/semb-vel1.z-ref.v:	${addprefix semb-ref.vel1.z.,${addsuffix .V,0 1 2 3 4 5}}
#	Vppen <${addprefix semb-ref.vel1.tau.,${addsuffix .V,0 1 2 3 4 5}} out=$@ vpstyle=n gridnum=1,6 >/dev/null xscale=6
#	
#
#${RESDIR}/semb-vel1.tau.ref.v:	${addprefix semb-ref.vel1.tau.,${addsuffix .V,0 1 2 3 4 5}}
#	Vppen <${addprefix semb-ref.vel1.tau.,${addsuffix .V,0 1 2 3 4 5}} out=$@ vpstyle=n gridnum=1,6 >/dev/null xscale=6
#	
#
#${RESDIR}/semb-vel3.z-ref.v:	${addprefix semb-ref.vel3.z.,${addsuffix .V,0 1 2 3 4 5}}
#	Vppen <${addprefix semb-ref.vel3.z.,${addsuffix .V,0 1 2 3 4 5}} out=$@ vpstyle=n gridnum=1,6 >/dev/null xscale=6
#	
#
#${RESDIR}/semb-vel3.tau-ref.v:	${addprefix semb-ref.vel3.tau.,${addsuffix .V,0 1 2 3 4 5}}
#	Vppen <${addprefix semb-ref.vel3.tau.,${addsuffix .V,0 1 2 3 4 5}} out=$@ vpstyle=n gridnum=1,6 >/dev/null xscale=6
#	

${RESDIR}/semb-mig0-ref.v:	${addprefix semb-ref.vel0.,${addsuffix .V,0 1 2 3 4 5}}
	Vppen <${addprefix semb-ref.vel0.,${addsuffix .V,0 1 2 3 4 5}} out=$@ vpstyle=n gridnum=1,6 >/dev/null xscale=6
	


#${RESDIR}/semb-mig0-ref.v:	${addprefix semb-ref.vel0.,${addsuffix .V,0 1 2 3 4 5}}
#	Vppen <${addprefix semb-ref.vel0.,${addsuffix .V,0 1 2 3 4 5}} out=$@ vpstyle=n gridnum=1,6 >/dev/null xscale=6
#	
#
#
#${RESDIR}/semb-mig0-ref.v:	${addprefix semb-ref.vel0.,${addsuffix .V,0 1 2 3 4 5}}
#	Vppen <${addprefix semb-ref.vel0.,${addsuffix .V,0 1 2 3 4 5}} out=$@ vpstyle=n gridnum=1,6 >/dev/null xscale=6
#	


vel_cor.v:	vel_cor.H reflectors.z.vel_cor.H
	${GREY} < vel_cor.H  out=a.v bias=2 allpos=y barlabel="Velocity(km/s)"
	${GRAPH} < reflectors.z.vel_cor.H out=b.v symbol="*" plotcol=7
	vp_Overlay a.v b.v >$@

cor.v:
	Grey < mig.vel_cor.H  eout=1| Transp plane=23 >tt.T
	Cubeplot < tt.T frame1=85  frame2=240 out=$@  frame3=1>/dev/null point1=.7 point2=.7 pint3=.3 label1="Depth(km)" title=" " flat=y label2="X_position (km)" label3="phx (s/km)"

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.,${addsuffix .v,${PANELS}}}
	vp_Movie ${addprefix overlay.,${addsuffix .v,${PANELS}}} >$@


overlay.vel0.%.v:	${BINDIR}/plot_it.x smooth_sem.vel0.H mig.vel0.H reflectors.vel0.H
	Window < mig.vel0.H min3=$* n3=1  >pn.H
	<pn.H Grey out=a.v >/dev/null min1=0 max1=4.5 min2=0 max2=.62 title="$*"
	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
	< cur.H Graph out=b.v >/dev/null yreverse=y min2=0 max2=4.5 min1=0 max1=.62\
   wantaxis=n  title=" " symbol="*" symbolsz=16 plotcol=0 
	< cur.H Graph out=c.v >/dev/null yreverse=y min2=0 max2=4.5 min1=0 max1=.62\
   wantaxis=n symbolsz=8 plotcol=7 title=" "
	vp_Overlay a.v b.v  c.v >$@


semb-ref.vel1.z.%.V:	smooth_sem.vel1.z.H sem_ref.vel1.z.H
	Window < sem_ref.vel1.z.H f3=$* n3=1 |Grey out=a.v  min1=-4 max1=4 min2=2 max2=18 allpos=y >a.V title=" " crowd=1 axis=n
	Window <smooth_sem.vel1.z.H f2=$* n2=1 |Graph symbolsz=20 min1=2 max1=18 min2=-4 max2=4 out=b.v >b.V yreverse=y title=" " crowd=1. crowd=1 axis=n plotfat=13 symbol="*"
	Vppen<  a.V b.V  vpstyle=n erase=n >$@ 

semb-ref.vel1.tau.%.V:	smooth_sem.vel1.tau.H sem_ref.vel1.tau.H
	Window < sem_ref.vel1.tau.H f3=$* n3=1 |Grey out=a.v  min1=-4 max1=4 min2=2 max2=18 allpos=y >a.V title=" " crowd=1 axis=n
	Window <smooth_sem.vel1.tau.H f2=$* n2=1 |Graph symbolsz=20 min1=2 max1=18 min2=-4 max2=4 out=b.v >b.V yreverse=y title=" " crowd=1. crowd=1 axis=n plotfat=13 symbol="*"
	Vppen<  a.V b.V >$@ vpstyle=n erase=n  

semb-ref.vel3.z.%.V:	smooth_sem.vel3.z.H sem_ref.vel3.z.H
	Window < sem_ref.vel3.z.H f3=$* n3=1 |Grey out=a.v  min1=-4 max1=4 min2=2 max2=18 allpos=y >a.V title=" " crowd=1 axis=n
	Window <smooth_sem.vel3.z.H f2=$* n2=1 |Graph symbolsz=20 min1=2 max1=18 min2=-4 max2=4 out=b.v >b.V yreverse=y title=" " crowd=1. crowd=1 axis=n plotfat=13 symbol="*"
	Vppen<  a.V b.V >$@ vpstyle=n erase=n  

semb-ref.vel3.tau.%.V:	smooth_sem.vel3.tau.H sem_ref.vel3.tau.H
	Window < sem_ref.vel3.tau.H f3=$* n3=1 |Grey out=a.v  min1=-4 max1=4 min2=2 max2=18 allpos=y >a.V title=" " crowd=1 axis=n
	Window <smooth_sem.vel3.tau.H f2=$* n2=1 |Graph symbolsz=20 min1=2 max1=18 min2=-4 max2=4 out=b.v >b.V yreverse=y title=" " crowd=1. crowd=1 axis=n plotfat=13 symbol="*"
	Vppen<  a.V b.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 |Grey out=a.v  min1=-4 max1=4 min2=2 max2=18 allpos=y >a.V title=" " crowd=1 axis=n
	Window <smooth_sem.vel0.H f2=$* n2=1 |Graph symbolsz=16 min1=2 max1=18 min2=-4 max2=4 out=b.v >b.V yreverse=y title=" " crowd=1. crowd=1 axis=n plotfat=13 symbol="*"
	Window <smooth_sem.vel0.H f2=$* n2=1 |Graph symbolsz=8 plotcol=7 min1=2 max1=18 min2=-4 max2=4 out=b.v >c.V yreverse=y title=" " crowd=1. crowd=1 axis=n plotfat=13 symbol="*"
	Vppen<  a.V b.V c.V >$@ vpstyle=n erase=o 

${RESDIR}/sigma.v: tau-vel_cor.H
	Imag <  tau-vel_cor.H | ${GREY}  out=$@ max1=3.5  color=I barlabel="Amplitude"



#################################
#####VELOCITY/TOMOGRAPHY#########
#################################


vel0.H:	vel_cor.z.HH
	Window <  vel_cor.z.HH n2=1 j1=2 >one.H
	Extend_it.x <  one.H end2=624 >$@


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.vel0.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 \
  residual_times=res.vel1.$*.H semblance=smooth_sem.vel1.$*.H
	Window < v.$*.H  f1=10 f2=10 n1=79 n2=79 | Interp d1out=.032 n1out=157 | Transp |Interp d1out=.032 n1out=625 |Transp >$@



vel3.%.H:	${BINDIR}/Tomo_2d.x	vel2.%.H  tomo.3.%.P smooth_sem.vel0.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 \
  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
	<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 \
  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 >$@


px.%.H:	rays.P %.H ${BINDIR}/Tomo_2d.x smooth_sem.%.H reflectors.%.H
	mpirun  -np 2 -keep_pg ${BINDIR}/Tomo_2d.x  par=rays.P reflectors=reflectors.$*.H zero_rays=zero.$*.H  px_rays=px.$*.H semblance=smooth_sem.$*.H < $*.H >log_it

vel1.%.H:		vel0.H  tomo.1.%.P smooth_sem.vel0.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.$*.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 \
  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 >$@



#################################
#####   RESOLUTION      #########
#################################

resolve.%.H:		vel0.H  resolve.%.P smooth_sem.vel0.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=resolve.$*.P < vel.H >v.$*.H semblance=smooth_sem.vel0.H\
  reflectors=reflectors.vel0.H zero_rays=zero.vel0.$*.H  px_rays=px.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 >$@


#################################
#####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 j1=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.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
	Cat axis=2 layer1.$*.zero.H layer2.$*.zero.H layer3.$*.zero.H layer4.$*.zero.H layer5.$*.zero.H layer6.$*.zero.H >$@




#################################
#####  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}/rmute.x
	<mig.$*.H ${BINDIR}/rmute.x >smute.H par=coher.P
	< 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
	${BINDIR}/pick.x  <sem_ref.$*.H >$@ par=pick.P

#################################
######   MIGRATION    ###########
#################################

%.mig.H:	%.H
	Transp < $*.H plane=12 |Transp plane=23 >$@
	echo o2=0 d2=1 >>$@


mig.%.H:  synth.freq.H mig.P %.mig.H
	Window <  synth.freq.H >in.$*.H squeeze=n  n1=500 n3=159
	${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    ###########
#################################



synth.freq.H: ${DATA} freq.P
	Window < ${DATA} f3=1 |Reverse which=4 >aa.H
	Cat aa.H ${DATA} axis=3 |Window f1=3 >bb.H
	echo o1=0. >> bb.H
	Transf < bb.H >synth.freq.H par=freq.P
	echo o2=0 d2=1 n2=1 o3=-2.528 d3=.032 n3=159 n4=128 d4=.262605  o4=0 >>$@
	echo z_data_0=0.  >> $@

synth2.freq.H: ${DATA} freq.P
	Window < ${DATA} f3=1 |Reverse which=4 >aa.H
	Cat aa.H ${DATA}  axis=3 |Window f1=3 >bb.H
	echo o1=0.  >> bb.H
	Transf < bb.H >$@  par=freq.P
	echo o2=0 d2=1 n2=1 o3=-2.528 d3=.032 n3=159 n4=128 d4=.262605  o4=0 >>$@
	echo z_data_0=0.  >> $@


###############################################################################
###############################################################################
#####################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: ${addprefix ${OBJDIR},Smooth.o gausw.o boxw.o zero.o compsub.o smax.o}

clean:	jclean


   


.PRECIOUS:  reflectors.%.H  ${BINDIR}/%.x mig.%.H  vel1.%.H sem_ref.%.H coher.%.H

include ${SEPINC}/SEP.bottom
