include $(SEPINC)/SEP.top

BINDIRJ = ./Src
BINDIR = ./Src
P = ./Par

#------------------------------------
default: data.H

wave.H:
	Wavelet n1=64 d1=0.004 wavelet=ricker2 fund=20 tdelay=0.08 | \
	Halfint inv=1 | Halfint inv=1 conj=1 > $@
	echo 'o1=-0.08' >> $@

3rd-wave.H:
	Wavelet n1=96 d1=0.002 wavelet=ricker2 fund=32 tdelay=0.08 | \
	Halfint inv=1 | Halfint inv=1 conj=1 > $@
	echo 'o1=-0.08' >> $@

4th-wave.H:
	Wavelet n1=128 d1=0.001 wavelet=ricker2 fund=32 tdelay=0.08 | \
	Halfint inv=1 | Halfint inv=1 conj=1 > $@
	echo 'o1=-0.08' >> $@

#------------------------------------
# first dataset : 96*96*64

geom.H: $P/geom.P
	Marine_geom3d par=$P/geom.P > $@

plane%.H: $P/plane%.P $P/plane-all.P
	cat $P/plane$*.P $P/plane-all.P > junk.PP
	$(BINDIR)/plane.x par=junk.PP > $@
	rm -f junk.PP
#	Disfil col=4 < $@ > ./Matlab/plane$*.ascii

planes= plane85.H plane75.H plane60.H plane45.H plane30.H plane0.H

planes.H: $(planes)
	Merge axis=2 space=n $(planes) > $@ datapath=$(DATAPATH)
#	Disfil col=4 < $@ > ./Matlab/planes.ascii

green.H: $P/green.P
	Gfgradz par=$P/green.P | Smooth rect1=3 rect2=3 | Smooth rect1=3 rect2=3 > $@

data.HH: wave.H geom.H planes.H green.H $P/kirmod.P
	Kirmod3d < geom.H par=$P/kirmod.P > kirmod-tmp-1st.H datapath=$(DATAPATH)
	Window < kirmod-tmp-1st.H f1=20 > $@ datapath=$(DATAPATH)
	Rm kirmod-tmp-1st.H
	echo '#--------------------------------------------------------------' >> $@
	echo 'n4=96 n3=96 n2=64 d4=25. d3=25. d2=25. o4=0. o3=0. o2=0. o1=0. ' >> $@
	echo 'label1=time(s) label2=halfoffset(m) label3=cmp-x(m) label4=cmp-y(m)' >> $@
	echo '#--------------------------------------------------------------' >> $@

#------------------------------------
# second dataset : 64*64*48

2nd-geom.H: $P/2nd-geom.P
	Marine_geom3d par=$P/2nd-geom.P > $@

2nd-plane%.H: $P/2nd-plane%.P $P/2nd-plane-all.P
	cat $P/2nd-plane$*.P $P/2nd-plane-all.P > junk.PP
	$(BINDIR)/plane.x par=junk.PP > $@
	rm -f junk.PP
#	Disfil col=4 < $@ > ./Matlab/2nd-plane$*.ascii

#2nd-planes= 2nd-plane85.H 2nd-plane75.H 2nd-plane60.H 2nd-plane45.H 2nd-plane30.H 2nd-plane0.H
2nd-planes= 2nd-plane45.H

2nd-planes.H: $(2nd-planes)
	Merge axis=2 space=n $(2nd-planes) > $@

2nd-green.H: $P/2nd-green.P
	Gfgradz par=$P/2nd-green.P | Smooth rect1=3 rect2=3 | Smooth rect1=3 rect2=3 > $@

2nd-data.HH: # wave.H 2nd-geom.H 2nd-planes.H 2nd-green.H $P/2nd-kirmod.P
	Kirmod3d < 2nd-geom.H par=$P/2nd-kirmod.P > kirmod-tmp-2nd.H
	Window < kirmod-tmp-2nd.H f1=20 > $@
	Rm kirmod-tmp-2nd.H
	echo '#--------------------------------------------------------------' >> $@
	echo 'n4=2 n3=64 n2=16 d4=25. d3=25. d2=25. o4=0. o3=0. o2=0.       ' >> $@
	echo 'label1=time(s) label2=halfoffset(m) label3=cmp-x(m) label4=cmp-y(m)' >> $@
	echo '#--------------------------------------------------------------' >> $@

