MAKE_DEPEND=yes
include ${SEPINC}/SEP.top
include FigMakefile

UF90DEFINES=-DLINUX -DUSE_FFTW -DFFTW=1 -DSEP_OMP -DOMP # -DDBUG 
UF90INCLUDES=-I.
UF90FLAGS=-O3 -openmp -openmp_report2 -fast
FFTWLIBS=-L/opt/FFTW/lib -lfftw3f
MAINLIBS=-lsupersetf90 -lsuperset -lsepparf90 -lseppar -lsep2df90 -lsep3df90 -lsep3d -lsepf90 -lsep -lsepgeef90

VEC= -L/opt/intel/Compiler/11.1/059/mkl/lib/em64t -lmkl -lvml
UF90LIBS=-lsep2df90 -lsepparf90 -lseppar -lsupersetf90 -lsuperset ${FFTWLIBS} ${ACMLIB} ${MAINLIBS} -openmp -lpthread


BIN=./bin
PAR=./par
RESDIR=./Fig
R = ${RESDIR}
FIG=./Fig
DATA=./data
OBJ=./obj

RESULTER=
RESULTCR=ispew01 ispew02 ismarm01 ismarm02 ismarm03 ismarm04 ismarm05 ismarm06 ismarm07 ismarm08
RESULTNR=

#ER_v = 
#CR_v = ispew01.v ispew02.v ismarm01.v ismarm02.v ismarm03.v ismarm04.v ismarm05.v ismarm06.v ismarm07.v ismarm08.v

#ER_pdf = 
#CR_pdf = ispew01.pdf ispew02.pdf ismarm01.pdf ismarm02.pdf ismarm03.pdf ismarm04.pdf ismarm05.pdf ismarm06.pdf ismarm07.pdf ismarm08.pdf

CR_v = ismarm01.v \
       ismarm02.v \
       ismarm03.v \
       ismarm06a.v \
       ismarm04.v \
       ismarm07.v \
       ismarm08.v 

ER_pdf = ismarm101.pdf
CR_pdf = ismarm01.pdf \
	 ismarm02.pdf \
	 ismarm03.pdf \
	 ismarm06a.pdf \
	 ismarm04.pdf \
	 ismarm07.pdf \
	 ismarm08.pdf 

NR_pdf = 

cr_burn: clean
er_burn: clean
er_build: ${ER_v}
cr_build: ${CR_v}
er_pdf: ${ER_pdf}
cr_pdf: ${CR_pdf}




Prst_ExpRefl=/net/server/claudio/Research/Prst_ExpRefl
Tese=/net/server/claudio/Research/Prst_ExpRefl/Tese
PERM=/net/server/claudio/Research/Thesis/perm
##########################################
#
# 
#
# combination
#
semb%.H:
	Window3d < ${PERM}/comb.bslo.perm.$*.rot.H n1=1 min1=0 max2=400| Transp | Pad beg2=100 end2=100 | \
	OFF2ANG eps=1 amax=50 > 1.H;< 1.H ${Tese}/bin/OW_semblance.x adj=1 orho=0.5 drho=0.01 nrho=101 eps=0.00 alfa1=18 niter=1 > 2.H
	< 2.H Interp d2out=0.002 | Envelope tc1=20 > $@

