#############################################
#
# . . BP Velocity Benchmark
#
nz=801
oz=0
dz=37.5
nx=8000
ox=-80000
dx=37.5
Cartpar=a1n=$(nz) a1d=$(dz) a1o=$(oz) a2n=$(nx) a2o=$(ox) a2d=$(dx) 
VPAR = n1=1201 d1=10 o1=0 n2=2401 d2=10 o2=-12000 vc=2000 n3=1 d3=20 o3=0
bppar = flo=1.0 fhi=32.5
BPweipar= min5=5 n5=283 j5=1 squeeze=n
sidecut=50
nfreq=250
B = /net/koko/jeff/Bin/LINUX/
dn = /dev/null
RESDIR=./Fig/

################
#
# . . Matlab Figures
Figure7.ps: MAKECUTS 
	matlab < GOOD.M
Figure8.ps: MAKECUTS
	matlab < GOODZ.M
Figure9.ps: MAKECUTS
	matlab < BAD.M
Figure10.ps: MAKECUTS
	matlab < BADZ.M

#################################################
#
# . . Velocity
BPAIT = /data/bpait/
BPV.HH: #BPAIT-vel.HH is released with data
	< $(BPAIT)/vel.H Window3d j2=1 j1=1 > $@
BPV.v:
	< BPV.HH Grey color=j newclip=1 bpclip=0 epclip=100 max1=11500\
		min2=0 max2=45000 $(aspect) out=$@ $(dn)
#################################################
#
# . . Source and Receiver Wavefields
#
BP.rwf.HH: #shots.small.H is included with the data release
	< $(BPAIT)/shots.small.H Mute vmute=2000 tmute=.5 |\
			Pad verb=y end1=47 > t2.H 
	< t2.H Transf wei=y verb=y f_min=5.0 f_min1=8. f_max1=28 f_max=32.5 > t4.H
	rm -f t2.H /scr1/jeff/t2.H@
	< t4.H Transp plane=25 | Window3d | Pad beg1=149 end1=150 > $@
	\rm -f t1.H tt1.H t2.H t3.H t4.H 

BP.Sdata.HH:
	Wavelet n1=2048 n2=1 n3=1 d1=0.006 o2=0. n2=1 d2=12.5 d3=1\
		 o1=-0.13 tdelay=0.16 o2=0. o3=0. \
		domain=time fund=25 wavelet=ricker2 > t0.H
	echo "n2=1 d2=12.5 d3=1" >> t0.H
	< t0.H Pad beg2=1349 end2=150  > t1.H
	< t1.H Transf wei=y verb=y f_min=5.0 f_min1=8. f_max1=28 f_max=32.5  > t2.H
	< t2.H Transp plane=25 | Window3d > $@
	rm -f t0.H t1.H t2.H

RTest.HH:
	Wavelet n1=2048 n2=1 n3=1 d1=0.006 d2=9.287 d3=1\
		 o1=-0.13 tdelay=2 o2=0. o3=0. \
		domain=time fund=25 wavelet=ricker2 > t0a.H
	Wavelet n1=2048 n2=1 n3=1 d1=0.006 d2=9.287 d3=1\
		 o1=-0.13 tdelay=4 o2=0. o3=0. \
		domain=time fund=25 wavelet=ricker2 > t0b.H
	Wavelet n1=2048 n2=1 n3=1 d1=0.006 d2=9.287 d3=1\
		 o1=-0.13 tdelay=6 o2=0. o3=0. \
		domain=time fund=25 wavelet=ricker2 > t0c.H
	Wavelet n1=2048 n2=1 n3=1 d1=0.006 d2=9.287 d3=1\
		 o1=-0.13 tdelay=8 o2=0. o3=0. \
		domain=time fund=25 wavelet=ricker2 > t0d.H
	Cat axis=2 t0a.H t0b.H t0c.H t0d.H | Stack > t0.H
	< t0.H Pad beg2=1830 end2=217  > t1.H
	echo "d2=9.287 o2=-16995.3" >> t1.H
	< t1.H Bandpass $(bppar) | Transf wei=y verb=y > t2.H
	< t2.H Window3d $(BPweipar) | Transp plane=25 | Window3d > $@
	rm -f t0a.H t0b.H t0c.H t0d.H t0.H t1.H t2.H

#############################
#
# . . Full-on migrations
#

# . . CARTESIAN MIGRATION - CORRECT VELOCITY
BP.CMig.H: BP.Sdata.HH BPV.HH  BP.rwf.HH
	< BP.rwf.HH Window3d max3=42000  > rrwf.H
	< BP.Sdata.HH  Window3d          > sswf.H
	< BPV.HH Window3d j1=2 max2=45000  > CBPV.H	
	Parallel command=/net/koko/jeff/Bin/LINUX/RWE2D.x \
		files="rrwf.H,sswf.H,CBPV.H,$@" \
		tags="rwf,swf,vel,image" \
		usage="INPUT,INPUT,INPUT,OUTPUT"\
		axis="3,3,3,3" verb=0 nblock=27 \
		file_type="DISTRIBUTE,COPY,COPY,COPY" \
		nxtap=50 norm=1 nsx=2 nsz=1 nh=64 \
		oe3=0. de3=12.5 ne3=1024 method=1 \
		mach_mfile=mfile verbose=1 source_norm=0 Aeps=1.

