MAKE_DEPEND=yes

include /usr/local/SEP/include/SEP.top
#include /opt/SEP/SEP6.4.6/include/SEP.top
################# To run in gomorrah  ####################
#include /usr/local/share/make/SEP.top
##########################################################

# SEP report
LATOPTS  = style=html
# SEG abstract
#LATOPTS = option=cmfonts class=seg97
#LATOPTS = option=web 'style=jfc,makeidx,html,amsmath'
# Reviewer 
#LATOPTS=class=geophysics
SIGDIR = /mnt/sepdata/1a/sigsbee_multiple
OLEVEL=2
#UF90FLAGS =-mp -check bounds -O3
#UF90FLAGS =-parallel -g -openmp -openmp_report2  -O3 -axW -vec_report3 -C #-check bounds 
UF90FLAGS =-O3 -C 
#UF90FLAGS =-parallel -openmp -openmp_report2  -O3 -axW -vec_report3
#UF90FLAGS =-parallel -openmp -openmp_report2 -axW -vec_report3
MAINLIBS=-lsep2df90 -lsep3df90 -lsep3d -lsepf90 -lsep -L${LIBDIR}  -lsepgeef90
UF77LIBS = ${BEILIB}

#WHEREFFTW = /usr/local/FFTW/FFT3_INTEL/lib/libfftw3f.a
#UF90LIBS=${MPILIBS} ${MAINLIBS} -lsepparf90 -lseppar_mpi -lsepgeef90 -lsep2df90 -static-libcxa -lguide -lseppar  -lsuperset -lsupersetf90 -#lsuperset -lsepauxf90 -lsepmathf90 -lsep3df90 -lsep3d -lsepf90 -lsep $(WHEREFFTW)

WHEREFFTW = /net/koko/linux_local/FFTW/FFTW2/lib/lib
UF90LIBS=${MPILIBS} ${MAINLIBS} -lsepparf90 -lseppar_mpi -lsepgeef90 -lsep2df90 -static-libcxa -lguide -lseppar  -lsuperset -lsupersetf90 -lsuperset -lsepauxf90 -lsepmathf90 -lsep3df90 -lsep3d -lsepf90 -lsep $(WHEREFFTW)fftw.a $(WHEREFFTW)rfftw.a #-Bstatic
#
# To run in gomorrah
#
#WHEREFFTW = /opt/FFTW/fftw-3.1.2/libbench2/libbench2.a

COLOR=y

RESULTSER = ZOtime sig2a01 sig2b01 sig2b02 comp-ang invang4 invang-zero invoff4 invoff-zero invz-filt invz migang1-filt migang1 migang mig-gather migoff1-filt migoff1 migoff mig-stack-filt mig-stack refle-new res-ir-off res_ir res-ir diff-filtered filtered not-filtered resinvz-filt resinvz diag-Sis convHesRef spcenofilt spcefilt weight multest01 sig2b03 diagsis multmodel sig2b04 nofilt_space filt_space multmodel1

RESULTSNR = 

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

#UF90FLAGS=-O1

##############################
#
# Figures
#
ZOtime.v:
	Window3d < /net/koko/claudio/Research/Prst_ExpRefl/OneWay/nfs-splitspread-shots.H n2=1 min2=0 min1=2 max1=6 min3=25000 max3=45000| \
	Grey pclip=90 title=" " label1="t(s)" label2="x(ft)" > /dev/null out=temp.v
	vp_annotate < temp.v batch=y text=ZOtime.txt | vppen vpstyle=n > $R/$@

sig2a01.v:
	< 00sig2a_mig.T Window3d min2=30500 max2=39600 | Cubeplot wantcoordlabel=-1 frame1=1 frame2=110 frame3=16 point1=1. point2=0.7 title=" " \
	> /dev/null out=temp.v
	vp_annotate < temp.v batch=y text=sig2a01.txt | vppen vpstyle=n > $R/$@
	tube $R/$@

sig2b01.v:
	< 00sig2b_mig.T Window3d min2=30500 max2=39600 | Cubeplot wantcoordlabel=-1 frame1=1 frame2=110 frame3=16 point1=1. point2=0.7 title=" " \
	> /dev/null out=temp.v
	vp_annotate < temp.v batch=y text=sig2b01.txt | vppen vpstyle=n > $R/$@
	tube $R/$@

sig2b03.v:
	< 00sig2b_mig.T Window3d min2=30500 max2=39600 min3=-675 max3=675 | Cubeplot wantcoordlabel=-1 frame1=1 frame2=78 frame3=9 point1=1. point2=0.7 title=" " \
	> /dev/null out=$R/$@
	tube $R/$@