#------------------------------------
# third dataset : 64*64*192
#   + deeper planes
#   + longer offsets
#   + higher wavelet frequency

3rd-geom.H: $P/3rd-geom.P
	Marine_geom3d par=$P/3rd-geom.P > $@

3rd-plane%.H: $P/3rd-plane%.P $P/3rd-plane-all.P
	cat $P/3rd-plane$*.P $P/3rd-plane-all.P > junk.PP
	$(BINDIR)/plane.x par=junk.PP > $@
	rm -f junk.PP
#	Disfil col=4 < $@ > ./Matlab/3rd-plane$*.ascii

3rd-planes=3rd-plane45.H # 3rd-plane85.H 3rd-plane75.H 3rd-plane60.H 3rd-plane45.H 3rd-plane30.H 3rd-plane0.H

3rd-planes.H: $(3rd-planes)
	Merge axis=2 space=n $(3rd-planes) > $@

3rd-green.H: $P/3rd-green.P
	Gfgradz par=$P/3rd-green.P | Smooth rect1=3 rect2=3 | Smooth rect1=3 rect2=3 > $@

3rd-data.HH: wave.H 3rd-geom.H 3rd-planes.H 3rd-green.H $P/3rd-kirmod.P
	Kirmod3d < 3rd-geom.H par=$P/3rd-kirmod.P > kirmod-tmp-3rd.H
	Window < kirmod-tmp-3rd.H f1=40 > $@
#	Rm kirmod-tmp-3rd.H
	echo '#--------------------------------------------------------------' >> $@
	echo 'n4=64 n3=64 n2=192 d4=25. d3=25. d2=15. o4=0. o3=0. o2=0. o1=0.' >> $@
	echo 'label1=time(s) label2=halfoffset(m) label3=cmp-x(m) label4=cmp-y(m)' >> $@
	echo '#--------------------------------------------------------------' >> $@

#------------------------------------
# third dataset : 64*64*96  TEST !!!
#   + deeper planes
#   + longer offsets
#   + higher wavelet frequency

3rdb-geom.H: $P/3rdb-geom.P
	Marine_geom3d par=$P/3rdb-geom.P > $@

3rdb-planes= 3rd-plane45.H

3rdb-planes.H: $(3rdb-planes)
	Merge axis=2 space=n $(3rdb-planes) > $@

3rdb-data.HH: 3rd-wave.H 3rdb-geom.H 3rdb-planes.H 3rd-green.H $P/3rdb-kirmod.P
	/bin/time Kirmod3d < 3rdb-geom.H par=$P/3rdb-kirmod.P > kirmod-tmp-3rdb.H  datapath=$(DATAPATH)
	Window < kirmod-tmp-3rdb.H f1=40 | Window j1=2 > $@  datapath=$(DATAPATH)
	Rm kirmod-tmp-3rdb.H
	echo '#--------------------------------------------------------------' >> $@
	echo 'n4=1 n3=64 n2=1 d4=25. d3=25. d2=15. o4=0. o3=0. o2=0. o1=0.' >> $@
	echo 'label1=time(s) label2=halfoffset(m) label3=cmp-x(m) label4=cmp-y(m)' >> $@
	echo '#--------------------------------------------------------------' >> $@

#------------------------------------
# fourth dataset : 64*64*192
#   + deeper planes
#   + longer offsets
#   + higher wavelet frequency
#   + constant velocity

DATAPATH-LINUX = /net/ashland/scr1/louis/
DATAPATH-SANTA = /net/santorin/scr4/louis/

4th-geom.H: $P/4th-geom.P
	Marine_geom3d par=$P/4th-geom.P > $@

4th-plane%.H: $P/4th-plane%.P $P/4th-plane-all.P
	cat $P/4th-plane$*.P $P/4th-plane-all.P > junk.PP
	$(BINDIR)/plane.x par=junk.PP > $@
	rm -f junk.PP