# . . ELLIPTIC MIGRATION - CORRECT VELOCITY
BP.Mig.H: BP.Sdata.HH BPV.HH  BP.rwf.HH
	< BP.rwf.HH Window3d max3=42000 min1=-8000 | Pad beg1=200 end1=33 > rrwf.H
	< BP.Sdata.HH   Window          min1=-8000 | Pad beg1=200 end1=33 > sswf.H
	< BPV.HH Window3d j1=2 max2=45000 > BPV.H	
	Parallel command=/net/koko/jeff/Bin/LINUX/RWE2D.x  \
		files="rrwf.H,sswf.H,BPV.H,$@" \
		tags="rwf,swf,vel,image" \
		usage="INPUT,INPUT,INPUT,OUTPUT"\
		axis="3,3,3,3" verb=0 \
		file_type="DISTRIBUTE,COPY,COPY,COPY" \
		verbose=1 norm=1 verb=0 nblock=30 eps=0.001  \
		mach_mfile=mfile verbose=1 source_norm=0 Aeps=1. \
		nxtap=50 norm=1 nsx=2 nsz=2 rscale=1. nh=64 method=2 \
		oe3=0. de3=0.0012 ne3=1024 minang=1 maxang=179

# . . CARTESIAN MIGRATION - WRONG VELOCITY
Wrong.BP.CMig.H: BP.Sdata.HH BPV.HH  BP.rwf.HH
	< BP.rwf.HH Window3d max3=42000 | Pad end1=152  > rrwf.H
	< BP.Sdata.HH                     Pad end1=152  > sswf.H
	< BPV.HH Window3d j1=2 max2=45000  > t1.H
	Math file1="t1.H" exp="file1*0.98" > WCBPV.H	
	Parallel command=/net/koko/jeff/Bin/LINUX/RWE2D.x \
		files="rrwf.H,sswf.H,WCBPV.H,$@" \
		tags="rwf,swf,vel,image" \
		usage="INPUT,INPUT,INPUT,OUTPUT"\
		axis="3,3,3,3" verb=0 nblock=21 \
		file_type="DISTRIBUTE,COPY,COPY,COPY" \
		nxtap=50 norm=1 nsx=2 nsz=2 nh=64 \
		oe3=0. de3=12.5 ne3=1024 method=1 \
		mach_mfile=mfile verbose=1 source_norm=0 Aeps=1.

# . . ELLIPTIC MIGRATION - WRONG VELOCITY
Wrong.BP.Mig.H: BP.Sdata.HH BPV.HH BP.rwf.HH
	< BP.rwf.HH Window3d max3=42000 | Pad end1=152  > rrwf.H
	< BP.Sdata.HH                     Pad end1=152  > sswf.H
	< BPV.HH Window3d j1=2 max2=45000  > t1.H
	Math file1="t1.H" exp="file1*0.98" > WBPV.H	
	Parallel command=/net/koko/jeff/Bin/LINUX/RWE2D.x  \
		files="rrwf.H,sswf.H,WBPV.H,$@" \
		tags="rwf,swf,vel,image" \
		usage="INPUT,INPUT,INPUT,OUTPUT"\
		axis="3,3,3,3" verb=0 \
		file_type="DISTRIBUTE,COPY,COPY,COPY" \
		verbose=1 norm=1 verb=0 nblock=21 eps=0.001  \
		mach_mfile=mfile verbose=1 source_norm=0 Aeps=1. \
		nxtap=50 norm=1 nsx=2 nsz=2 rscale=1. nh=64 method=2 \
		oe3=0. de3=0.0012 ne3=1024 minang=1 maxang=179


########################
#
# . . Tests
#

XB=./Bin/

AO=-45
X2min=20000
X2max=40000
X1min=1500
X1max=6000

# vertical cuts
L1=21000
L2=31000
L3=33300 
L4=37500