phenc.perm.%.rot:
	Spike n1=401 o1=0 d1=10 n2=601 o2=-3000 d2=10 n3=1 o3=0 d3=1 nsp=1 k1=1 | Pad beg2=700 end2=700 > j.H
	Math file1=j.H exp="file1*0+1000" > vel.H
	Scale dscale=0.9 < vel.H | Gpow gpow=-1 | Transp plane=12 reshape=1,3 > slow.H
	Wavelet n1=1501 d1=0.008 wavelet=ricker2 phase=0 fund=10 order=0.2 tdelay=6 domain=time > j2.H;echo o1=-6 >> j2.H
	<j2.H Transf f_min=0 f_min1=4 f_max1=20 f_max=24 wei=y is2d=y > j1.H; <j1.H Window3d | Cabs > j2.H
	Math file1=j2.H exp="file1*0">j1.H;Math file1=j2.H exp="file1*-1">j3.H;Cmplx j3.H j1.H| Transp plane=13 > csou.H
	Cat ${PERM}/j0r.H ${PERM}/j2r.H axis=4 >> dip.rot.rec.H
	Cat ${PERM}/j0s.H ${PERM}/j2s.H axis=4 >> dip.rot.sou.H
	${Prst_ExpRefl}/Tese/bin/OW_arealsht.x rec_cig=dip.rot.rec.H sou_cig=dip.rot.sou.H sou=csou.H vel=slow.H \
	rec_out=phenc.crec.perm.$*.H sou_out=phenc.csou.perm.$*.H extrapolator=pspi nrefvel=1 vsal=4000 lloyd=0 \
	padtraces=0 traces_in_taper=25 encode=1 encz=1 eps=1 random=1 injection=1 nreal=1 ngap=$* zmin=0 zmax=2700 \
	node=14 > /dev/null 

phenc_mig.perm.%.vslow:
	echo o6=0 n5=1 >> phenc.crec.perm.$*.H
	echo o6=0 n5=1 >> phenc.csou.perm.$*.H
	${Prst_ExpRefl}/Tese/bin/OWmig2d_areal.x sou=phenc.csou.perm.$*.H rec=phenc.crec.perm.$*.H \
	vel=slow.H bkgimg=phenc.bslo.perm.$*.H \
	zmin=0 zmax=2700 nh=81 oh=-400 migration=1 areal=1 \
	padtraces=25 traces_in_taper=50 node=14 extrapolator=ffd

phenc.perm.%.rot4:
	Spike n1=401 o1=0 d1=10 n2=601 o2=-3000 d2=10 n3=1 o3=0 d3=1 nsp=1 k1=1 | Pad beg2=700 end2=700 > j.H
	Math file1=j.H exp="file1*0+1000" > vel.H
	Scale dscale=0.9 < vel.H | Gpow gpow=-1 | Transp plane=12 reshape=1,3 > slow.H
	Wavelet n1=1501 d1=0.008 wavelet=ricker2 phase=0 fund=10 order=0.2 tdelay=6 domain=time > j2.H;echo o1=-6 >> j2.H
	<j2.H Transf f_min=0 f_min1=4 f_max1=20 f_max=24 wei=y is2d=y > j1.H; <j1.H Window3d | Cabs > j2.H
	Math file1=j2.H exp="file1*0">j1.H;Math file1=j2.H exp="file1*-1">j3.H;Cmplx j3.H j1.H| Transp plane=13 > csou.H
	Cat ${PERM}/j0r.H ${PERM}/j2r.H axis=4 >> dip.rot.rec.H
	Cat ${PERM}/j0s.H ${PERM}/j2s.H axis=4 >> dip.rot.sou.H
	${Prst_ExpRefl}/Tese/bin/OW_arealsht.x rec_cig=dip.rot.rec.H sou_cig=dip.rot.sou.H sou=csou.H vel=slow.H \
	rec_out=phenc.crec.perm4.$*.H sou_out=phenc.csou.perm4.$*.H extrapolator=pspi nrefvel=1 vsal=4000 lloyd=0 \
	padtraces=0 traces_in_taper=25 encode=1 encz=1 eps=1 random=1 injection=1 nreal=4 ngap=$* zmin=0 zmax=2700 \
	node=14 > /dev/null 