mig_Sis_pad_800_strati_sort1.T:
	< ../../../Prst_ExpRefl/RTM/mig_Sis_pad_800_strati_sort.H Window3d min3=30500 max3=39600 min2=-675 max2=675\
	| Grey eout=1 gainpanel=a pclip=90 label1="z(ft)" label3="x(ft)" label2="h(ft)" title=" " o2num=-675 d2num=675. \
	| Transp plane=23 > $@


prim_01_subt_newa.T:
	< /homes/sep/claudio/research.ln/Prst_ExpRefl/RTM/prim_01_subt_newa.H Window3d min1=8000 min2=30500 max2=39600 min3=-675 max3=675\
	| Transp plane=23 | Grey eout=1 gainpanel=a pclip=80 label1="z(ft)" label3="x(ft)" label2="h(ft)" title=" " o2num=-675 d2num=675. \
	| Transp plane=23 > $@

mig_Sis_pad_800_strati_sort2.T:
	< ../../../Prst_ExpRefl/RTM/mig_Sis_pad_800_strati_sort.H Window3d min1=8000 min3=30500 max3=39600 min2=-600 n2=17\
	| Grey eout=1 gainpanel=a pclip=80 label1="z(ft)" label3="x(ft)" label2="h(ft)" title=" " o2num=-675 d2num=675. | \
	Transp plane=23 > $@

filt_space.v:
	< mig_Sis_pad_800_strati_sort2.T Cubeplot wantcoordlabel=-1 frame1=253 frame2=102 frame3=9 point1=.7 point2=0.7 title=" " > /dev/null \
	out=$R/$@
	tube $R/$@

nofilt_space.v:
	< prim_01_subt_newa.T Cubeplot wantcoordlabel=-1 frame1=253 frame2=102 frame3=9 point1=.7 point2=0.7 title=" " > /dev/null \
	out=$R/$@
	tube $R/$@

# < mig_Sis_pad_800_strati_sort2.T  nview=2  data1=prim_01_subt_newa.T view1_data=data1   
# < stdin Window3d  f1=0 f2=0 f3=0 f4=0 f5=0 n1=381 n2=121 n3=18 n4=1 n5=1  >a0.T
# < a0.T Cubeplot flat=1 frame1=253 frame2=102 frame3=9  |Tube
# < prim_01_subt_newa.T Window3d  f1=0 f2=0 f3=0 f4=0 f5=0 n1=381 n2=121 n3=18 n4=1 n5=1  >a1.T
# < a1.T Cubeplot flat=1 frame1=253 frame2=102 frame3=9  |Tube

mig_Sis_refle_off_f35_marine1.T:
	< mig_Sis_refle_off_f35_marine.H Window3d min4=30500 max4=39600 |Transp plane=12 \
	| Grey eout=1 gainpanel=a pclip=80 label1="z(ft)" label3="x(ft)" label2="h(ft)" title=" " o2num=-1200 d2num=600. | Transp plane=23 > $@

convHesRef.v:
	< mig_Sis_refle_off_f35_marine.T Reverse which=2 opt=ignore|Transp plane=23 | Cubeplot wantcoordlabel=-1 frame1=203 frame2=87 frame3=8 point1=1. point2=0.7 title=" " > /dev/null \
	out=$R/$@
	tube $R/$@

sig2b04.v:
	< mig_Sis_pad_800_strati_sort1.T  Cubeplot wantcoordlabel=-1 frame1=1 frame2=78 frame3=9 point1=1. point2=0.7 title=" " > /dev/null \
	out=$R/$@
	tube $R/$@

sig2b02.v:
	< mig_Sis_pad_800_strati_sort1.T Cubeplot wantcoordlabel=-1 frame1=1 frame2=78 frame3=16 point1=1. point2=0.7 title=" " > /dev/null \
	out=$R/$@
	tube $R/$@

flt2b01.v:
	< prim_01_subt_newa1.T Cubeplot wantcoordlabel=-1 frame1=1 frame2=78 frame3=16 point1=1. point2=0.7 title=" " > /dev/null \
	out=$R/$@
	tube $R/$@

multest01.v:
	< 9999mult_est_01_newa.H Transp plane=23 | Window3d min3=30500 max3=39600 min2=-675 max2=675\
	| Grey eout=1 gainpanel=a pclip=90 label1="z(ft)" label3="x(ft)" label2="h(ft)" title=" " o2num=-675 d2num=675. \
	| Transp plane=23 > junk1.T
	< junk1.T Cubeplot wantcoordlabel=-1 frame1=1 frame2=78 frame3=9 point1=1. point2=0.7 title=" " > /dev/null \
	out=$R/$@
	tube $R/$@