# horizontal cuts
Z1=1800
Z2=3500
Z3=4050
Z4=5500
XLoc.v: $(XB)/Lin2.x
	$(XB)/Lin2.x axis=2 a1n=801 a1o=$(X1min) a1d=20 a2n=1 a2o=$(L1) a2d=1> xx.H
	$(XB)/Lin2.x axis=1 a1n=801 a1o=$(X1min) a1d=20 a2n=1 a2o=$(L1) a2d=1> zz.H
	Cmplx xx.H zz.H > t1.H
	$(XB)/Lin2.x axis=2 a1n=801 a1o=$(X1min) a1d=20 a2n=1 a2o=$(L2) a2d=1> xx.H
	$(XB)/Lin2.x axis=1 a1n=801 a1o=$(X1min) a1d=20 a2n=1 a2o=$(L2) a2d=1> zz.H
	Cmplx xx.H zz.H > t2.H
	$(XB)/Lin2.x axis=2 a1n=801 a1o=$(X1min) a1d=20 a2n=1 a2o=$(L3) a2d=1> xx.H
	$(XB)/Lin2.x axis=1 a1n=801 a1o=$(X1min) a1d=20 a2n=1 a2o=$(L3) a2d=1> zz.H
	Cmplx xx.H zz.H > t3.H
	$(XB)/Lin2.x axis=2 a1n=801 a1o=$(X1min) a1d=20 a2n=1 a2o=$(L4) a2d=1> xx.H
	$(XB)/Lin2.x axis=1 a1n=801 a1o=$(X1min) a1d=20 a2n=1 a2o=$(L4) a2d=1> zz.H
	Cmplx xx.H zz.H > t4.H
	Cat axis=2 space=n t1.H t2.H t3.H t4.H > t5.H
	< t5.H Graph min1=$(X2min) max1=$(X2max) min2=$(X1min) max2=$(X1max) out=$@ \
		$(dn) plotcol=3 yreverse=y plotfat=10 wantaxis=n title=" "
ZLoc.v: $(XB)/Lin2.x
	$(XB)/Lin2.x axis=2 a2n=801 a2o=$(X2min) a2d=30 a1n=1 a1o=$(Z1) a1d=1> xx.H
	$(XB)/Lin2.x axis=1 a2n=801 a2o=$(X2min) a2d=30 a1n=1 a1o=$(Z1) a1d=1> zz.H
	Cmplx xx.H zz.H | Window3d> t1.H
	$(XB)/Lin2.x axis=2 a2n=801 a2o=$(X2min) a2d=30 a1n=1 a1o=$(Z2) a1d=1> xx.H
	$(XB)/Lin2.x axis=1 a2n=801 a2o=$(X2min) a2d=30 a1n=1 a1o=$(Z2) a1d=1> zz.H
	Cmplx xx.H zz.H | Window3d> t2.H
	$(XB)/Lin2.x axis=2 a2n=801 a2o=$(X2min) a2d=30 a1n=1 a1o=$(Z3) a1d=1> xx.H
	$(XB)/Lin2.x axis=1 a2n=801 a2o=$(X2min) a2d=30 a1n=1 a1o=$(Z3) a1d=1> zz.H
	Cmplx xx.H zz.H | Window3d> t3.H
	$(XB)/Lin2.x axis=2 a2n=801 a2o=$(X2min) a2d=30 a1n=1 a1o=$(Z4) a1d=1> xx.H
	$(XB)/Lin2.x axis=1 a2n=801 a2o=$(X2min) a2d=30 a1n=1 a1o=$(Z4) a1d=1> zz.H
	Cmplx xx.H zz.H | Window3d> t4.H
	Cat axis=2 space=n t1.H t2.H t3.H t4.H > t5.H
	< t5.H Graph min1=$(X2min) max1=$(X2max) min2=$(X1min) max2=$(X1max) out=$@ \
		$(dn) plotcol=3 yreverse=y plotfat=10 wantaxis=n title=" "

XWRONG.v:XLoc.v Wrong.BP.Mig.H
	< Wrong.BP.Mig.H Window3d n3=1 min2=$(X2min) max2=$(X2max) min3=$(AO) \
		    min1=$(X1min) max1=$(X1max)> t1.H
	< Wrong.BP.Mig.H Window3d n2=1 min2=$(L2) min1=$(X1min) max1=$(X1max)> t2.H
	< Wrong.BP.Mig.H Window3d n2=1 min2=$(L3) min1=$(X1min) max1=$(X1max)> t3.H
	< Wrong.BP.Mig.H Window3d n2=1 min2=$(L1) min1=$(X1min) max1=$(X1max)> t4.H
	< Wrong.BP.Mig.H Window3d n2=1 min2=$(L4) min1=$(X1min) max1=$(X1max)> t5.H
	< t1.H Grey label1="Depth (m)" label2="Distance (m)" title="$(AO) angle image" out=t1.v $(dn)
	< t2.H Grey label1="Depth (m)" label2="Angle (deg)"  title="$(L2) m" out=t2.v \
		$(dn) titlesz=32 labelsz=24 gainpanel=a
	< t3.H Grey label1="Depth (m)" label2="Angle (deg)"  title="$(L3) m" out=t3.v \
		$(dn) titlesz=32 labelsz=24 gainpanel=a
	< t4.H Grey label1="Depth (m)" label2="Angle (deg)"  title="$(L1) m" out=t4.v \
		$(dn) titlesz=32 labelsz=24 gainpanel=a
	< t5.H Grey label1="Depth (m)" label2="Angle (deg)"  title="$(L1) m" out=t9.v\
		 $(dn) titlesz=32 labelsz=24 gainpanel=a
	vp_SideBySideAniso t4.v t2.v t3.v t9.v> t5.v
	vp_Overlay t1.v XLoc.v > t6.v
	vp_SideBySideAniso t6.v t5.v > $@
	rm -f t1.H t2.H t3.H t4.H t5.H t1.v t2.v t3.v t4.v t9.v t5.v t6.v 