phenc_mig.perm.%.vslow4:
	echo o6=0 n5=1 >> phenc.crec.perm.$*.H
	echo o6=0 n5=1 >> phenc.csou.perm.$*.H
	${Prst_ExpRefl}/Tese/bin/OWmig2d_areal.x sou=phenc.csou.perm4.$*.H rec=phenc.crec.perm4.$*.H \
	vel=slow.H bkgimg=phenc.bslo.perm4.$*.H \
	zmin=0 zmax=2700 nh=81 oh=-400 migration=1 areal=1 \
	padtraces=25 traces_in_taper=50 node=14 extrapolator=ffd

#
# Marmousi
#
3001marm_scale_window:
	< 3000marm.window3.H Transp plane=13 | Window3d j4=2 n4=5 f4=1 | Window3d n4=2 f4=0 > a1.H
	< 3000marm.window3.H Transp plane=13 | Window3d j4=2 n4=5 f4=1 | Window3d n4=2 f4=3 > a2.H
	Cat a1.H a2.H axis=4 > a0.H
	Window3d <a0.H|Transp plane=13 |${Tese}/bin/OW_2dscale.x wx=1 perc=0.2 > $@.H

3001marm_scale:
	Window3d < 3000marm.rot.rec.sd3.H j4=2 n4=5 f4=1 | Window3d n4=2 f4=0 > a1.H
	Window3d < 3000marm.rot.rec.sd3.H j4=2 n4=5 f4=1 | Window3d n4=2 f4=3 > a2.H
	Cat a1.H a2.H axis=4 > a0.H
	Window3d <a0.H|Transp plane=13 |${Tese}/bin/OW_2dscale.x wx=1 perc=0.2 > $@.H
	
3002marm_perm_icw35:
#	Window3d < 3000marm.rot.rec.sd3.H j4=2 n4=5 f4=1 | Window3d n4=2 f4=0 > a1.H
#	Window3d < 3000marm.rot.rec.sd3.H j4=2 n4=5 f4=1 | Window3d n4=2 f4=3 > a2.H
#	Cat a1.H a2.H axis=4 > a0.H
	Window3d <3001marm_scale.H|Transp plane=24|Stack|Window3d|Transp plane=23>r1.H
	< r1.H Reverse which=2 opt=ignore > s1.H
	Wavelet n1=1501 d1=0.004 wavelet=ricker2 phase=0 fund=25 order=0.2 tdelay=3 domain=time > j2.H;echo o1=-3 >> j2.H
	<j2.H Transf f_min=0 f_min1=4 f_max1=52 f_max=60 wei=y is2d=y > j1.H; <j1.H Window3d | Cabs > j2.H
	Math file1=j2.H exp="file1*0">j1.H;Cmplx j2.H j1.H|Transp plane=13|Window3d squeeze=n f3=1 > 11111.H
	${Tese}/bin/OW_arealsht.x rec_cig=r1.H sou_cig=s1.H sou=11111.H vel=3000marm_vel_smooth.ed.H \
	rec_out=3000marm.crec35.perm.sd.H sou_out=3000marm.csou35.perm.sd.H nrefvel=4 vsal=7000 \
	padtraces=101 encode=1 encz=1 eps=0 random=1 injection=1 nreal=1 ngap=35 zmin=1500 zmax=3000 node=14 \
	> /dev/null 

3003marm.perm.icw35.%:
	echo o6=1500 >> 3000marm.crec35.perm.sd.H
	echo o6=1500 >> 3000marm.csou35.perm.sd.H
	${Prst_ExpRefl}/Tese/src/areal/wemvaop/OWmig2d_areal.x sou=3000marm.csou35.perm.sd.H \
	rec=3000marm.crec35.perm.sd.H \
	vel=3000marm_vel_smooth.ed.H bkgimg=3003marm.mig.perm.icw35.H \
	zmin=1500 zmax=3000 nh=17 oh=-192 migration=1 areal=1 \
	padtraces=25 traces_in_taper=50 node=14 extrapolator=ffd icwind=1 deltat=$* dt=0.008