#	Disfil col=4 < $@ > ./Matlab/4th-plane$*.ascii

#4th-planes= 4th-plane60.H 4th-plane45.H 4th-plane30.H 4th-plane15.H 4th-plane0.H
4th-planes= 4th-plane30.H

4th-planes.H: $(4th-planes)
	Merge axis=2 space=n $(4th-planes) > $@

4th-green.H: $P/4th-green.P
	Gfgradz par=$P/4th-green.P | Smooth rect1=3 rect2=3 | Smooth rect1=3 rect2=3 \
	> $@ # datapath=$(DATAPATH)

4th-data.H: 4th-wave.H 4th-geom.H 4th-planes.H 4th-green.H $P/4th-kirmod.P
	Kirmod3d < 4th-geom.H par=$P/4th-kirmod.P > kirmod-tmp-4th.H # datapath=$(DATAPATH-SANTA) nfiles=10
	Window3d < kirmod-tmp-4th.H f1=80 j1=2 > $@ # datapath=$(DATAPATH-SANTA) nfiles=5
#	Window3d < tmp.H j1=2 > $@ datapath=$(DATAPATH) nfiles=5
#	Rm3d tmp.H
#	Rm kirmod-tmp-4th.H
	echo '#---------------------------------------------------------------' >> $@
	echo 'n4=96 n3=96 n2=128 d4=25. d3=25. d2=12.5 o4=0. o3=0. o2=-793.75 ' >> $@
	echo 'label1=time(s) label2=halfoffset(m) label3=cmp-x(m) label4=cmp-y(m)' >> $@
	echo '#---------------------------------------------------------------' >> $@
	< 4th-data.H Infill3d > 4th-data.infill.H
#--------------------------------------
#------------------------------------
# fifth dataset : 64*64*192
#   + 30deg plane
#   + longer offsets
#   + higher wavelet frequency
5th-wave.H:
	Wavelet n1=128 d1=0.001 wavelet=ricker2 fund=32 tdelay=0.08 | \
	Halfint inv=1 | Halfint inv=1 conj=1 > $@
	echo 'o1=-0.08' >> $@

5th-geom.H: $P/5th-geom.P
	Marine_geom3d par=$P/5th-geom.P > $@

5th-plane%.H: $P/5th-plane%.P $P/5th-plane-all.P
	cat $P/5th-plane$*.P $P/5th-plane-all.P > junk.PP
	$(BINDIR)/plane.x par=junk.PP > $@
	rm -f junk.PP
#	Disfil col=4 < $@ > ./Matlab/4th-plane$*.ascii

#4th-planes= 4th-plane60.H 4th-plane45.H 4th-plane30.H 4th-plane15.H 4th-plane0.H
5th-planes= 5th-plane15.H

5th-planes.H: $(5th-planes)
	Merge axis=2 space=n $(5th-planes) > $@

5th-green.H: $P/5th-green.P
	Gfgradz par=$P/5th-green.P | Smooth rect1=3 rect2=3 | Smooth rect1=3 rect2=3 > $@

5th-data.H: 5th-wave.H 5th-geom.H 5th-planes.H 5th-green.H $P/5th-kirmod.P
	Kirmod3d < 5th-geom.H par=$P/5th-kirmod.P > kirmod-tmp-5th.H
	Window3d < kirmod-tmp-5th.H f1=80 j1=2 > $@
	echo '#---------------------------------------------------------------' >> $@
	echo 'n4=192 n3=192 n2=128 d4=25. d3=25. d2=12.5 o4=0. o3=0. o2=-793.75       ' >> $@
	echo 'label1=time(s) label2=halfoffset(m) label3=cmp-x(m) label4=cmp-y(m)' >> $@
	echo '#---------------------------------------------------------------' >> $@
	< 5th-data.H Infill3d > 5th-data.infill.H




%.T: %.H
	Grey eout=1 gainpanel=all pclip=95 <$*.H >$@

%.v: %.H
	Grey <$*.H out=$@ title=$* > /dev/null

clean: jclean
	rm -f *.H@@ *.H@@@@

include $(SEPINC)/SEP.bottom