XRIGHT.v: XLoc.v BP.Mig.H
	< BP.Mig.H Window3d n3=1 min2=$(X2min) max2=$(X2max) min3=$(AO) \
		min1=$(X1min) max1=$(X1max)> t1.H
	< BP.Mig.H Window3d n2=1 min2=$(L2) min1=$(X1min) max1=$(X1max)> t2.H
	< BP.Mig.H Window3d n2=1 min2=$(L3) min1=$(X1min) max1=$(X1max)> t3.H
	< BP.Mig.H Window3d n2=1 min2=$(L1) min1=$(X1min) max1=$(X1max)> t4.H
	< BP.Mig.H Window3d n2=1 min2=$(L4) min1=$(X1min) max1=$(X1max)> t5.H
	< t1.H Grey label1="Depth (m)" label2="Distance (m)" title="$(AO) angle image" out=t1.v $(dn) 
	< t2.H Grey label1="Depth (m)" label2="Angle (deg)"  title="$(L2) m" out=t2.v\
		$(dn) titlesz=32 labelsz=24 gainpanel=a
	< t3.H Grey label1="Depth (m)" label2="Angle (deg)"  title="$(L3) m" out=t3.v \
		1$(dn) titlesz=32 labelsz=24 gainpanel=a
	< t4.H Grey label1="Depth (m)" label2="Angle (deg)"  title="$(L1) m" out=t4.v \
		$(dn) titlesz=32 labelsz=24 gainpanel=a
	< t5.H Grey label1="Depth (m)" label2="Angle (deg)"  title="$(L4) m" out=t9.v \
		$(dn) titlesz=32 labelsz=24 gainpanel=a
	vp_SideBySideAniso t4.v t2.v t3.v t9.v> t5.v
	vp_Overlay t1.v XLoc.v > t6.v
	vp_SideBySideAniso t6.v t5.v> $@
	rm -f t1.H t2.H t3.H t4.H t5.H t1.v t2.v t3.v t4.v t9.v t5.v t6.v 

ZWRONG.v:ZLoc.v Wrong.BP.Mig.H
	< Wrong.BP.Mig.H Window3d n3=1 min2=$(X2min) max2=$(X2max) min3=$(AO) \
		 min1=$(X1min) max1=$(X1max)> t1.H
	< Wrong.BP.Mig.H Window3d n1=1 min1=$(Z2) min2=$(X2min) max2=$(X2max) | Transp > t2.H
	< Wrong.BP.Mig.H Window3d n1=1 min1=$(Z3) min2=$(X2min) max2=$(X2max) | Transp > t3.H
	< Wrong.BP.Mig.H Window3d n1=1 min1=$(Z1) min2=$(X2min) max2=$(X2max) | Transp> t4.H
	< Wrong.BP.Mig.H Window3d n1=1 min1=$(Z4) min2=$(X2min) max2=$(X2max) | Transp> t5.H
	< t1.H Grey label1="Depth (m)" label2="Distance (m)" title="$(AO) angle image" out=t1.v $(dn)
	< t2.H Grey label1="Depth (m)" label2="Angle (deg)"  title="$(L2) m" out=t2.v $(dn) \
		titlesz=32 labelsz=24 gainpanel=a
	< t3.H Grey label1="Depth (m)" label2="Angle (deg)"  title="$(L3) m" out=t3.v $(dn) \
		titlesz=32 labelsz=24 gainpanel=a
	< t4.H Grey label1="Depth (m)" label2="Angle (deg)"  title="$(L1) m" out=t4.v $(dn) \
		titlesz=32 labelsz=24 gainpanel=a
	< t5.H Grey label1="Depth (m)" label2="Angle (deg)"  title="$(L1) m" out=t9.v $(dn) \
		titlesz=32 labelsz=24 gainpanel=a
	vp_OverUnderAniso t4.v t2.v t3.v t9.v> t5.v
	vp_Overlay t1.v ZLoc.v > t6.v
	vp_OverUnderAniso t6.v t5.v > $@
	rm -f t1.H t2.H t3.H t4.H t5.H t1.v t2.v t3.v t4.v t9.v t5.v t6.v 