3003marm.perm.mig35:
	echo o6=1500 >> 3000marm.crec35.perm.sd.H
	echo o6=1500 >> 3000marm.csou35.perm.sd.H
	${Prst_ExpRefl}/Tese/src/areal/wemvaop/OWmig2d_areal.x sou=3000marm.csou35.perm.sd.H \
	rec=3000marm.crec35.perm.sd.H \
	vel=3000marm_vel_smooth.ed.H bkgimg=3003marm.mig.perm.35.H \
	zmin=1500 zmax=3000 nh=17 oh=-192 migration=1 areal=1 \
	padtraces=25 traces_in_taper=50 node=14 extrapolator=ffd

3002marm_ispew_%:
	Cp 3001marm_scale.H r1.H
	echo n4=1 n3=1504 >> r1.H
	< r1.H Reverse which=2 opt=ignore > s1.H
	echo n4=4 n3=376 >> r1.H;echo n4=4 n3=376 >> s1.H
	Wavelet n1=1501 d1=0.004 wavelet=ricker2 phase=0 fund=25 order=0.2 tdelay=3 domain=time > j2.H;echo o1=-3 >> j2.H
	<j2.H Transf f_min=0 f_min1=4 f_max1=52 f_max=60 wei=y is2d=y > j1.H; <j1.H Window3d | Cabs > j2.H
	Math file1=j2.H exp="file1*0">j1.H;Cmplx j2.H j1.H|Transp plane=13|Window3d squeeze=n f3=1 > 11111.H
	${Tese}/bin/OW_arealsht.x rec_cig=r1.H sou_cig=s1.H sou=11111.H vel=3000marm_vel_smooth.ed.H \
	rec_out=3000marm.crec$*.ispew.sd.H sou_out=3000marm.csou$*.ispew.sd.H nrefvel=4 vsal=7000 \
	padtraces=101 encode=1 encz=1 eps=1 random=1 injection=1 nreal=4 ngap=$* zmin=1500 zmax=3000 node=14 \
	> /dev/null 

3003marm.ispew%:
	echo o6=1500 >> 3000marm.crec$*.ispew.sd.H
	echo o6=1500 >> 3000marm.csou$*.ispew.sd.H
	${Prst_ExpRefl}/Tese/src/areal/wemvaop/OWmig2d_areal.x sou=3000marm.csou$*.ispew.sd.H \
	rec=3000marm.crec$*.ispew.sd.H \
	vel=3000marm_vel_smooth.ed.H bkgimg=3003marm.mig.ispew.$*.H \
	zmin=1500 zmax=3000 nh=17 oh=-192 migration=1 areal=1 \
	padtraces=25 traces_in_taper=50 node=14 extrapolator=ffd

3004marm.ispew%:
	echo o6=1500 >> 3000marm.crec$*.ispew.sd.H
	echo o6=1500 >> 3000marm.csou$*.ispew.sd.H
	Window3d < 3000marm.crec$*.ispew.sd.H n4=11 squeeze=n > r.H
	Window3d < 3000marm.csou$*.ispew.sd.H n4=11 squeeze=n > s.H
	${Prst_ExpRefl}/Tese/src/areal/wemvaop/OWmig2d_areal.x sou=s.H rec=r.H \
	vel=3000marm_vel_smooth.ed.H bkgimg=3004marm.mig.ispew.1real.$*.H \
	zmin=1500 zmax=3000 nh=17 oh=-192 migration=1 areal=1 \
	padtraces=25 traces_in_taper=50 node=14 extrapolator=ffd

4000marm_expl:
	Window3d < 3000marmffd.bkim.H squeeze=n min2=0 n2=1 > r1.H
	Wavelet n1=751 d1=0.004 wavelet=ricker2 phase=0 fund=35 order=0.2 tdelay=1.5 domain=time > j2.H;echo o1=-1.5 >> j2.H
	<j2.H Transf f_min=0 f_min1=4 f_max1=52 f_max=60 wei=y is2d=y > j1.H; <j1.H Window3d | Cabs > j2.H
	Math file1=j2.H exp="file1*0">j1.H;Cmplx j2.H j1.H|Transp plane=13 > 11111.H
	${Tese}/bin/OW_exprefl.x cig=r1.H sou=11111.H vel=3000marm_vel_smooth.ed.H wvfld=4000wvfld_expl.H \
	rec_out=4000marm.crec.expl.H nrefvel=4 vsal=7000 padtraces=101 zmin=0 zmax=3000 node=14 white=0.01 \
	shaper=1 
	> /dev/null 