spacenofilt.v:
	Window3d min1=14150 n1=1 < mig_Sis_pad_800_strati_sort1.T | Transp plane=12 | Grey pclip=70 \
	gainpanel=e label1="x(ft)" label2="h(ft)" > /dev/null out=$R/$@
	tube $R/$@

spacefilt.v:
	Window3d min1=14150 n1=1 < /homes/sep/claudio/research.ln/Prst_ExpRefl/RTM/prim_01_subt_newa.H min3=-675 n3=18 | \
	Transp plane=12 | Grey pclip=80 gainpanel=e label1="x(ft)" label2="h(ft)"  > /dev/null out=$R/$@
	tube $R/$@ &

spcenofilt.v:
	Window3d min1=14150 n1=1 < not_filtered.H | Transp plane=12 | Grey newclip=1 color=j gainpanel=e label1="kx(1/ft)" label2="kh(1/ft)" > /dev/null out=$R/$@
	tube $R/$@ &

spcefilt.v:
	Window3d min1=14150 n1=1 < filtered.H  | Transp plane=12 | Grey newclip=1 color=j gainpanel=e label1="kx(1/ft)" label2="kh(1/ft)"  > /dev/null out=$R/$@
	tube $R/$@

weight.v:
	Window3d n2=1 min1=8000 min3=30500 max3=39600 n2=1 min2=0 < weight.H | Grey newclip=1 color=j \
	pclip=85 label1="z(ft)" label3="x(ft)" label2="h(ft)" title=" " > /dev/null out=$R/$@
	tube $R/$@

diagsis.v:
	Window3d < LtL_Sis_az41_ax41_wave_marine_strati_t.H n3=1 min3=0 n4=1 min4=0 | Grey newclip=1 espcenofilt.v:
	Window3d min1=14150 n1=1 < not_filtered.H | Transp plane=12 | Grey newclip=1 color=j gainpanel=e label1="kx(1/ft)" label2="kh(1/ft)" > /dev/null out=$R/$@
	tube $R/$@

multmodel.v: 
	< xdiff_new.H Window3d min3=30500 max3=39600 min2=-675 max2=675\
	| Grey eout=1 gainpanel=a pclip=90 label1="z(ft)" label3="x(ft)" label2="h(ft)" title=" " o2num=-675 d2num=675. \
	| Transp plane=23 > junk1.T
	< junk1.T Cubeplot wantcoordlabel=-1 frame1=1 frame2=78 frame3=9 point1=1. point2=0.7 title=" " > /dev/null \
	out=$R/$@
	tube $R/$@

multmodel1.v: 
	< xdiff_new.H Window3d min3=30500 max3=39600 min1=8000 min2=-675 max2=675\
	| Grey eout=1 gainpanel=a pclip=80 label1="z(ft)" label3="x(ft)" label2="h(ft)" title=" " o2num=-675 d2num=675. \
	| Transp plane=23 > junk1.T
	< junk1.T Cubeplot wantcoordlabel=-1 frame1=253 frame2=102 frame3=9 point1=.7 point2=0.7 title=" " > /dev/null \
	out=$R/$@
	tube $R/$@


#Window3d n2=1 min1=8000 min3=30600 max3=39600 < weight.H | Grey newclip=1 color=j | Tube &
#Rickmulti mig_Sis_pad_800_strati_sort.T prim_01_subt_newa.T&
#tube inv_nofilt.v inv_filt.v&
#Grey <inv_filt.H pclip=80 |Tube&


#########################################
################################
#
# KxKh filter
#
kxkh: kxkh_flt.x
	rm -f ${BIN}/kxkh_flt.x;rm -f kxkh_flt.x;make kxkh_flt.x
	mv -f kxkh_flt.x ${BIN}/kxkh_flt.x

kfilt: kfilt.x
	rm -f ${BIN}/kfilt.x;rm -f kfilt.x;make kfilt.x
	mv -f kfilt.x ${BIN}/kfilt.x

kxkh2: kxkh_flt2.x
	rm -f ${BIN}/kxkh_flt2.x;rm -f kxkh_flt2.x;make kxkh_flt2.x
	mv -f kxkh_flt2.x ${BIN}/kxkh_flt2.x