ZRIGHT.v: ZLoc.v BP.Mig.H
	< BP.Mig.H Window3d n3=1 min2=$(X2min) max2=$(X2max) min3=$(AO)    min1=$(X1min) max1=$(X1max)> t1.H
	< BP.Mig.H Window3d n1=1 min1=$(Z2) min2=$(X2min) max2=$(X2max) | Transp> t2.H
	< BP.Mig.H Window3d n1=1 min1=$(Z3) min2=$(X2min) max2=$(X2max) | Transp> t3.H
	< BP.Mig.H Window3d n1=1 min1=$(Z1) min2=$(X2min) max2=$(X2max) | Transp> t4.H
	< BP.Mig.H Window3d n1=1 min1=$(Z4) min2=$(X2min) max2=$(X2max) | Transp> t5.H
	< t1.H Grey label1="Depth (m)" label2="Distance (m)" title="$(AO) angle image" out=t1.v $(dn) 
	< t2.H Grey label1="Depth (m)" label2="Angle (deg)"  title="$(L2) m" out=t2.v \
		$(dn) titlesz=32 labelsz=24 gainpanel=a
	< t3.H Grey label1="Depth (m)" label2="Angle (deg)"  title="$(L3) m" out=t3.v \
		$(dn) titlesz=32 labelsz=24 gainpanel=a
	< t4.H Grey label1="Depth (m)" label2="Angle (deg)"  title="$(L1) m" out=t4.v \
		$(dn) titlesz=32 labelsz=24 gainpanel=a
	< t5.H Grey label1="Depth (m)" label2="Angle (deg)"  title="$(L4) m" out=t9.v\
		 $(dn) titlesz=32 labelsz=24 gainpanel=a
	vp_OverUnderAniso t4.v t2.v t3.v t9.v> t5.v
	vp_Overlay t1.v ZLoc.v > t6.v
	vp_OverUnderAniso t6.v t5.v> $@
	rm -f t1.H t2.H t3.H t4.H t5.H t1.v t2.v t3.v t4.v t9.v t5.v t6.v 

# . . Cartesian Tests
CXWRONG.v:XLoc.v Wrong.BP.CMig.H
	< Wrong.BP.CMig.H Window3d n3=1 min2=$(X2min) max2=$(X2max) min3=$(AO)\
		 min1=$(X1min) max1=$(X1max)> t1.H
	< Wrong.BP.CMig.H Window3d n2=1 min2=$(L2) min1=$(X1min) max1=$(X1max)> t2.H
	< Wrong.BP.CMig.H Window3d n2=1 min2=$(L3) min1=$(X1min) max1=$(X1max)> t3.H
	< Wrong.BP.CMig.H Window3d n2=1 min2=$(L1) min1=$(X1min) max1=$(X1max)> t4.H
	< Wrong.BP.CMig.H Window3d n2=1 min2=$(L4) min1=$(X1min) max1=$(X1max)> t5.H
	< t1.H Grey label1="Depth (m)" label2="Distance (m)" title="$(AO) angle image" out=t1.v $(dn)
	< t2.H Grey label1="Depth (m)" label2="Angle (deg)"  title="$(L2) m" out=t2.v\
		 $(dn) titlesz=32 labelsz=24 gainpanel=a
	< t3.H Grey label1="Depth (m)" label2="Angle (deg)"  title="$(L3) m" out=t3.v\
		 $(dn) titlesz=32 labelsz=24 gainpanel=a
	< t4.H Grey label1="Depth (m)" label2="Angle (deg)"  title="$(L1) m" out=t4.v\
		 $(dn) titlesz=32 labelsz=24 gainpanel=a
	< t5.H Grey label1="Depth (m)" label2="Angle (deg)"  title="$(L1) m" out=t9.v\
		 $(dn) titlesz=32 labelsz=24 gainpanel=a
	vp_SideBySideAniso t4.v t2.v t3.v t9.v> t5.v
	vp_Overlay t1.v XLoc.v > t6.v
	vp_SideBySideAniso t6.v t5.v > $@
	rm -f t1.H t2.H t3.H t4.H t5.H t1.v t2.v t3.v t4.v t9.v t5.v t6.v 