4002marm_perm_icw35:
	Window3d < 3000marm.rot.rec.sd3.H j4=2 n4=5 f4=1 | Window3d n4=2 f4=0 > a1.H
	Window3d < 3000marm.rot.rec.sd3.H j4=2 n4=5 f4=1 | Window3d n4=2 f4=3 > a2.H
	Cat a1.H a2.H axis=4 > a0.H
	Window3d <3001marm_scale.H|Transp plane=24|Stack|Window3d|Transp plane=23>r1.H
	< r1.H Reverse which=2 opt=ignore > s1.H
	Wavelet n1=751 d1=0.004 wavelet=ricker2 phase=0 fund=25 order=0.2 tdelay=1.5 domain=time > j2.H;echo o1=-1.5 >> j2.H
	<j2.H Transf f_min=0 f_min1=4 f_max1=52 f_max=60 wei=y is2d=y > j1.H; <j1.H Window3d | Cabs > j2.H
	Math file1=j2.H exp="file1*0">j1.H;Cmplx j2.H j1.H|Transp plane=13 > 11111.H
	${Tese}/bin/OW_arealsht.x rec_cig=r1.H sou_cig=s1.H sou=11111.H vel=3000marm_vel_smooth.ed.H \
	rec_out=4000marm.crec35.perm.sd.H sou_out=4000marm.csou35.perm.sd.H nrefvel=4 vsal=7000 green_s=grs.H \
	green_r=grr.H padtraces=101 encode=1 encz=1 eps=0 random=1 injection=1 nreal=1 ngap=35 zmin=0 zmax=3000 node=14 shaper=0 extrapolator=pspi \
	> /dev/null 

4002marm_ispew:
	Cp 3001marm_scale.H r1.H
	echo n4=1 n3=1504 >> r1.H
	< r1.H Reverse which=2 opt=ignore > s1.H
	echo n4=4 n3=376 >> r1.H;echo n4=4 n3=376 >> s1.H
	Wavelet n1=1501 d1=0.004 wavelet=ricker2 phase=0 fund=25 order=0.2 tdelay=3 domain=time > j2.H;echo o1=-3 >> j2.H
	<j2.H Transf f_min=0 f_min1=4 f_max1=52 f_max=60 wei=y is2d=y > j1.H; <j1.H Window3d | Cabs > j2.H
	Math file1=j2.H exp="file1*0">j1.H;Cmplx j2.H j1.H|Transp plane=13 > 11111.H
	${Tese}/bin/OW_arealsht.x rec_cig=r1.H sou_cig=s1.H sou=11111.H vel=3000marm_vel_smooth.ed.H \
	rec_out=4000marm.crec.ispew.H sou_out=4000marm.csou.ispew.H nrefvel=4 vsal=7000 green_s=grs.H \
	green_r=grr.H padtraces=101 encode=1 encz=1 eps=1 random=1 injection=1 nreal=1 ngap=15 zmin=0 zmax=3000 node=14 shaper=0 extrapolator=pspi \
	> /dev/null 

# Top Horizon
marmv0.orig.H:
	${Tese}/bin/OW_hormut.x hor1=marmv0.orig | Window3d n1=376 | Scale dscale=8 > $@


