#############################################
#
# . . BP Velocity Benchmark
#

bppar = flo=1.0 fhi=35.

XB = ./Bin/
Test_WPAR =  j5=2

# . . Wavefield additions
add1=127
add2=128

# . . Migration Parameters


#################################################
#
# . . Synthetic Velocity
VPAR = n1=600 n2=1000 n3=1000 o1=0. o2=-10000. o3=-10000. d1=10. d2=20. d3=20. vc=2000.
V.H:
	Vel  $(VPAR)> $@

#################################################
#
# . . Source and Receiver Wavefields

SWF.H:
	Wavelet n1=4096 n2=1 n3=1 d1=0.004 d2=10 d3=10 d4=10 d5=10 o1=-0.08 tdelay=0.08 o2=0. o3=0. \
		domain=time fund=15 wavelet=ricker2 > t0.H
	echo "o2=0 o3=0 d2=10 d3=10" >> t0.H
	< t0.H  Transf wei=y verb=y f_min=3 f_min1=5 f_max1=30 f_max=34 > t2.H
	< t2.H Window3d $(Test_WPAR) squeeze=n> $@
	echo "d1=10 d2=10 o1=0 o2=0 n3=255  d3=0.12207 o3=2.92969 n4=1 o4=0 d4=1 n5=1" >> $@
	rm -f t0.H t1.H t2.H

RWF.H:
	Wavelet n1=4096 n2=1 n3=1 d1=0.004 d2=10 d3=10 d4=10 d5=10 \
		o1=-0.08 tdelay=0.58 o2=0. o3=0. \
		domain=time fund=15 wavelet=ricker2> ta.H
	Wavelet n1=4096 n2=1 n3=1 d1=0.004 d2=10 d3=10 d4=10 d5=10 \
		o1=-0.08 tdelay=0.83 o2=0. o3=0. \
		domain=time fund=15 wavelet=ricker2> tb.H
	Wavelet n1=4096 n2=1 n3=1 d1=0.004 d2=10 d3=10 d4=10 d5=10 \
		o1=-0.08 tdelay=1.08 o2=0. o3=0. \
		domain=time fund=15 wavelet=ricker2> tc.H
	Math file1=ta.H file2=tb.H file3=tc.H exp="file1+file2+file3" > t0.H
	echo "o2=0 o3=0 d2=10 d3=10" >> t0.H
	< t0.H  Transf wei=y verb=y f_min=3 f_min1=5 f_max1=30 f_max=34  > t2.H
	< t2.H Window3d $(Test_WPAR) squeeze=n > $@
	echo "d1=10 d2=10 o1=0 n3=255 d3=0.12207 o3=2.92969 o2=0 n4=1 o4=0 d4=1 n5=1 o5=0 d5=80 " >> $@
	rm -f t0.H t1.H t2.H ta.H tb.H tc.H


#################################################
#
# . . Migration 3. . Single Shot test
#
Migpars3 = verbose=1 norm=1 nsx=2 nsy=2 nsz=2 rscale=1. \
		minang=1 maxang=179 eps=0.00001 nxtap=25 nytap=25 \
		method=2 newimage=1 r0=1. source_norm=0 ne3=300 \
		oe3=0. de3=0.0035 n1beg=$(add1) n1end=$(add2) n2beg=$(add1) n2end=$(add2) timing=0 \
		ntilt=1 otilt=0. dtilt=0. wix=1 wiy=1 newimage=1 nxint=1

Shottest3.H: RWF.H SWF.H V.H $(XB)/ConicalRWE3D.x
	$(XB)/ConicalRWE3D.x rwf=RWF.H swf=SWF.H image=Shottest3.H vel=V.H \
		rays=rays.H $(dn) $(Migpars3)

##### . . This is Fig 5.3
CrossIn.v: $(XB)/Imp.x Shottest3.H
	$(XB)/Imp.x r0=1000  x0=-20 rays=t1.H $(dn)
	$(XB)/Imp.x r0=1500  x0=-20 rays=t2.H $(dn)
	$(XB)/Imp.x r0=2000  x0=-20 rays=t3.H $(dn)
	Cat axis=2 t1.H t2.H t3.H > ray.H
	< Shottest3.H Window3d n3=1 min3=0 > t1.H 
	< t1.H Grey pclip=99.95 label1="Depth(m)" tpow=0.75 label2="Distance(m)" title="Inline Section"\
		min1=0 max1=3000 min2=-2000 max2=2000 out=t1.v $(dn)
	< ray.H Graph min2=0 max2=3000 min1=-2000 max1=2000 out=t2.v $(dn) \
		wantaxis1=n wantaxis2=n yreverse=y title=" " plotfat=5
	vp_Overlay t1.v t2.v > Xline.v
	Cat axis=2 t1.H t2.H t3.H > ray.H
	< Shottest3.H Window3d n2=1 min2=0 > t1.H 
	< t1.H Grey pclip=99.95 label1="Depth(m)" tpow=0.75 label2="Distance(m)" title="Crossline Section"\
		min1=0 max1=3000 min2=-2000 max2=2000 out=t1.v $(dn)
	< ray.H Graph min2=0 max2=3000 min1=-2000 max1=2000 out=t2.v $(dn) \
		wantaxis1=n wantaxis2=n yreverse=y title=" " plotfat=5
	vp_Overlay t1.v t2.v > Inline.v
	vp_OverUnderAniso Inline.v Xline.v > $@
	rm -f Xline.v Inline.v t1.H t2.H t3.H ray.H

# . . This is Figure 5.4
Depth%.v: Shottest3.H
	< Shottest3.H Window3d n1=1 min1=$* min2=-2000 max2=2000 min3=-2000 max3=2000 |\
		Grey pclip=100 out=t$@ $(dn) label1="Inline (m)" \
		label2="Crossline (m)" title="Depth Slice @ $* m" \
		label2="Cross-line (m)" title="Cross-line Slice"
	vp_annotate < t$@ text=ann/addcircle.txt | vppen vpstyle=n > $@

clean: jclean