CXRIGHT.v: XLoc.v BP.CMig.H
	< BP.CMig.H Window3d n3=1 min2=$(X2min) max2=$(X2max) min3=$(AO) \
		min1=$(X1min) max1=$(X1max)> t1.H
	< BP.CMig.H Window3d n2=1 min2=$(L2) min1=$(X1min) max1=$(X1max)> t2.H
	< BP.CMig.H Window3d n2=1 min2=$(L3) min1=$(X1min) max1=$(X1max)> t3.H
	< BP.CMig.H Window3d n2=1 min2=$(L1) min1=$(X1min) max1=$(X1max)> t4.H
	< BP.CMig.H Window3d n2=1 min2=$(L4) min1=$(X1min) max1=$(X1max)> t5.H
	< t1.H Grey label1="Depth (m)" label2="Distance (m)" title="$(AO) angle image" out=t1.v $(dn) 
	< t2.H Grey label1="Depth (m)" label2="Angle (deg)"  title="$(L2) m" out=t2.v \
		$(dn) titlesz=32 labelsz=24 gainpanel=a
	< t3.H Grey label1="Depth (m)" label2="Angle (deg)"  title="$(L3) m" out=t3.v \
		$(dn) titlesz=32 labelsz=24 gainpanel=a
	< t4.H Grey label1="Depth (m)" label2="Angle (deg)"  title="$(L1) m" out=t4.v \
		$(dn) titlesz=32 labelsz=24 gainpanel=a
	< t5.H Grey label1="Depth (m)" label2="Angle (deg)"  title="$(L4) m" out=t9.v \
		$(dn) titlesz=32 labelsz=24 gainpanel=a
	vp_SideBySideAniso t4.v t2.v t3.v t9.v> t5.v
	vp_Overlay t1.v XLoc.v > t6.v
	vp_SideBySideAniso t6.v t5.v> $@
	rm -f t1.H t2.H t3.H t4.H t5.H t1.v t2.v t3.v t4.v t9.v t5.v t6.v 

CZWRONG.v:ZLoc.v Wrong.BP.CMig.H
	< Wrong.BP.CMig.H Window3d n3=1 min2=$(X2min) max2=$(X2max) min3=$(AO) \
		min1=$(X1min) max1=$(X1max)> t1.H
	< Wrong.BP.CMig.H Window3d n1=1 min1=$(Z2) min2=$(X2min) max2=$(X2max) | Transp > t2.H
	< Wrong.BP.CMig.H Window3d n1=1 min1=$(Z3) min2=$(X2min) max2=$(X2max) | Transp > t3.H
	< Wrong.BP.CMig.H Window3d n1=1 min1=$(Z1) min2=$(X2min) max2=$(X2max) | Transp> t4.H
	< Wrong.BP.CMig.H Window3d n1=1 min1=$(Z4) min2=$(X2min) max2=$(X2max) | Transp> t5.H
	< t1.H Grey label1="Depth (m)" label2="Distance (m)" title="$(AO) angle image" out=t1.v $(dn)
	< t2.H Grey label1="Depth (m)" label2="Angle (deg)"  title="$(L2) m" out=t2.v \
		$(dn) titlesz=32 labelsz=24 gainpanel=a
	< t3.H Grey label1="Depth (m)" label2="Angle (deg)"  title="$(L3) m" out=t3.v \
		$(dn) titlesz=32 labelsz=24 gainpanel=a
	< t4.H Grey label1="Depth (m)" label2="Angle (deg)"  title="$(L1) m" out=t4.v \
		$(dn) titlesz=32 labelsz=24 gainpanel=a
	< t5.H Grey label1="Depth (m)" label2="Angle (deg)"  title="$(L1) m" out=t9.v \
		$(dn) titlesz=32 labelsz=24 gainpanel=a
	vp_OverUnderAniso t4.v t2.v t3.v t9.v> t5.v
	vp_Overlay t1.v ZLoc.v > t6.v
	vp_OverUnderAniso t6.v t5.v > $@
	rm -f t1.H t2.H t3.H t4.H t5.H t1.v t2.v t3.v t4.v t9.v t5.v t6.v 

CZRIGHT.v: ZLoc.v BP.CMig.H
	< BP.CMig.H Window3d n3=1 min2=$(X2min) max2=$(X2max) min3=$(AO) min1=$(X1min) max1=$(X1max)> t1.H
	< BP.CMig.H Window3d n1=1 min1=$(Z2) min2=$(X2min) max2=$(X2max) | Transp> t2.H
	< BP.CMig.H Window3d n1=1 min1=$(Z3) min2=$(X2min) max2=$(X2max) | Transp> t3.H
	< BP.CMig.H Window3d n1=1 min1=$(Z1) min2=$(X2min) max2=$(X2max) | Transp> t4.H
	< BP.CMig.H Window3d n1=1 min1=$(Z4) min2=$(X2min) max2=$(X2max) | Transp> t5.H
	< t1.H Grey label1="Depth (m)" label2="Distance (m)" title="$(AO) angle image" out=t1.v $(dn) 
	< t2.H Grey label1="Depth (m)" label2="Angle (deg)"  title="$(L2) m" out=t2.v \
		$(dn) titlesz=32 labelsz=24 gainpanel=a
	< t3.H Grey label1="Depth (m)" label2="Angle (deg)"  title="$(L3) m" out=t3.v \
		$(dn) titlesz=32 labelsz=24 gainpanel=a
	< t4.H Grey label1="Depth (m)" label2="Angle (deg)"  title="$(L1) m" out=t4.v \
		$(dn) titlesz=32 labelsz=24 gainpanel=a
	< t5.H Grey label1="Depth (m)" label2="Angle (deg)"  title="$(L4) m" out=t9.v \
		$(dn) titlesz=32 labelsz=24 gainpanel=a
	vp_OverUnderAniso t4.v t2.v t3.v t9.v> t5.v
	vp_Overlay t1.v ZLoc.v > t6.v
	vp_OverUnderAniso t6.v t5.v> $@
	rm -f t1.H t2.H t3.H t4.H t5.H t1.v t2.v t3.v t4.v t9.v t5.v t6.v 