##########################################
#
# 3D example
#
dip30.%x1y.strch:
	Wavelet n1=2001 d1=0.002 wavelet=ricker2 phase=0 fund=25 order=8 tdelay=2 domain=time > j0.H;echo o1=-2 >> j0.H
	<j0.H Scale dclip=-1 | Transf f_min=0 f_min1=4 f_max1=50 f_max=56 wei=y is2d=y | Window3d | Cabs > j1.H
	Math file1=j1.H exp="file1*0" > j2.H ; Cmplx j1.H j2.H | Transp plane=13 > sou.H
	${Tese}/bin/OW3d_arealsht.x cig=${PERM}/dip30.CAM_vslow.rot.stretch.H sou=sou.H \
	vel=${PERM}/6slowness.H rec_out=dip30.rec.gx$*gy1f25.strch.perm.H sou_out=dip30.sou.gx$*gy1f25.strch.perm.H \
	ngapx=$* ngapy=1 par=dip30_perm.P node=14 shape=1

migdip30.%x1y25.strch: 
	echo o6=0 d2=25 >> dip30.sou.gx$*gy1f25.strch.perm.H
	echo o6=0 d2=25 >> dip30.rec.gx$*gy1f25.strch.perm.H
	${Tese}/src/areal/3dwemva/OWmig3d_areal.x sou=dip30.sou.gx$*gy1f25.strch.perm.H rec=dip30.rec.gx$*gy1f25.strch.perm.H \
	vel=${PERM}/6slowness.H bkgimg=dip30.bimg.perm$*.H \
	zmin=0 zmax=1500 nhx=21 ohx=-250 jhx=1 nhy=1 ohy=0 jhy=1 areal=1 migration=1 \
	padtraces_x=25 traces_in_taper_x=25 padtraces_y=25 traces_in_taper_y=25 node=14 \
	extrapolator=pspi nrefvel=1 lloyd=0 vsal=7000 nwblk= 1 > /dev/null

dip30.%x1y.strch.ispew:
	Wavelet n1=2001 d1=0.002 wavelet=ricker2 phase=0 fund=25 order=8 tdelay=2 domain=time > j0.H;echo o1=-2 >> j0.H
	<j0.H Scale dclip=-1 | Transf f_min=0 f_min1=4 f_max1=50 f_max=56 wei=y is2d=y | Window3d | Cabs > j1.H
	Math file1=j1.H exp="file1*0" > j2.H ; Cmplx j1.H j2.H | Transp plane=13 > sou.H
	${Tese}/bin/OW3d_arealsht.x cig=${PERM}/dip30.CAM_vslow.rot.stretch.H sou=sou.H \
	vel=${PERM}/6slowness.H rec_out=dip30.rec.gx$*gy1f25.strch.H sou_out=dip30.sou.gx$*gy1f25.strch.H \
	ngapx=$* ngapy=1 par=dip30_ispew.P node=14 shape=1

migdip30.%x1y25.strch.ispew: 
	echo o6=0 d2=25 >> dip30.sou.gx$*gy1f25.strch.H
	echo o6=0 d2=25 >> dip30.rec.gx$*gy1f25.strch.H
	${Tese}/src/areal/3dwemva/OWmig3d_areal.x sou=dip30.sou.gx$*gy1f25.strch.H rec=dip30.rec.gx$*gy1f25.strch.H \
	vel=${PERM}/6slowness.H bkgimg=dip30.bimg.ispew$*.H \
	zmin=0 zmax=1500 nhx=21 ohx=-250 jhx=1 nhy=1 ohy=0 jhy=1 areal=1 migration=1 \
	padtraces_x=25 traces_in_taper_x=25 padtraces_y=25 traces_in_taper_y=25 node=14 \
	extrapolator=pspi nrefvel=1 lloyd=0 vsal=7000 nwblk= 1 > /dev/null


regclean_%:
	@-touch $*; Rm $*; touch $*; \rm $*

clean : texclean 
	@-touch j.o j.mod j.x *.fix.f90; \rm *.o *.mod *.x *.fix.f90

include ${SEPINC}/SEP.bottom