########################################################################################################
# These are the rules for the sep134 multiple !!!!!
#########################################################################################################################
###################Best Parameters##################################
khkx10:
	< mig_Sis_pad_800_strati_sort.H Pad beg2=50 end2=51 beg3=50 end3=50 | ${BIN}/kfilt.x Rot_s_cig=9999filt.H apply=y domain=kxkh npadz=00 npadh=00 npadx=00 khflt1=-0.06 kxflt1=-0.05 khflt2=-0.001 kxflt2=-0.005 khflt3=0.001 kxflt3=-0.005 khflt4=0.06 kxflt4=-0.05 khflt5=0.06 kxflt5=0.05 khflt6=0.001 kxflt6=0.005 khflt7=-0.001 kxflt7=0.005 khflt8=-0.06 kxflt8=0.05 > /dev/null

weight.H:
	${BIN}/mute1.x cig=mig_Sis_pad_800_strati_sort.H vel=vel_sigsbee_pad.H | Smooth rect3=5 rect1=5 > $@

multiple_model1_new.H:
	Window3d n3=200 min3=29975 n2=33 min2=-1200 < sig_flt_new.H > sig_flt_cut_new.H
	Math file1=mig_Sis_pad_800_strati_sort.H file2=sig_flt_cut_new.H exp="file1-file2" >xdiff_new.H
	Window3d min1=10150 max3=34700 < xdiff_new.H | Pad beg1=166 end3=137 > xdiff_cut_pad_new.H
	Math file1=xdiff_cut_pad_new.H file2=sig_flt_cut_new.H exp="file1+file2" > sig_flt_cutbk_new.H
	Math file1=mig_Sis_pad_800_strati_sort.H file2=sig_flt_cutbk_new.H exp="file1-file2"  >multiple_model_new.H
	< multiple_model_new.H ${BIN}/mute.x > $@

mult_est_01_new.H:
	Transp plane=23 <mig_Sis_pad_800_strati_sort.H >junk1_new.H
	Transp plane=23 <multiple_model.H >junk2_new.H
	Transp plane=23 <weight.H | Smooth rect1=5 rect2=5 rect3=1 tridiag=1 >junk3_new.H
	Math file1=junk3_new.H file2=junk2_new.H exp="file1*file2" >junk4_new.H
	time ~claudio/Research/ResMult/Bin/Ultimatch-new-all.x < junk1_new.H \
		primaries_in=  multiples_in=junk4_new.H mu=0.001 \
		primaries_out=prim_est_01_new.H \
		mode=2 nsmode=2 wmode=1 nfilt=5,5 npatch=101,101 \
		op=1 niter=10 2D=1 eps=120. > $@

prim_01_subt_new.H:
	Math file1=junk1_new.H file2=mult_est_01_new.H exp="file1-file2" > $@

mult_est_01_newa.H:
	Transp plane=23 <mig_Sis_pad_800_strati_sort.H >junk1_new.H
	Transp plane=23 <multiple_model1_new.H >junk2_new.H
	Transp plane=23 <weight.H | Smooth rect1=5 rect2=5 rect3=1 tridiag=1 >junk3_new.H
	Math file1=junk3_new.H file2=junk2_new.H exp="file1*file2" >junk4_new.H
	time ~claudio/research.ln/ResMult/Bin/Ultimatch-new-all.x < junk1_new.H \
		primaries_in=  multiples_in=junk4_new.H mu=0.001 \
		primaries_out=prim_est_01_new.H \
		mode=2 nsmode=2 wmode=1 nfilt=5,5 npatch=101,101 \
		op=1 niter=20 2D=1 eps=120. > $@

prim_01_subt_newa.H:
	Math file1=junk1_new.H file2=mult_est_01_newa.H exp="file1-file2" > $@
####################################################################################################
#
#
9999mult_est_01_newa.H:
	Transp plane=23 <mig_Sis_pad_800_sort.H >junk1_new.H
	Transp plane=23 <multiple_model1_new.H >junk2_new.H
	Transp plane=23 <weight.H | Smooth rect1=5 rect2=5 rect3=1 tridiag=1 >junk3_new.H
	Math file1=junk3_new.H file2=junk2_new.H exp="file1*file2" >junk4_new.H
	time ~claudio/research.ln/ResMult/Bin/Ultimatch-new-all.x < junk1_new.H \
		primaries_in=  multiples_in=junk4_new.H mu=0.001 \
		primaries_out=prim_est_01_new.H \
		mode=2 nsmode=2 wmode=1 nfilt=5,5 npatch=101,101 \
		op=1 niter=20 2D=1 eps=120. > $@

9999prim_01_subt_newa.H:
	Math file1=junk1_new.H file2=9999mult_est_01_newa.H exp="file1-file2" > $@
#
#
#######################################################################################################


##########################################

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

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

#include /opt/SEP/SEP6.4.6/include/SEP.bottom
#include /usr/local/share/make/SEP.bottom
include /usr/local/SEP/include/SEP.bottom