ADCIGs:  XRIGHT.v  ZRIGHT.v  XWRONG.v  ZWRONG.v\
	CXRIGHT.v CZRIGHT.v CXWRONG.v CZWRONG.v
	echo "made ADCIG images"


ACUT = min3=-45 max3=45
MAKECUTS: ECcuts CCcuts ZECcuts ZCCcuts WECcuts WCCcuts WZECcuts WZCCcuts

ECcuts:   BP.Mig.H
	< BP.Mig.H Window3d n3=1 min3=-5 min2=20000 max2=35000 > ECcut0.H
	< BP.Mig.H Window3d n2=1 min2=21000 $(ACUT) > ECcut1.H
	< BP.Mig.H Window3d n2=1 min2=25000 $(ACUT) > ECcut2.H
	< BP.Mig.H Window3d n2=1 min2=33000 $(ACUT) > ECcut3.H
	< BP.Mig.H Window3d n2=1 min2=37500 $(ACUT) > ECcut4.H

CCcuts:   BP.CMig.H
	< BP.CMig.H Window3d n3=1 min3=-5 min2=20000 max2=35000  > CCcut0.H
	< BP.CMig.H Window3d n2=1 min2=21000 $(ACUT)> CCcut1.H
	< BP.CMig.H Window3d n2=1 min2=25000 $(ACUT)> CCcut2.H
	< BP.CMig.H Window3d n2=1 min2=33000 $(ACUT)> CCcut3.H
	< BP.CMig.H Window3d n2=1 min2=37500 $(ACUT)> CCcut4.H

ZECcuts:  BP.Mig.H
	< BP.Mig.H Window3d n3=1 min3=-5 min2=20000 max2=35000 > ZECcut0.H
	< BP.Mig.H Window3d n1=1 min1=3000  min2=20000 max2=35000 $(ACUT)> ZECcut1.H
	< BP.Mig.H Window3d n1=1 min1=4000  min2=20000 max2=35000 $(ACUT)> ZECcut2.H
	< BP.Mig.H Window3d n1=1 min1=4200  min2=20000 max2=35000 $(ACUT)> ZECcut3.H

ZCCcuts:  BP.CMig.H
	< BP.CMig.H Window3d n3=1 min3=-5 min2=20000 max2=35000  > ZCCcut0.H
	< BP.CMig.H Window3d n1=1 min1=3000 min2=20000 max2=35000 $(ACUT)> ZCCcut1.H
	< BP.CMig.H Window3d n1=1 min1=4000 min2=20000 max2=35000 $(ACUT)> ZCCcut2.H
	< BP.CMig.H Window3d n1=1 min1=4200 min2=20000 max2=35000 $(ACUT)> ZCCcut3.H

WECcuts:  Wrong.BP.Mig.H
	< Wrong.BP.Mig.H Window3d n3=1 min3=-5 min2=20000 max2=35000 > WECcut0.H
	< Wrong.BP.Mig.H Window3d n2=1 min2=21000  $(ACUT)> WECcut1.H
	< Wrong.BP.Mig.H Window3d n2=1 min2=25000  $(ACUT)> WECcut2.H
	< Wrong.BP.Mig.H Window3d n2=1 min2=33000  $(ACUT)> WECcut3.H
	< Wrong.BP.Mig.H Window3d n2=1 min2=37500  $(ACUT)> WECcut4.H

WCCcuts:  Wrong.BP.CMig.H
	< Wrong.BP.CMig.H Window3d n3=1 min3=-5 min2=20000 max2=35000  > WCCcut0.H
	< Wrong.BP.CMig.H Window3d n2=1 min2=21000 $(ACUT)> WCCcut1.H
	< Wrong.BP.CMig.H Window3d n2=1 min2=25000 $(ACUT)> WCCcut2.H
	< Wrong.BP.CMig.H Window3d n2=1 min2=33000 $(ACUT)> WCCcut3.H
	< Wrong.BP.CMig.H Window3d n2=1 min2=37500 $(ACUT)> WCCcut4.H

WZECcuts: Wrong.BP.Mig.H
	< Wrong.BP.Mig.H Window3d n3=1 min3=-5 min2=20000 max2=35000 > WZECcut0.H
	< Wrong.BP.Mig.H Window3d n1=1 min1=3000  min2=20000 max2=35000 $(ACUT)> WZECcut1.H
	< Wrong.BP.Mig.H Window3d n1=1 min1=4000  min2=20000 max2=35000 $(ACUT)> WZECcut2.H
	< Wrong.BP.Mig.H Window3d n1=1 min1=4200  min2=20000 max2=35000 $(ACUT)> WZECcut3.H

WZCCcuts: Wrong.BP.CMig.H
	< Wrong.BP.CMig.H Window3d n3=1 min3=-5 min2=20000 max2=35000  > WZCCcut0.H
	< Wrong.BP.CMig.H Window3d n1=1 min1=3000 min2=20000 max2=35000 $(ACUT)> WZCCcut1.H
	< Wrong.BP.CMig.H Window3d n1=1 min1=4000 min2=20000 max2=35000 $(ACUT)> WZCCcut2.H
	< Wrong.BP.CMig.H Window3d n1=1 min1=4200 min2=20000 max2=35000 $(ACUT)> WZCCcut3.H

xxxcut1=5000
xxxcut2=41000
zzzcut2=11900
aspect =  crowd1=0.85 crowd2=0.8

##################################################3
#
# . . Figures
#
Test0.rays.HH:
	matlab < Test0.m
HWTgraph = Graph
Sheared.v: Test0.rays.HH
	< Test0.rays.HH Window3d  n4=2 f4=0 j4=2 > tt.H
	< tt.H Window3d n3=1 f3=0 > xx.H
	< tt.H Window3d n3=1 f3=1 > zz.H
	Cmplx xx.H zz.H > r.H
	<  r.H Window3d j1=1 j2=15 f2=0> kk1.H
	< kk1.H ${HWTgraph} $(dn) out=jr.v plotcol=7 min2=0 max2=1350 max1=3200\
		yreverse=y title=" " label1="Distance (m)" \
		label2="Depth (m)"
	<  r.H Window3d j1=5 j2=1 f1=0| Transp > kk2.H
	< kk2.H ${HWTgraph} label2="Depth (m)" min2=0 max2=1350 max1=3200 \
	label1="Distance (m)" labelrot=y wantaxis=n $(dn) out=jw.v plotcol=7 \
	        wherexlabel=t labelsz=10 yreverse=y title=" "
	vp_Overlay jr.v jw.v >$@

Elliptic.v: rays.H
	< rays.H Window3d n3=1 f3=0 j2=4 j1=4 > xx.H
	< rays.H Window3d n3=1 f3=1 j2=4 j1=4 > zz.H
	Cmplx xx.H zz.H > r.H
	<  r.H Window3d j1=1 j2=15 f2=0> kk1.H
	< kk1.H ${HWTgraph} $(dn) out=jr.v plotcol=7 \
		min2=0 max2=20000 min1=10000 max1=55000\
		yreverse=y title=" " label1="Distance (m)" \
		label2="Depth (m)"
	<  r.H Window3d j1=5 j2=1 f1=0| Transp > kk2.H
	< kk2.H ${HWTgraph} label2="Depth (m)" \
		min2=0 max2=20000 min1=10000 max1=55000\
	label1="Distance (m)" labelrot=y wantaxis=n $(dn) \
		out=jw.v plotcol=7 \
	        wherexlabel=t labelsz=10 yreverse=y title=" "
	vp_Overlay jr.v jw.v >$@

EC.v:
	matlab < Elliptic.m
	< Elliptic.HH Window3d n3=1 f3=0 j2=3 > xx.H
	< Elliptic.HH Window3d n3=1 f3=1 j2=3 > zz.H
	Cmplx xx.H zz.H > rr.H
	< rr.H Graph label1="Distance (m)" label2="Depth (m)" yreverse=y out=t1.v\
		$(dn) plotcol=7 title=" "
	< rr.H Transp | Graph label1="Distance (m)" label2="Depth (m)" yreverse=y \
		out=t2.v $(dn) plotcol=7 title=" "
	vp_Overlay t1.v t2.v > $@
PC.v:
	matlab < Polar.m
	< Polar.HH Window3d n3=1 f3=0 j2=3 > xx.H
	< Polar.HH Window3d n3=1 f3=1 j2=3 > zz.H
	Cmplx xx.H zz.H > rr.H
	< rr.H Graph label1="Distance (m)" label2="Depth (m)" yreverse=y out=t1.v \
		$(dn) plotcol=7 title=" "
	< rr.H Transp | Graph label1="Distance (m)" label2="Depth (m)" yreverse=y \
		out=t2.v $(dn) plotcol=7 title=" "
	vp_Overlay t1.v t2.v > $@

EllipticADCIG.v:
	< BP.Mig.HH Window3d j2=72 >t0.H
	< t0.H  Transp plane=23 > t1.H
	echo "n2=1500 n3=1 d2=0.03 d1=0.0125" >> t1.H
	< t1.H Grey out=$@ $(dn) label1="Depth (km)" min2=10 max2=40 pclip=99 \
		label2="Angle Gathers for Distance (km)" title=" "
