# SMOOTHDRTMVEL0akefile
# Decomposed RTM imaging for velocity model 1 with smooth-cut FK filter
# for vel0.H file
# SMOOTH means using smooth-cut FK filter for decomposition

# Figures
SMOOTHDRTMVEL0RESULTSER = 
SMOOTHDRTMVEL0RESULTSCR-MULT = smoothdrtm1-vel0-mult smoothdrtm1-vel0-mult-lowcut \
		    smoothdrtm0-vel0-mult smoothdrtm0-vel0-mult-lowcut \
		    smoothdrtm1-vel0-mult-FKSdown smoothdrtm1-vel0-mult-FKSup smoothdrtm1-vel0-mult-FKRdown smoothdrtm1-vel0-mult-FKRup \
		    real-smoothdrtm1-vel0-mult-vert-sumall imag-smoothdrtm1-vel0-mult-vert-sumall \
		    real-smoothdrtm1-vel0-mult-SdownRdown real-smoothdrtm1-vel0-mult-SupRup \
		    real-smoothdrtm1-vel0-mult-SdownRup real-smoothdrtm1-vel0-mult-SupRdown \
		    real-smoothdrtm1-vel0-mult-SdownRdown-plus-SupRup real-smoothdrtm1-vel0-mult-SdownRup-plus-SupRdown \
		    real-smoothdrtm1-vel0-mult-SdownRup-minus-SupRdown \
		    real-smoothdrtm1-vel0-mult-SdownRdown-lowcut real-smoothdrtm1-vel0-mult-SupRup-lowcut \
		    real-smoothdrtm1-vel0-mult-SdownRup-lowcut real-smoothdrtm1-vel0-mult-SupRdown-lowcut \
		    real-smoothdrtm1-vel0-mult-SdownRdown-plus-SupRup-lowcut real-smoothdrtm1-vel0-mult-SdownRup-plus-SupRdown-lowcut \
		    real-smoothdrtm1-vel0-mult-SdownRup-minus-SupRdown-lowcut \
		    smoothdrtm0-vel0-mult-FKSdown smoothdrtm0-vel0-mult-FKSup smoothdrtm0-vel0-mult-FKRdown smoothdrtm0-vel0-mult-FKRup \
		    real-smoothdrtm0-vel0-mult-vert-sumall imag-smoothdrtm0-vel0-mult-vert-sumall \
		    real-smoothdrtm0-vel0-mult-SdownRdown real-smoothdrtm0-vel0-mult-SupRup \
		    real-smoothdrtm0-vel0-mult-SdownRup real-smoothdrtm0-vel0-mult-SupRdown \
		    real-smoothdrtm0-vel0-mult-SdownRdown-plus-SupRup real-smoothdrtm0-vel0-mult-SdownRup-plus-SupRdown \
		    real-smoothdrtm0-vel0-mult-SdownRup-minus-SupRdown \
		    real-smoothdrtm0-vel0-mult-SdownRdown-lowcut real-smoothdrtm0-vel0-mult-SupRup-lowcut \
		    real-smoothdrtm0-vel0-mult-SdownRup-lowcut real-smoothdrtm0-vel0-mult-SupRdown-lowcut \
		    real-smoothdrtm0-vel0-mult-SdownRdown-plus-SupRup-lowcut real-smoothdrtm0-vel0-mult-SdownRup-plus-SupRdown-lowcut \
		    real-smoothdrtm0-vel0-mult-SdownRup-minus-SupRdown-lowcut \
		    smoothdrtm1-vel0-mult-FKSright smoothdrtm1-vel0-mult-FKSleft smoothdrtm1-vel0-mult-FKRright smoothdrtm1-vel0-mult-FKRleft \
		    real-smoothdrtm1-vel0-mult-horiz-sumall imag-smoothdrtm1-vel0-mult-horiz-sumall \
		    real-smoothdrtm1-vel0-mult-SrightRright real-smoothdrtm1-vel0-mult-SleftRleft \
		    real-smoothdrtm1-vel0-mult-SrightRleft real-smoothdrtm1-vel0-mult-SleftRright \
		    real-smoothdrtm1-vel0-mult-SrightRright-plus-SleftRleft real-smoothdrtm1-vel0-mult-SrightRleft-plus-SleftRright \
		    real-smoothdrtm1-vel0-mult-SrightRleft-minus-SleftRright \
		    real-smoothdrtm1-vel0-mult-SrightRright-lowcut real-smoothdrtm1-vel0-mult-SleftRleft-lowcut \
		    real-smoothdrtm1-vel0-mult-SrightRleft-lowcut real-smoothdrtm1-vel0-mult-SleftRright-lowcut \
		    real-smoothdrtm1-vel0-mult-SrightRright-plus-SleftRleft-lowcut real-smoothdrtm1-vel0-mult-SrightRleft-plus-SleftRright-lowcut \
		    real-smoothdrtm1-vel0-mult-SrightRleft-minus-SleftRright-lowcut \
		    smoothdrtm0-vel0-mult-FKSright smoothdrtm0-vel0-mult-FKSleft smoothdrtm0-vel0-mult-FKRright smoothdrtm0-vel0-mult-FKRleft \
		    real-smoothdrtm0-vel0-mult-horiz-sumall imag-smoothdrtm0-vel0-mult-horiz-sumall \
		    real-smoothdrtm0-vel0-mult-SrightRright real-smoothdrtm0-vel0-mult-SleftRleft \
		    real-smoothdrtm0-vel0-mult-SrightRleft real-smoothdrtm0-vel0-mult-SleftRright \
		    real-smoothdrtm0-vel0-mult-SrightRright-plus-SleftRleft real-smoothdrtm0-vel0-mult-SrightRleft-plus-SleftRright \
		    real-smoothdrtm0-vel0-mult-SrightRleft-minus-SleftRright \
		    real-smoothdrtm0-vel0-mult-SrightRright-lowcut real-smoothdrtm0-vel0-mult-SleftRleft-lowcut \
		    real-smoothdrtm0-vel0-mult-SrightRleft-lowcut real-smoothdrtm0-vel0-mult-SleftRright-lowcut \
		    real-smoothdrtm0-vel0-mult-SrightRright-plus-SleftRleft-lowcut real-smoothdrtm0-vel0-mult-SrightRleft-plus-SleftRright-lowcut \
		    real-smoothdrtm0-vel0-mult-SrightRleft-minus-SleftRright-lowcut

SMOOTHDRTMVEL0RESULTSCR-NOMULT = smoothdrtm1-vel0-nomult smoothdrtm1-vel0-nomult-lowcut \
		    smoothdrtm0-vel0-nomult smoothdrtm0-vel0-nomult-lowcut \
		    smoothdrtm1-vel0-nomult-FKSdown smoothdrtm1-vel0-nomult-FKSup smoothdrtm1-vel0-nomult-FKRdown smoothdrtm1-vel0-nomult-FKRup \
		    real-smoothdrtm1-vel0-nomult-vert-sumall imag-smoothdrtm1-vel0-nomult-vert-sumall \
		    real-smoothdrtm1-vel0-nomult-SdownRdown real-smoothdrtm1-vel0-nomult-SupRup \
		    real-smoothdrtm1-vel0-nomult-SdownRup real-smoothdrtm1-vel0-nomult-SupRdown \
		    real-smoothdrtm1-vel0-nomult-SdownRdown-plus-SupRup real-smoothdrtm1-vel0-nomult-SdownRup-plus-SupRdown \
		    real-smoothdrtm1-vel0-nomult-SdownRup-minus-SupRdown \
		    real-smoothdrtm1-vel0-nomult-SdownRdown-lowcut real-smoothdrtm1-vel0-nomult-SupRup-lowcut \
		    real-smoothdrtm1-vel0-nomult-SdownRup-lowcut real-smoothdrtm1-vel0-nomult-SupRdown-lowcut \
		    real-smoothdrtm1-vel0-nomult-SdownRdown-plus-SupRup-lowcut real-smoothdrtm1-vel0-nomult-SdownRup-plus-SupRdown-lowcut \
		    real-smoothdrtm1-vel0-nomult-SdownRup-minus-SupRdown-lowcut \
		    smoothdrtm0-vel0-nomult-FKSdown smoothdrtm0-vel0-nomult-FKSup smoothdrtm0-vel0-nomult-FKRdown smoothdrtm0-vel0-nomult-FKRup \
		    real-smoothdrtm0-vel0-nomult-vert-sumall imag-smoothdrtm0-vel0-nomult-vert-sumall \
		    real-smoothdrtm0-vel0-nomult-SdownRdown real-smoothdrtm0-vel0-nomult-SupRup \
		    real-smoothdrtm0-vel0-nomult-SdownRup real-smoothdrtm0-vel0-nomult-SupRdown \
		    real-smoothdrtm0-vel0-nomult-SdownRdown-plus-SupRup real-smoothdrtm0-vel0-nomult-SdownRup-plus-SupRdown \
		    real-smoothdrtm0-vel0-nomult-SdownRup-minus-SupRdown \
		    real-smoothdrtm0-vel0-nomult-SdownRdown-lowcut real-smoothdrtm0-vel0-nomult-SupRup-lowcut \
		    real-smoothdrtm0-vel0-nomult-SdownRup-lowcut real-smoothdrtm0-vel0-nomult-SupRdown-lowcut \
		    real-smoothdrtm0-vel0-nomult-SdownRdown-plus-SupRup-lowcut real-smoothdrtm0-vel0-nomult-SdownRup-plus-SupRdown-lowcut \
		    real-smoothdrtm0-vel0-nomult-SdownRup-minus-SupRdown-lowcut \
		    smoothdrtm1-vel0-nomult-FKSright smoothdrtm1-vel0-nomult-FKSleft smoothdrtm1-vel0-nomult-FKRright smoothdrtm1-vel0-nomult-FKRleft \
		    real-smoothdrtm1-vel0-nomult-horiz-sumall imag-smoothdrtm1-vel0-nomult-horiz-sumall \
		    real-smoothdrtm1-vel0-nomult-SrightRright real-smoothdrtm1-vel0-nomult-SleftRleft \
		    real-smoothdrtm1-vel0-nomult-SrightRleft real-smoothdrtm1-vel0-nomult-SleftRright \
		    real-smoothdrtm1-vel0-nomult-SrightRright-plus-SleftRleft real-smoothdrtm1-vel0-nomult-SrightRleft-plus-SleftRright \
		    real-smoothdrtm1-vel0-nomult-SrightRleft-minus-SleftRright \
		    real-smoothdrtm1-vel0-nomult-SrightRright-lowcut real-smoothdrtm1-vel0-nomult-SleftRleft-lowcut \
		    real-smoothdrtm1-vel0-nomult-SrightRleft-lowcut real-smoothdrtm1-vel0-nomult-SleftRright-lowcut \
		    real-smoothdrtm1-vel0-nomult-SrightRright-plus-SleftRleft-lowcut real-smoothdrtm1-vel0-nomult-SrightRleft-plus-SleftRright-lowcut \
		    real-smoothdrtm1-vel0-nomult-SrightRleft-minus-SleftRright-lowcut \
		    smoothdrtm0-vel0-nomult-FKSright smoothdrtm0-vel0-nomult-FKSleft smoothdrtm0-vel0-nomult-FKRright smoothdrtm0-vel0-nomult-FKRleft \
		    real-smoothdrtm0-vel0-nomult-horiz-sumall imag-smoothdrtm0-vel0-nomult-horiz-sumall \
		    real-smoothdrtm0-vel0-nomult-SrightRright real-smoothdrtm0-vel0-nomult-SleftRleft \
		    real-smoothdrtm0-vel0-nomult-SrightRleft real-smoothdrtm0-vel0-nomult-SleftRright \
		    real-smoothdrtm0-vel0-nomult-SrightRright-plus-SleftRleft real-smoothdrtm0-vel0-nomult-SrightRleft-plus-SleftRright \
		    real-smoothdrtm0-vel0-nomult-SrightRleft-minus-SleftRright \
		    real-smoothdrtm0-vel0-nomult-SrightRright-lowcut real-smoothdrtm0-vel0-nomult-SleftRleft-lowcut \
		    real-smoothdrtm0-vel0-nomult-SrightRleft-lowcut real-smoothdrtm0-vel0-nomult-SleftRright-lowcut \
		    real-smoothdrtm0-vel0-nomult-SrightRright-plus-SleftRleft-lowcut real-smoothdrtm0-vel0-nomult-SrightRleft-plus-SleftRright-lowcut \
		    real-smoothdrtm0-vel0-nomult-SrightRleft-minus-SleftRright-lowcut

SMOOTHDRTMVEL0RESULTSCR = $(SMOOTHDRTMVEL0RESULTSCR-MULT) $(SMOOTHDRTMVEL0RESULTSCR-NOMULT)

SMOOTHDRTMVEL0RESULTSNR = 
SMOOTHDRTMVEL0FIG_pdf = 

#============================
# data with SRM
#============================

##################################
### vertical SMOOTHDRTM imaging program
##################################
# drtmout$(m).H drtmout$(m).SdownRdown.H drtmout$(m).SupRup.H drtmout$(m).SdownRup.H drtmout$(m).SupRdown.H: inputdata$(m).H velfile.H soufile.H Par/drtm0.vel.P ./Bin/crtm2d_program.x ./Bin/Fkdecomp2D_program.x ./Bin/Padntape_program.x
#       sh newdrtm2d-vert.sh '$(m)' 'inputdata$(m).H' 'drtmout$(m).H' 'drtmout$(m).SdownRdown.H' 'drtmout$(m).SupRup.H' 'drtmout$(m).SdownRup.H' 'drtmout$(m).SupRdown.H' 'conventional_rtm2d_program.x' 'Fkdecomp2d_program.x' 'Padntape_beforeFFT.x' 'vel.mig.H' 'soufile' 'parfile' 'jsx=4' 'tmpdir=.' 'FKSdownOUT.H' 'FKSupOUT.H' 'FKRdownOUT.H' 'FKRupOUT.H' 'SdownOUT.H' 'SupOUT.H' 'RdownOUT.H' 'RupOUT.H' 'getonlyrealpart' 'decompicon' 'sousnap.H' 'recsnap.H' 'reflsnap.H'
##################################
# For selecting types of decomposed RTM output:
#              getonlyrealpart = 1, default    # the output is real-valued (only real part of complex-valued output)
#              getonlyrealpart = 0             # the output is complex-valued
#
# For selecting imaging condition for decomposed RTM (must be declared):
#              decompicon = 1          # Real part is the correlation of real parts, where Imag part is the correlation of imag parts
#              decompicon = 2          # taking complex conjugate for dsouwvfld in correlation, so the Imaginary part involves the image formation
###############################
smoothdrtm%-vel0-mult.H smoothdrtm%-vel0-mult-SdownRdown.H smoothdrtm%-vel0-mult-SupRup.H smoothdrtm%-vel0-mult-SdownRup.H smoothdrtm%-vel0-mult-SupRdown.H smoothdrtm%-vel0-mult-FKSdown.H smoothdrtm%-vel0-mult-FKSup.H smoothdrtm%-vel0-mult-FKRdown.H smoothdrtm%-vel0-mult-FKRup.H smoothdrtm%-vel0-mult-Sdownsnap.H smoothdrtm%-vel0-mult-Supsnap.H smoothdrtm%-vel0-mult-Rdownsnap.H smoothdrtm%-vel0-mult-Rupsnap.H smoothdrtm%-vel0-mult-sousnap.H smoothdrtm%-vel0-mult-recsnap.H smoothdrtm%-vel0-mult-reflsnap.H: data%-vel0-mult.H vel0-mig.H sou.H $(P)/smoothdrtm-vert-vel0.P $(B)/crtm2d_program.x $(B)/Fkdecomp2d_program.x $(B)/Padntape_program.x $(SH)/newdrtm2d-vert.sh
	<$< Interp d2out=10 maxsize=1000 > data$*-vel0-mult-smoothvert-interp.H
	sh $(SH)/newdrtm2d-vert.sh '$*-vel0-mult-smoothvert' 'data$*-vel0-mult-smoothvert-interp.H' 'smoothdrtm$*-vel0-mult.H' 'smoothdrtm$*-vel0-mult-SdownRdown.H' 'smoothdrtm$*-vel0-mult-SupRup.H' 'smoothdrtm$*-vel0-mult-SdownRup.H' 'smoothdrtm$*-vel0-mult-SupRdown.H' '$(B)/crtm2d_program.x' '$(B)/Fkdecomp2d_program.x' '$(B)/Padntape_program.x' 'vel0-mig.H' 'sou.H' '$(P)/smoothdrtm-vert-vel0.P' '4' './temp' 'smoothdrtm$*-vel0-mult-FKSdown.H' 'smoothdrtm$*-vel0-mult-FKSup.H' 'smoothdrtm$*-vel0-mult-FKRdown.H' 'smoothdrtm$*-vel0-mult-FKRup.H' 'smoothdrtm$*-vel0-mult-Sdownsnap.H' 'smoothdrtm$*-vel0-mult-Supsnap.H' 'smoothdrtm$*-vel0-mult-Rdownsnap.H' 'smoothdrtm$*-vel0-mult-Rupsnap.H' '0' '1' 'smoothdrtm$*-vel0-mult-sousnap.H' 'smoothdrtm$*-vel0-mult-recsnap.H' 'smoothdrtm$*-vel0-mult-reflsnap.H'
	Rm data$*-vel0-mult-smoothvert-interp.H

#####################################
## formation process of RTM imaging for data with SRM
## this will use only real parts of filtered wavefields
## using rtmformation2d_program.x to create snapshots of RTM formation accumulating from tmax to t0
#####################################
## conventional RTM: S*R
formation-smoothdrtm%-vel0-mult: smoothdrtm%-vel0-mult-sousnap.H smoothdrtm%-vel0-mult-recsnap.H smoothdrtm%-vel0-mult-reflsnap.H
	Sep_cube smoothdrtm$*-vel0-mult-sousnap.H smoothdrtm$*-vel0-mult-recsnap.H smoothdrtm$*-vel0-mult-reflsnap.H nviews=3 &

# SdownRdown
formation-smoothdrtm%-vel0-mult-SdownRdown.H: smoothdrtm%-vel0-mult-Sdownsnap.H smoothdrtm%-vel0-mult-Rdownsnap.H $B/rtmformation2d_program.x
	$B/rtmformation2d_program.x soufile=smoothdrtm$*-vel0-mult-Sdownsnap.H recfile=smoothdrtm$*-vel0-mult-Rdownsnap.H >$@
formation-smoothdrtm%-vel0-mult-SdownRdown: smoothdrtm%-vel0-mult-Sdownsnap.H smoothdrtm%-vel0-mult-Rdownsnap.H formation-smoothdrtm%-vel0-mult-SdownRdown.H
	Sep_cube smoothdrtm$*-vel0-mult-Sdownsnap.H smoothdrtm$*-vel0-mult-Rdownsnap.H formation-smoothdrtm$*-vel0-mult-SdownRdown.H nviews=3 &

# SupRup
formation-smoothdrtm%-vel0-mult-SupRup.H: smoothdrtm%-vel0-mult-Supsnap.H smoothdrtm%-vel0-mult-Rupsnap.H $B/rtmformation2d_program.x
	$B/rtmformation2d_program.x soufile=smoothdrtm$*-vel0-mult-Supsnap.H recfile=smoothdrtm$*-vel0-mult-Rupsnap.H >$@
formation-smoothdrtm%-vel0-mult-SupRup: smoothdrtm%-vel0-mult-Supsnap.H smoothdrtm%-vel0-mult-Rupsnap.H formation-smoothdrtm%-vel0-mult-SupRup.H
	Sep_cube smoothdrtm$*-vel0-mult-Supsnap.H smoothdrtm$*-vel0-mult-Rupsnap.H formation-smoothdrtm$*-vel0-mult-SupRup.H nviews=3 &

# SdownRup
formation-smoothdrtm%-vel0-mult-SdownRup.H: smoothdrtm%-vel0-mult-Sdownsnap.H smoothdrtm%-vel0-mult-Rupsnap.H $B/rtmformation2d_program.x
	$B/rtmformation2d_program.x soufile=smoothdrtm$*-vel0-mult-Sdownsnap.H recfile=smoothdrtm$*-vel0-mult-Rupsnap.H >$@
formation-smoothdrtm%-vel0-mult-SdownRup: smoothdrtm%-vel0-mult-Sdownsnap.H smoothdrtm%-vel0-mult-Rupsnap.H formation-smoothdrtm%-vel0-mult-SdownRup.H
	Sep_cube smoothdrtm$*-vel0-mult-Sdownsnap.H smoothdrtm$*-vel0-mult-Rupsnap.H formation-smoothdrtm$*-vel0-mult-SdownRup.H nviews=3 &

# SupRdown
formation-smoothdrtm%-vel0-mult-SupRdown.H: smoothdrtm%-vel0-mult-Supsnap.H smoothdrtm%-vel0-mult-Rdownsnap.H $B/rtmformation2d_program.x
	$B/rtmformation2d_program.x soufile=smoothdrtm$*-vel0-mult-Supsnap.H recfile=smoothdrtm$*-vel0-mult-Rdownsnap.H >$@
formation-smoothdrtm%-vel0-mult-SupRdown: smoothdrtm%-vel0-mult-Supsnap.H smoothdrtm%-vel0-mult-Rdownsnap.H formation-smoothdrtm%-vel0-mult-SupRdown.H
	Sep_cube smoothdrtm$*-vel0-mult-Supsnap.H smoothdrtm$*-vel0-mult-Rdownsnap.H formation-smoothdrtm$*-vel0-mult-SupRdown.H nviews=3 &

#####################################
## vertically filtered wavefields in FK domain
#####################################
smoothdrtm%-vel0-mult-FKSdown.v: smoothdrtm%-vel0-mult-FKSdown.H
	<$< Window j3=50 | Grey title="Spectrum of a downgoing source wavefield" $(Axis) yreverse=n label1="Frequency (Hz)" label2="Vertical wavenumber (/m)" $(dn) out=$(R)/$@
smoothdrtm%-vel0-mult-FKSup.v: smoothdrtm%-vel0-mult-FKSup.H
	<$< Window j3=50 | Grey title="Spectrum of an upgoing source wavefield" $(Axis) yreverse=n label1="Frequency (Hz)" label2="Vertical wavenumber (/m)" $(dn) out=$(R)/$@
smoothdrtm%-vel0-mult-FKRdown.v: smoothdrtm%-vel0-mult-FKRdown.H
	<$< Window j3=50 | Grey title="Spectrum of a downgoing receiver wavefield" $(Axis) yreverse=n label1="Frequency (Hz)" label2="Vertical wavenumber (/m)" $(dn) out=$(R)/$@
smoothdrtm%-vel0-mult-FKRup.v: smoothdrtm%-vel0-mult-FKRup.H
	<$< Window j3=50 | Grey title="Spectrum of an upgoing receiver wavefield" $(Axis) yreverse=n label1="Frequency (Hz)" label2="Vertical wavenumber (/m)" $(dn) out=$(R)/$@

#####################################
## Conventional RTM images
#####################################
smoothdrtm%-vel0-mult.v: smoothdrtm%-vel0-mult.H
	<$< Grey title="A conventional RTM image from data with SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@


#####################################
## Combine all vertical SMOOTHDRTM images to be compared with the conventional RTM images
#####################################
smoothdrtm%-vel0-mult-vert-sumall.H: smoothdrtm%-vel0-mult-SdownRdown.H smoothdrtm%-vel0-mult-SupRup.H smoothdrtm%-vel0-mult-SdownRup.H smoothdrtm%-vel0-mult-SupRdown.H
	Math file1=smoothdrtm$*-vel0-mult-SdownRdown.H file2=smoothdrtm$*-vel0-mult-SupRup.H file3=smoothdrtm$*-vel0-mult-SdownRup.H file4=smoothdrtm$*-vel0-mult-SupRdown.H exp_real='file1.re+file2.re+file3.re+file4.re' exp_imag='file1.im+file2.im+file3.im+file4.im' >$@

real-smoothdrtm%-vel0-mult-vert-sumall.v: smoothdrtm%-vel0-mult-vert-sumall.H
	<$< Real | Grey title="A sum of real vertical SMOOTHDRTM images with SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

imag-smoothdrtm%-vel0-mult-vert-sumall.v: smoothdrtm%-vel0-mult-vert-sumall.H
	<$< Imag | Grey title="A sum of imag vertical SMOOTHDRTM images with SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

conj-smoothdrtm%-vel0-mult-vert-sumall.v: smoothdrtm%-vel0-mult-vert-sumall.H
	<$< Real >temp-real$*.H
	<$< Imag >temp-imag$*.H
	Math file1=temp-real$*.H file2=temp-imag$*.H exp='file1+file2' | Grey title="A sum of conj vertical SMOOTHDRTM images with SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@
	Rm temp-real$*.H temp-imag$*.H

#####################################
## vertical SMOOTHDRTM images from Re{S}*Re{R}
## i.e. using only real part
#####################################
real-smoothdrtm%-vel0-mult-SdownRdown.v: smoothdrtm%-vel0-mult-SdownRdown.H
	<$< Real | Grey title="A real SMOOTHDRTM image from SdownRdown with SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

real-smoothdrtm%-vel0-mult-SupRup.v: smoothdrtm%-vel0-mult-SupRup.H
	<$< Real | Grey title="A real SMOOTHDRTM image from SupRup with SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

real-smoothdrtm%-vel0-mult-SdownRup.v: smoothdrtm%-vel0-mult-SdownRup.H
	<$< Real | Grey title="A real SMOOTHDRTM image from SdownRup with SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

real-smoothdrtm%-vel0-mult-SupRdown.v: smoothdrtm%-vel0-mult-SupRdown.H
	<$< Real | Grey title="A real SMOOTHDRTM image from SupRdown with SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

#####################################
## vertical SMOOTHDRTM images from Im{S}*Im{R}
#####################################
imag-smoothdrtm%-vel0-mult-SdownRdown.v: smoothdrtm%-vel0-mult-SdownRdown.H
	<$< Imag | Grey title="An imag SMOOTHDRTM image from SdownRdown with SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

imag-smoothdrtm%-vel0-mult-SupRup.v: smoothdrtm%-vel0-mult-SupRup.H
	<$< Imag | Grey title="An imag SMOOTHDRTM image from SupRup with SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

imag-smoothdrtm%-vel0-mult-SdownRup.v: smoothdrtm%-vel0-mult-SdownRup.H
	<$< Imag | Grey title="An imag SMOOTHDRTM image from SdownRup with SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

imag-smoothdrtm%-vel0-mult-SupRdown.v: smoothdrtm%-vel0-mult-SupRdown.H
	<$< Imag | Grey title="An imag SMOOTHDRTM image from SupRdown with SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@


########################################################################
## vertical SMOOTHDRTM images from correlation of complex-valued wavefields conj{S}*{R}
## i.e. Re{S}*Re{R} + Im{S}*Im{R}
########################################################################
conj-smoothdrtm%-vel0-mult-SdownRdown.v: smoothdrtm%-vel0-mult-SdownRdown.H
	<$< Real >temp-real$*.H
	<$< Imag >temp-imag$*.H
	Math file1=temp-real$*.H file2=temp-imag$*.H exp='file1+file2' | Grey title="A conj SMOOTHDRTM image from SdownRdown with SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@
	Rm temp-real$*.H temp-imag$*.H
conj-smoothdrtm%-vel0-mult-SupRup.v: smoothdrtm%-vel0-mult-SupRup.H
	<$< Real >temp-real$*.H
	<$< Imag >temp-imag$*.H
	Math file1=temp-real$*.H file2=temp-imag$*.H exp='file1+file2' | Grey title="A conj SMOOTHDRTM image from SupRup with SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@
	Rm temp-real$*.H temp-imag$*.H
conj-smoothdrtm%-vel0-mult-SdownRup.v: smoothdrtm%-vel0-mult-SdownRup.H
	<$< Real >temp-real$*.H
	<$< Imag >temp-imag$*.H
	Math file1=temp-real$*.H file2=temp-imag$*.H exp='file1+file2' | Grey title="A conj SMOOTHDRTM image from SdownRup with SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@
	Rm temp-real$*.H temp-imag$*.H
conj-smoothdrtm%-vel0-mult-SupRdown.v: smoothdrtm%-vel0-mult-SupRdown.H
	<$< Real >temp-real$*.H
	<$< Imag >temp-imag$*.H
	Math file1=temp-real$*.H file2=temp-imag$*.H exp='file1+file2' | Grey title="A conj SMOOTHDRTM image from SupRdown with SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@
	Rm temp-real$*.H temp-imag$*.H

#########################################
### vertical SMOOTHDRTM images from some combinations
#########################################
real-smoothdrtm%-vel0-mult-SdownRdown-plus-SupRup.H: smoothdrtm%-vel0-mult-SdownRdown.H smoothdrtm%-vel0-mult-SupRup.H
	<smoothdrtm$*-vel0-mult-SdownRdown.H Real >temp1-real$*.H
	<smoothdrtm$*-vel0-mult-SupRup.H Real >temp2-real$*.H
	Math file1=temp1-real$*.H file2=temp2-real$*.H exp='file1+file2' >$@
	Rm temp1-real$*.H temp2-real$*.H
real-smoothdrtm%-vel0-mult-SdownRdown-plus-SupRup.v: real-smoothdrtm%-vel0-mult-SdownRdown-plus-SupRup.H
	<$< Grey title="A real SMOOTHDRTM image from SdownRdown + SupRup with SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

real-smoothdrtm%-vel0-mult-SdownRup-plus-SupRdown.H: smoothdrtm%-vel0-mult-SdownRup.H smoothdrtm%-vel0-mult-SupRdown.H
	<smoothdrtm$*-vel0-mult-SdownRup.H Real >temp1-real$*.H
	<smoothdrtm$*-vel0-mult-SupRdown.H Real >temp2-real$*.H
	Math file1=temp1-real$*.H file2=temp2-real$*.H exp='file1+file2' >$@ 
	Rm temp1-real$*.H temp2-real$*.H
real-smoothdrtm%-vel0-mult-SdownRup-plus-SupRdown.v: real-smoothdrtm%-vel0-mult-SdownRup-plus-SupRdown.H
	<$< Grey title="A real SMOOTHDRTM image from SdownRup + SupRdown with SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

real-smoothdrtm%-vel0-mult-SdownRup-minus-SupRdown.H: smoothdrtm%-vel0-mult-SdownRup.H smoothdrtm%-vel0-mult-SupRdown.H
	<smoothdrtm$*-vel0-mult-SdownRup.H Real >temp1-real$*.H
	<smoothdrtm$*-vel0-mult-SupRdown.H Real >temp2-real$*.H
	Math file1=temp1-real$*.H file2=temp2-real$*.H exp='file1-file2' >$@ 
	Rm temp1-real$*.H temp2-real$*.H
real-smoothdrtm%-vel0-mult-SdownRup-minus-SupRdown.v: real-smoothdrtm%-vel0-mult-SdownRup-minus-SupRdown.H
	<$< Grey title="A real SMOOTHDRTM image from SdownRup - SupRdown with SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

##################################################
##	#################################	##
##	### RTM after lowcut filtered		##
##	#################################	##
##################################################
## Conventional RTM images from data with SRM
smoothdrtm%-vel0-mult-lowcut.H: smoothdrtm%-vel0-mult.H $B/Light1.x
	<$< $B/Light1.x >$@
smoothdrtm%-vel0-mult-lowcut.v: smoothdrtm%-vel0-mult-lowcut.H
	<$< Window n3=1 f3=0 | Grey title="An lowcut-filtered RTM image from data with SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

#####################################
## vertical SMOOTHDRTM images from Re{S}*Re{R}
## i.e. using only real part
#####################################
real-smoothdrtm%-vel0-mult-SdownRdown-lowcut.v: smoothdrtm%-vel0-mult-SdownRdown.H $B/Light1.x
	<$< Real | $B/Light1.x | Window n3=1 f3=0 | Grey title="A lowcut real SMOOTHDRTM image from SdownRdown with SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

real-smoothdrtm%-vel0-mult-SupRup-lowcut.v: smoothdrtm%-vel0-mult-SupRup.H $B/Light1.x
	<$< Real | $B/Light1.x | Window n3=1 f3=0 | Grey title="A lowcut real SMOOTHDRTM image from SupRup with SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

real-smoothdrtm%-vel0-mult-SdownRup-lowcut.v: smoothdrtm%-vel0-mult-SdownRup.H $B/Light1.x
	<$< Real | $B/Light1.x | Window n3=1 f3=0 | Grey title="A lowcut real SMOOTHDRTM image from SdownRup with SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

real-smoothdrtm%-vel0-mult-SupRdown-lowcut.v: smoothdrtm%-vel0-mult-SupRdown.H $B/Light1.x
	<$< Real | $B/Light1.x | Window n3=1 f3=0 | Grey title="A lowcut real SMOOTHDRTM image from SupRdown with SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

real-smoothdrtm%-vel0-mult-SdownRdown-plus-SupRup-lowcut.v: real-smoothdrtm%-vel0-mult-SdownRdown-plus-SupRup.H $B/Light1.x
	<$< $B/Light1.x | Window n3=1 f3=0 | Grey title="A lowcut real SMOOTHDRTM image from SdownRdown + SupRup with SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

real-smoothdrtm%-vel0-mult-SdownRup-plus-SupRdown-lowcut.v: real-smoothdrtm%-vel0-mult-SdownRup-plus-SupRdown.H $B/Light1.x
	<$< $B/Light1.x | Window n3=1 f3=0 | Grey title="A lowcut real SMOOTHDRTM image from SdownRup + SupRdown with SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

real-smoothdrtm%-vel0-mult-SdownRup-minus-SupRdown-lowcut.v: real-smoothdrtm%-vel0-mult-SdownRup-minus-SupRdown.H $B/Light1.x
	<$< $B/Light1.x | Window n3=1 f3=0 | Grey title="A lowcut real SMOOTHDRTM image from SdownRup - SupRdown with SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

##******** Compare vertical SMOOTHDRTM here***********#

##################################################
### compare vertical SMOOTHDRTM images
##################################################
### from only real part: Re{S}*Re{R}
compare-real-smoothdrtm%-vel0-mult-vert: vel0.v smoothdrtm%-vel0-mult.v real-smoothdrtm%-vel0-mult-SdownRdown.v real-smoothdrtm%-vel0-mult-SupRup.v real-smoothdrtm%-vel0-mult-SdownRup.v real-smoothdrtm%-vel0-mult-SupRdown.v real-smoothdrtm%-vel0-mult-SdownRdown-plus-SupRup.v real-smoothdrtm%-vel0-mult-SdownRup-plus-SupRdown.v real-smoothdrtm%-vel0-mult-SdownRup-minus-SupRdown.v
	tube $R/vel0.v $R/smoothdrtm$*-vel0-mult.v $R/real-smoothdrtm$*-vel0-mult-SdownRdown.v $R/real-smoothdrtm$*-vel0-mult-SupRup.v $R/real-smoothdrtm$*-vel0-mult-SdownRup.v $R/real-smoothdrtm$*-vel0-mult-SupRdown.v $R/real-smoothdrtm$*-vel0-mult-SdownRdown-plus-SupRup.v $R/real-smoothdrtm$*-vel0-mult-SdownRup-plus-SupRdown.v $R/real-smoothdrtm$*-vel0-mult-SdownRup-minus-SupRdown.v &

### from correlation of complex-valued wavefields: conj{S}*{R}
compare-conj-smoothdrtm%-vel0-mult-vert: vel0.v smoothdrtm%-vel0-mult.v conj-smoothdrtm%-vel0-mult-SdownRdown.v conj-smoothdrtm%-vel0-mult-SupRup.v conj-smoothdrtm%-vel0-mult-SdownRup.v conj-smoothdrtm%-vel0-mult-SupRdown.v
	tube $R/vel0.v $R/smoothdrtm$*-vel0-mult.v $R/conj-smoothdrtm$*-vel0-mult-SdownRdown.v $R/conj-smoothdrtm$*-vel0-mult-SupRup.v $R/conj-smoothdrtm$*-vel0-mult-SdownRup.v $R/conj-smoothdrtm$*-vel0-mult-SupRdown.v &

### compare the conventional RTM image with the summing results of all DRTM images
compare-sumall-smoothdrtm%-vel0-mult-vert: vel0.v smoothdrtm%-vel0-mult.v real-smoothdrtm%-vel0-mult-vert-sumall.v imag-smoothdrtm%-vel0-mult-vert-sumall.v conj-smoothdrtm%-vel0-mult-vert-sumall.v
	tube $R/vel0.v $R/smoothdrtm$*-vel0-mult.v $R/real-smoothdrtm$*-vel0-mult-vert-sumall.v $R/imag-smoothdrtm$*-vel0-mult-vert-sumall.v $R/conj-smoothdrtm$*-vel0-mult-vert-sumall.v


##################################################
### compare vertical SMOOTHDRTM images after lowcut filtered
##################################################
### from only real part: Re{S}*Re{R}
compare-real-smoothdrtm%-vel0-mult-vert-lowcut: vel0.v smoothdrtm%-vel0-mult-lowcut.v real-smoothdrtm%-vel0-mult-SdownRdown-lowcut.v real-smoothdrtm%-vel0-mult-SupRup-lowcut.v real-smoothdrtm%-vel0-mult-SdownRup-lowcut.v real-smoothdrtm%-vel0-mult-SupRdown-lowcut.v real-smoothdrtm%-vel0-mult-SdownRdown-plus-SupRup-lowcut.v real-smoothdrtm%-vel0-mult-SdownRup-plus-SupRdown-lowcut.v real-smoothdrtm%-vel0-mult-SdownRup-minus-SupRdown-lowcut.v
	tube $R/vel0.v $R/smoothdrtm$*-vel0-mult-lowcut.v $R/real-smoothdrtm$*-vel0-mult-SdownRdown-lowcut.v $R/real-smoothdrtm$*-vel0-mult-SupRup-lowcut.v $R/real-smoothdrtm$*-vel0-mult-SdownRup-lowcut.v $R/real-smoothdrtm$*-vel0-mult-SupRdown-lowcut.v $R/real-smoothdrtm$*-vel0-mult-SdownRdown-plus-SupRup-lowcut.v $R/real-smoothdrtm$*-vel0-mult-SdownRup-plus-SupRdown-lowcut.v $R/real-smoothdrtm$*-vel0-mult-SdownRup-minus-SupRdown-lowcut.v &




###########################################################################################
##***************************************************************************************##
## Below is commands for HORIZONTAL SMOOTHDRTM images
##***************************************************************************************##
###########################################################################################

##################################
### Horizontal SMOOTHDRTM imaging program
##################################
# drtmout$(m).H drtmout$(m).SrightRright.H drtmout$(m).SleftRleft.H drtmout$(m).SrightRleft.H drtmout$(m).SleftRright.H: inputdata$(m).H velfile.H soufile.H Par/drtm0.vel.P ./Bin/crtm2d_program.x ./Bin/Fkdecomp2D_program.x ./Bin/Padntape_program.x
#       sh drtm2d-horiz.sh '$(m)' 'inputdata$(m).H' 'drtmout$(m).H' 'drtmout$(m).SrightRright.H' 'drtmout$(m).SleftRleft.H' 'drtmout$(m).SrightRleft.H' 'drtmout$(m).SleftRright.H' 'conventional_rtm2d_program.x' 'Fkdecomp2d_program.x' 'Padntape_beforeFFT.x' 'vel.mig.H' 'soufile' 'parfile' 'jsx=4' 'tmpdir=.' 'FKSrightOUT.H' 'FKSleftOUT.H' 'FKRrightOUT.H' 'FKRleftOUT.H' 'SrightOUT.H' 'SleftOUT.H' 'RrightOUT.H' 'RleftOUT.H' 'getonlyrealpart' 'decompicon'
##################################
# For selecting types of decomposed RTM output:
#              getonlyrealpart = 1, default    # the output is real-valued (only real part of complex-valued output)
#              getonlyrealpart = 0             # the output is complex-valued
#
# For selecting imaging condition for decomposed RTM (must be declared):
#              decompicon = 1          # Real part is the correlation of real parts, where Imag part is the correlation of imag parts
#              decompicon = 2          # taking complex conjugate for dsouwvfld in correlation, so the Imaginary part involves the image formation
###############################
smoothdrtm%-vel0-mult-SrightRright.H smoothdrtm%-vel0-mult-SleftRleft.H smoothdrtm%-vel0-mult-SrightRleft.H smoothdrtm%-vel0-mult-SleftRright.H smoothdrtm%-vel0-mult-FKSright.H smoothdrtm%-vel0-mult-FKSleft.H smoothdrtm%-vel0-mult-FKRright.H smoothdrtm%-vel0-mult-FKRleft.H smoothdrtm%-vel0-mult-Srightsnap.H smoothdrtm%-vel0-mult-Sleftsnap.H smoothdrtm%-vel0-mult-Rrightsnap.H smoothdrtm%-vel0-mult-Rleftsnap.H: data%-vel0-mult.H vel0-mig.H sou.H $(P)/smoothdrtm-horiz-vel0.P $(B)/crtm2d_program.x $(B)/Fkdecomp2d_program.x $(B)/Padntape_program.x $(SH)/newdrtm2d-horiz.sh
	<$< Interp d2out=10 maxsize=1000 > data$*-vel0-mult-smoothhoriz-interp.H
	sh $(SH)/newdrtm2d-horiz.sh '$*-vel0-mult-smoothhoriz' 'data$*-vel0-mult-smoothhoriz-interp.H' '/dev/null' 'smoothdrtm$*-vel0-mult-SrightRright.H' 'smoothdrtm$*-vel0-mult-SleftRleft.H' 'smoothdrtm$*-vel0-mult-SrightRleft.H' 'smoothdrtm$*-vel0-mult-SleftRright.H' '$(B)/crtm2d_program.x' '$(B)/Fkdecomp2d_program.x' '$(B)/Padntape_program.x' 'vel0-mig.H' 'sou.H' '$(P)/smoothdrtm-horiz-vel0.P' '4' './temp' 'smoothdrtm$*-vel0-mult-FKSright.H' 'smoothdrtm$*-vel0-mult-FKSleft.H' 'smoothdrtm$*-vel0-mult-FKRright.H' 'smoothdrtm$*-vel0-mult-FKRleft.H' 'smoothdrtm$*-vel0-mult-Srightsnap.H' 'smoothdrtm$*-vel0-mult-Sleftsnap.H' 'smoothdrtm$*-vel0-mult-Rrightsnap.H' 'smoothdrtm$*-vel0-mult-Rleftsnap.H' '0' '1'
	Rm data$*-vel0-mult-smoothhoriz-interp.H

#####################################
## formation process of RTM imaging for data with SRM
## this will use only real parts of filtered wavefields
## using rtmformation2d_program.x to create snapshots of RTM formation accumulating from tmax to t0
#####################################
# SrightRright
formation-smoothdrtm%-vel0-mult-SrightRright.H: smoothdrtm%-vel0-mult-Srightsnap.H smoothdrtm%-vel0-mult-Rrightsnap.H $B/rtmformation2d_program.x
	$B/rtmformation2d_program.x soufile=smoothdrtm$*-vel0-mult-Srightsnap.H recfile=smoothdrtm$*-vel0-mult-Rrightsnap.H >$@
formation-smoothdrtm%-vel0-mult-SrightRright: smoothdrtm%-vel0-mult-Srightsnap.H smoothdrtm%-vel0-mult-Rrightsnap.H formation-smoothdrtm%-vel0-mult-SrightRright.H
	Sep_cube smoothdrtm$*-vel0-mult-Srightsnap.H smoothdrtm$*-vel0-mult-Rrightsnap.H formation-smoothdrtm$*-vel0-mult-SrightRright.H nviews=3 &

# SleftRleft
formation-smoothdrtm%-vel0-mult-SleftRleft.H: smoothdrtm%-vel0-mult-Sleftsnap.H smoothdrtm%-vel0-mult-Rleftsnap.H $B/rtmformation2d_program.x
	$B/rtmformation2d_program.x soufile=smoothdrtm$*-vel0-mult-Sleftsnap.H recfile=smoothdrtm$*-vel0-mult-Rleftsnap.H >$@
formation-smoothdrtm%-vel0-mult-SleftRleft: smoothdrtm%-vel0-mult-Sleftsnap.H smoothdrtm%-vel0-mult-Rleftsnap.H formation-smoothdrtm%-vel0-mult-SleftRleft.H
	Sep_cube smoothdrtm$*-vel0-mult-Sleftsnap.H smoothdrtm$*-vel0-mult-Rleftsnap.H formation-smoothdrtm$*-vel0-mult-SleftRleft.H nviews=3 &

# SrightRleft
formation-smoothdrtm%-vel0-mult-SrightRleft.H: smoothdrtm%-vel0-mult-Srightsnap.H smoothdrtm%-vel0-mult-Rleftsnap.H $B/rtmformation2d_program.x
	$B/rtmformation2d_program.x soufile=smoothdrtm$*-vel0-mult-Srightsnap.H recfile=smoothdrtm$*-vel0-mult-Rleftsnap.H >$@
formation-smoothdrtm%-vel0-mult-SrightRleft: smoothdrtm%-vel0-mult-Srightsnap.H smoothdrtm%-vel0-mult-Rleftsnap.H formation-smoothdrtm%-vel0-mult-SrightRleft.H
	Sep_cube smoothdrtm$*-vel0-mult-Srightsnap.H smoothdrtm$*-vel0-mult-Rleftsnap.H formation-smoothdrtm$*-vel0-mult-SrightRleft.H nviews=3 &

# SleftRright
formation-smoothdrtm%-vel0-mult-SleftRright.H: smoothdrtm%-vel0-mult-Sleftsnap.H smoothdrtm%-vel0-mult-Rrightsnap.H $B/rtmformation2d_program.x
	$B/rtmformation2d_program.x soufile=smoothdrtm$*-vel0-mult-Sleftsnap.H recfile=smoothdrtm$*-vel0-mult-Rrightsnap.H >$@
formation-smoothdrtm%-vel0-mult-SleftRright: smoothdrtm%-vel0-mult-Sleftsnap.H smoothdrtm%-vel0-mult-Rrightsnap.H formation-smoothdrtm%-vel0-mult-SleftRright.H
	Sep_cube smoothdrtm$*-vel0-mult-Sleftsnap.H smoothdrtm$*-vel0-mult-Rrightsnap.H formation-smoothdrtm$*-vel0-mult-SleftRright.H nviews=3 &

#####################################
## horizontally filtered wavefields in FK domain
#####################################
smoothdrtm%-vel0-mult-FKSright.v: smoothdrtm%-vel0-mult-FKSright.H
	<$< Window j3=50 | Grey title="Spectrum of a rightgoing source wavefield" $(Axis) yreverse=n label1="Frequency (Hz)" label2="Horizontal wavenumber (/m)" $(dn) out=$(R)/$@
smoothdrtm%-vel0-mult-FKSleft.v: smoothdrtm%-vel0-mult-FKSleft.H
	<$< Window j3=50 | Grey title="Spectrum of an leftgoing source wavefield" $(Axis) yreverse=n label1="Frequency (Hz)" label2="Horizontal wavenumber (/m)" $(dn) out=$(R)/$@
smoothdrtm%-vel0-mult-FKRright.v: smoothdrtm%-vel0-mult-FKRright.H
	<$< Window j3=50 | Grey title="Spectrum of a rightgoing receiver wavefield" $(Axis) yreverse=n label1="Frequency (Hz)" label2="Horizontal wavenumber (/m)" $(dn) out=$(R)/$@
smoothdrtm%-vel0-mult-FKRleft.v: smoothdrtm%-vel0-mult-FKRleft.H
	<$< Window j3=50 | Grey title="Spectrum of an leftgoing receiver wavefield" $(Axis) yreverse=n label1="Frequency (Hz)" label2="Horizontal wavenumber (/m)" $(dn) out=$(R)/$@

#####################################
## Combine all horizontal SMOOTHDRTM images to be compared with the conventional RTM images
#####################################
smoothdrtm%-vel0-mult-horiz-sumall.H: smoothdrtm%-vel0-mult-SrightRright.H smoothdrtm%-vel0-mult-SleftRleft.H smoothdrtm%-vel0-mult-SrightRleft.H smoothdrtm%-vel0-mult-SleftRright.H
	Math file1=smoothdrtm$*-vel0-mult-SrightRright.H file2=smoothdrtm$*-vel0-mult-SleftRleft.H file3=smoothdrtm$*-vel0-mult-SrightRleft.H file4=smoothdrtm$*-vel0-mult-SleftRright.H exp_real='file1.re+file2.re+file3.re+file4.re' exp_imag='file1.im+file2.im+file3.im+file4.im' >$@

real-smoothdrtm%-vel0-mult-horiz-sumall.v: smoothdrtm%-vel0-mult-horiz-sumall.H
	<$< Real | Grey title="A sum of real horizontal SMOOTHDRTM images with SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

imag-smoothdrtm%-vel0-mult-horiz-sumall.v: smoothdrtm%-vel0-mult-horiz-sumall.H
	<$< Imag | Grey title="A sum of imag horizontal SMOOTHDRTM images with SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

conj-smoothdrtm%-vel0-mult-horiz-sumall.v: smoothdrtm%-vel0-mult-horiz-sumall.H
	<$< Real >temp-real$*.H
	<$< Imag >temp-imag$*.H
	Math file1=temp-real$*.H file2=temp-imag$*.H exp='file1+file2' | Grey title="A sum of conj horizontal SMOOTHDRTM images with SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@
	Rm temp-real$*.H temp-imag$*.H

#####################################
## horizontal SMOOTHDRTM images from Re{S}*Re{R}
## i.e. using only real part
#####################################
real-smoothdrtm%-vel0-mult-SrightRright.v: smoothdrtm%-vel0-mult-SrightRright.H
	<$< Real | Grey title="A real SMOOTHDRTM image from SrightRright with SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

real-smoothdrtm%-vel0-mult-SleftRleft.v: smoothdrtm%-vel0-mult-SleftRleft.H
	<$< Real | Grey title="A real SMOOTHDRTM image from SleftRleft with SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

real-smoothdrtm%-vel0-mult-SrightRleft.v: smoothdrtm%-vel0-mult-SrightRleft.H
	<$< Real | Grey title="A real SMOOTHDRTM image from SrightRleft with SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

real-smoothdrtm%-vel0-mult-SleftRright.v: smoothdrtm%-vel0-mult-SleftRright.H
	<$< Real | Grey title="A real SMOOTHDRTM image from SleftRright with SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

#####################################
## horizontal SMOOTHDRTM images from Im{S}*Im{R}
#####################################
imag-smoothdrtm%-vel0-mult-SrightRright.v: smoothdrtm%-vel0-mult-SrightRright.H
	<$< Imag | Grey title="An imag SMOOTHDRTM image from SrightRright with SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

imag-smoothdrtm%-vel0-mult-SleftRleft.v: smoothdrtm%-vel0-mult-SleftRleft.H
	<$< Imag | Grey title="An imag SMOOTHDRTM image from SleftRleft with SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

imag-smoothdrtm%-vel0-mult-SrightRleft.v: smoothdrtm%-vel0-mult-SrightRleft.H
	<$< Imag | Grey title="An imag SMOOTHDRTM image from SrightRleft with SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

imag-smoothdrtm%-vel0-mult-SleftRright.v: smoothdrtm%-vel0-mult-SleftRright.H
	<$< Imag | Grey title="An imag SMOOTHDRTM image from SleftRright with SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@


########################################################################
## horizontal SMOOTHDRTM images from correlation of complex-valued wavefields conj{S}*{R}
## i.e. Re{S}*Re{R} + Im{S}*Im{R}
########################################################################
conj-smoothdrtm%-vel0-mult-SrightRright.v: smoothdrtm%-vel0-mult-SrightRright.H
	<$< Real >temp-real$*.H
	<$< Imag >temp-imag$*.H
	Math file1=temp-real$*.H file2=temp-imag$*.H exp='file1+file2' | Grey title="A conj SMOOTHDRTM image from SrightRright with SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@
	Rm temp-real$*.H temp-imag$*.H
conj-smoothdrtm%-vel0-mult-SleftRleft.v: smoothdrtm%-vel0-mult-SleftRleft.H
	<$< Real >temp-real$*.H
	<$< Imag >temp-imag$*.H
	Math file1=temp-real$*.H file2=temp-imag$*.H exp='file1+file2' | Grey title="A conj SMOOTHDRTM image from SleftRleft with SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@
	Rm temp-real$*.H temp-imag$*.H
conj-smoothdrtm%-vel0-mult-SrightRleft.v: smoothdrtm%-vel0-mult-SrightRleft.H
	<$< Real >temp-real$*.H
	<$< Imag >temp-imag$*.H
	Math file1=temp-real$*.H file2=temp-imag$*.H exp='file1+file2' | Grey title="A conj SMOOTHDRTM image from SrightRleft with SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@
	Rm temp-real$*.H temp-imag$*.H
conj-smoothdrtm%-vel0-mult-SleftRright.v: smoothdrtm%-vel0-mult-SleftRright.H
	<$< Real >temp-real$*.H
	<$< Imag >temp-imag$*.H
	Math file1=temp-real$*.H file2=temp-imag$*.H exp='file1+file2' | Grey title="A conj SMOOTHDRTM image from SleftRright with SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@
	Rm temp-real$*.H temp-imag$*.H

#########################################
### horizontal SMOOTHDRTM images from some combinations
#########################################
real-smoothdrtm%-vel0-mult-SrightRright-plus-SleftRleft.H: smoothdrtm%-vel0-mult-SrightRright.H smoothdrtm%-vel0-mult-SleftRleft.H
	<smoothdrtm$*-vel0-mult-SrightRright.H Real >temp1-real$*.H
	<smoothdrtm$*-vel0-mult-SleftRleft.H Real >temp2-real$*.H
	Math file1=temp1-real$*.H file2=temp2-real$*.H exp='file1+file2' >$@
	Rm temp1-real$*.H temp2-real$*.H
real-smoothdrtm%-vel0-mult-SrightRright-plus-SleftRleft.v: real-smoothdrtm%-vel0-mult-SrightRright-plus-SleftRleft.H
	<$< Grey title="A real SMOOTHDRTM image from SrightRright + SleftRleft with SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

real-smoothdrtm%-vel0-mult-SrightRleft-plus-SleftRright.H: smoothdrtm%-vel0-mult-SrightRleft.H smoothdrtm%-vel0-mult-SleftRright.H
	<smoothdrtm$*-vel0-mult-SrightRleft.H Real >temp1-real$*.H
	<smoothdrtm$*-vel0-mult-SleftRright.H Real >temp2-real$*.H
	Math file1=temp1-real$*.H file2=temp2-real$*.H exp='file1+file2' >$@ 
	Rm temp1-real$*.H temp2-real$*.H
real-smoothdrtm%-vel0-mult-SrightRleft-plus-SleftRright.v: real-smoothdrtm%-vel0-mult-SrightRleft-plus-SleftRright.H
	<$< Grey title="A real SMOOTHDRTM image from SrightRleft + SleftRright with SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

real-smoothdrtm%-vel0-mult-SrightRleft-minus-SleftRright.H: smoothdrtm%-vel0-mult-SrightRleft.H smoothdrtm%-vel0-mult-SleftRright.H
	<smoothdrtm$*-vel0-mult-SrightRleft.H Real >temp1-real$*.H
	<smoothdrtm$*-vel0-mult-SleftRright.H Real >temp2-real$*.H
	Math file1=temp1-real$*.H file2=temp2-real$*.H exp='file1-file2' >$@ 
	Rm temp1-real$*.H temp2-real$*.H
real-smoothdrtm%-vel0-mult-SrightRleft-minus-SleftRright.v: real-smoothdrtm%-vel0-mult-SrightRleft-minus-SleftRright.H
	<$< Grey title="A real SMOOTHDRTM image from SrightRleft - SleftRright with SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@


##################################################
##	#################################	##
##	### RTM after lowcut filtered		##
##	#################################	##
##################################################
## Conventional RTM images from data with SRM
smoothdrtm%-vel0-mult-lowcut.H: smoothdrtm%-vel0-mult.H $B/Light1.x
	<$< $B/Light1.x >$@
smoothdrtm%-vel0-mult-lowcut.v: smoothdrtm%-vel0-mult-lowcut.H
	<$< Window n3=1 f3=0 | Grey title="An lowcut-filtered RTM image from data with SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

#####################################
## horizontal SMOOTHDRTM images from Re{S}*Re{R}
## i.e. using only real part
#####################################
real-smoothdrtm%-vel0-mult-SrightRright-lowcut.v: smoothdrtm%-vel0-mult-SrightRright.H $B/Light1.x
	<$< Real | $B/Light1.x | Window n3=1 f3=0 | Grey title="A lowcut real SMOOTHDRTM image from SrightRright with SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

real-smoothdrtm%-vel0-mult-SleftRleft-lowcut.v: smoothdrtm%-vel0-mult-SleftRleft.H $B/Light1.x
	<$< Real | $B/Light1.x | Window n3=1 f3=0 | Grey title="A lowcut real SMOOTHDRTM image from SleftRleft with SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

real-smoothdrtm%-vel0-mult-SrightRleft-lowcut.v: smoothdrtm%-vel0-mult-SrightRleft.H $B/Light1.x
	<$< Real | $B/Light1.x | Window n3=1 f3=0 | Grey title="A lowcut real SMOOTHDRTM image from SrightRleft with SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

real-smoothdrtm%-vel0-mult-SleftRright-lowcut.v: smoothdrtm%-vel0-mult-SleftRright.H $B/Light1.x
	<$< Real | $B/Light1.x | Window n3=1 f3=0 | Grey title="A lowcut real SMOOTHDRTM image from SleftRright with SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

real-smoothdrtm%-vel0-mult-SrightRright-plus-SleftRleft-lowcut.v: real-smoothdrtm%-vel0-mult-SrightRright-plus-SleftRleft.H $B/Light1.x
	<$< $B/Light1.x | Window n3=1 f3=0 | Grey title="A lowcut real SMOOTHDRTM image from SrightRright + SleftRleft with SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

real-smoothdrtm%-vel0-mult-SrightRleft-plus-SleftRright-lowcut.v: real-smoothdrtm%-vel0-mult-SrightRleft-plus-SleftRright.H $B/Light1.x
	<$< $B/Light1.x | Window n3=1 f3=0 | Grey title="A lowcut real SMOOTHDRTM image from SrightRleft + SleftRright with SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

real-smoothdrtm%-vel0-mult-SrightRleft-minus-SleftRright-lowcut.v: real-smoothdrtm%-vel0-mult-SrightRleft-minus-SleftRright.H $B/Light1.x
	<$< $B/Light1.x | Window n3=1 f3=0 | Grey title="A lowcut real SMOOTHDRTM image from SrightRleft - SleftRright with SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@


##******** Compare horizontal SMOOTHDRTM here***********#
##################################################
### compare horizontal SMOOTHDRTM images
##################################################
### from only real part: Re{S}*Re{R}
compare-real-smoothdrtm%-vel0-mult-horiz: vel0.v smoothdrtm%-vel0-mult.v real-smoothdrtm%-vel0-mult-SrightRright.v real-smoothdrtm%-vel0-mult-SleftRleft.v real-smoothdrtm%-vel0-mult-SrightRleft.v real-smoothdrtm%-vel0-mult-SleftRright.v real-smoothdrtm%-vel0-mult-SrightRright-plus-SleftRleft.v real-smoothdrtm%-vel0-mult-SrightRleft-plus-SleftRright.v real-smoothdrtm%-vel0-mult-SrightRleft-minus-SleftRright.v
	tube $R/vel0.v $R/smoothdrtm$*-vel0-mult.v $R/real-smoothdrtm$*-vel0-mult-SrightRright.v $R/real-smoothdrtm$*-vel0-mult-SleftRleft.v $R/real-smoothdrtm$*-vel0-mult-SrightRleft.v $R/real-smoothdrtm$*-vel0-mult-SleftRright.v $R/real-smoothdrtm$*-vel0-mult-SrightRright-plus-SleftRleft.v $R/real-smoothdrtm$*-vel0-mult-SrightRleft-plus-SleftRright.v $R/real-smoothdrtm$*-vel0-mult-SrightRleft-minus-SleftRright.v &

### from correlation of complex-valued wavefields: conj{S}*{R}
compare-conj-smoothdrtm%-vel0-mult-horiz: vel0.v smoothdrtm%-vel0-mult.v conj-smoothdrtm%-vel0-mult-SrightRright.v conj-smoothdrtm%-vel0-mult-SleftRleft.v conj-smoothdrtm%-vel0-mult-SrightRleft.v conj-smoothdrtm%-vel0-mult-SleftRright.v
	tube $R/vel0.v $R/smoothdrtm$*-vel0-mult.v $R/conj-smoothdrtm$*-vel0-mult-SrightRright.v $R/conj-smoothdrtm$*-vel0-mult-SleftRleft.v $R/conj-smoothdrtm$*-vel0-mult-SrightRleft.v $R/conj-smoothdrtm$*-vel0-mult-SleftRright.v &

### compare the conventional RTM image with the summing results of all DRTM images
compare-sumall-smoothdrtm%-vel0-mult-horiz: vel0.v smoothdrtm%-vel0-mult.v real-smoothdrtm%-vel0-mult-horiz-sumall.v imag-smoothdrtm%-vel0-mult-horiz-sumall.v conj-smoothdrtm%-vel0-mult-horiz-sumall.v
	tube $R/vel0.v $R/smoothdrtm$*-vel0-mult.v $R/real-smoothdrtm$*-vel0-mult-horiz-sumall.v $R/imag-smoothdrtm$*-vel0-mult-horiz-sumall.v $R/conj-smoothdrtm$*-vel0-mult-horiz-sumall.v

##################################################
### compare horizontal SMOOTHDRTM images after lowcut filtered
##################################################
### from only real part: Re{S}*Re{R}
compare-real-smoothdrtm%-vel0-mult-horiz-lowcut: vel0.v smoothdrtm%-vel0-mult-lowcut.v real-smoothdrtm%-vel0-mult-SrightRright-lowcut.v real-smoothdrtm%-vel0-mult-SleftRleft-lowcut.v real-smoothdrtm%-vel0-mult-SrightRleft-lowcut.v real-smoothdrtm%-vel0-mult-SleftRright-lowcut.v real-smoothdrtm%-vel0-mult-SrightRright-plus-SleftRleft-lowcut.v real-smoothdrtm%-vel0-mult-SrightRleft-plus-SleftRright-lowcut.v real-smoothdrtm%-vel0-mult-SrightRleft-minus-SleftRright-lowcut.v
	tube $R/vel0.v $R/smoothdrtm$*-vel0-mult-lowcut.v $R/real-smoothdrtm$*-vel0-mult-SrightRright-lowcut.v $R/real-smoothdrtm$*-vel0-mult-SleftRleft-lowcut.v $R/real-smoothdrtm$*-vel0-mult-SrightRleft-lowcut.v $R/real-smoothdrtm$*-vel0-mult-SleftRright-lowcut.v $R/real-smoothdrtm$*-vel0-mult-SrightRright-plus-SleftRleft-lowcut.v $R/real-smoothdrtm$*-vel0-mult-SrightRleft-plus-SleftRright-lowcut.v $R/real-smoothdrtm$*-vel0-mult-SrightRleft-minus-SleftRright-lowcut.v &


####=============================================================================






# blank here






####=============================================================================


#============================
# data without SRM
#============================

##################################
### vertical SMOOTHDRTM imaging program
##################################
# drtmout$(m).H drtmout$(m).SdownRdown.H drtmout$(m).SupRup.H drtmout$(m).SdownRup.H drtmout$(m).SupRdown.H: inputdata$(m).H velfile.H soufile.H Par/drtm0.vel.P ./Bin/crtm2d_program.x ./Bin/Fkdecomp2D_program.x ./Bin/Padntape_program.x
#       sh newdrtm2d-vert.sh '$(m)' 'inputdata$(m).H' 'drtmout$(m).H' 'drtmout$(m).SdownRdown.H' 'drtmout$(m).SupRup.H' 'drtmout$(m).SdownRup.H' 'drtmout$(m).SupRdown.H' 'conventional_rtm2d_program.x' 'Fkdecomp2d_program.x' 'Padntape_beforeFFT.x' 'vel.mig.H' 'soufile' 'parfile' 'jsx=4' 'tmpdir=.' 'FKSdownOUT.H' 'FKSupOUT.H' 'FKRdownOUT.H' 'FKRupOUT.H' 'SdownOUT.H' 'SupOUT.H' 'RdownOUT.H' 'RupOUT.H' 'getonlyrealpart' 'decompicon' 'sousnap.H' 'recsnap.H' 'reflsnap.H'
##################################
# For selecting types of decomposed RTM output:
#              getonlyrealpart = 1, default    # the output is real-valued (only real part of complex-valued output)
#              getonlyrealpart = 0             # the output is complex-valued
#
# For selecting imaging condition for decomposed RTM (must be declared):
#              decompicon = 1          # Real part is the correlation of real parts, where Imag part is the correlation of imag parts
#              decompicon = 2          # taking complex conjugate for dsouwvfld in correlation, so the Imaginary part involves the image formation
###############################
smoothdrtm%-vel0-nomult.H smoothdrtm%-vel0-nomult-SdownRdown.H smoothdrtm%-vel0-nomult-SupRup.H smoothdrtm%-vel0-nomult-SdownRup.H smoothdrtm%-vel0-nomult-SupRdown.H smoothdrtm%-vel0-nomult-FKSdown.H smoothdrtm%-vel0-nomult-FKSup.H smoothdrtm%-vel0-nomult-FKRdown.H smoothdrtm%-vel0-nomult-FKRup.H smoothdrtm%-vel0-nomult-Sdownsnap.H smoothdrtm%-vel0-nomult-Supsnap.H smoothdrtm%-vel0-nomult-Rdownsnap.H smoothdrtm%-vel0-nomult-Rupsnap.H smoothdrtm%-vel0-nomult-sousnap.H smoothdrtm%-vel0-nomult-recsnap.H smoothdrtm%-vel0-nomult-reflsnap.H: data%-vel0-nomult.H vel0-mig.H sou.H $(P)/smoothdrtm-vert-vel0.P $(B)/crtm2d_program.x $(B)/Fkdecomp2d_program.x $(B)/Padntape_program.x $(SH)/newdrtm2d-vert.sh
	<$< Interp d2out=10 maxsize=1000 > data$*-vel0-nomult-smoothvert-interp.H
	sh $(SH)/newdrtm2d-vert.sh '$*-vel0-nomult-smoothvert' 'data$*-vel0-nomult-smoothvert-interp.H' 'smoothdrtm$*-vel0-nomult.H' 'smoothdrtm$*-vel0-nomult-SdownRdown.H' 'smoothdrtm$*-vel0-nomult-SupRup.H' 'smoothdrtm$*-vel0-nomult-SdownRup.H' 'smoothdrtm$*-vel0-nomult-SupRdown.H' '$(B)/crtm2d_program.x' '$(B)/Fkdecomp2d_program.x' '$(B)/Padntape_program.x' 'vel0-mig.H' 'sou.H' '$(P)/smoothdrtm-vert-vel0.P' '4' './temp' 'smoothdrtm$*-vel0-nomult-FKSdown.H' 'smoothdrtm$*-vel0-nomult-FKSup.H' 'smoothdrtm$*-vel0-nomult-FKRdown.H' 'smoothdrtm$*-vel0-nomult-FKRup.H' 'smoothdrtm$*-vel0-nomult-Sdownsnap.H' 'smoothdrtm$*-vel0-nomult-Supsnap.H' 'smoothdrtm$*-vel0-nomult-Rdownsnap.H' 'smoothdrtm$*-vel0-nomult-Rupsnap.H' '0' '1' 'smoothdrtm$*-vel0-nomult-sousnap.H' 'smoothdrtm$*-vel0-nomult-recsnap.H' 'smoothdrtm$*-vel0-nomult-reflsnap.H'
	Rm data$*-vel0-nomult-smoothvert-interp.H

#####################################
## formation process of RTM imaging for data with SRM
## this will use only real parts of filtered wavefields
## using rtmformation2d_program.x to create snapshots of RTM formation accumulating from tmax to t0
#####################################
## conventional RTM: S*R
formation-smoothdrtm%-vel0-nomult: smoothdrtm%-vel0-nomult-sousnap.H smoothdrtm%-vel0-nomult-recsnap.H smoothdrtm%-vel0-nomult-reflsnap.H
	Sep_cube smoothdrtm$*-vel0-nomult-sousnap.H smoothdrtm$*-vel0-nomult-recsnap.H smoothdrtm$*-vel0-nomult-reflsnap.H nviews=3 &

# SdownRdown
formation-smoothdrtm%-vel0-nomult-SdownRdown.H: smoothdrtm%-vel0-nomult-Sdownsnap.H smoothdrtm%-vel0-nomult-Rdownsnap.H $B/rtmformation2d_program.x
	$B/rtmformation2d_program.x soufile=smoothdrtm$*-vel0-nomult-Sdownsnap.H recfile=smoothdrtm$*-vel0-nomult-Rdownsnap.H >$@
formation-smoothdrtm%-vel0-nomult-SdownRdown: smoothdrtm%-vel0-nomult-Sdownsnap.H smoothdrtm%-vel0-nomult-Rdownsnap.H formation-smoothdrtm%-vel0-nomult-SdownRdown.H
	Sep_cube smoothdrtm$*-vel0-nomult-Sdownsnap.H smoothdrtm$*-vel0-nomult-Rdownsnap.H formation-smoothdrtm$*-vel0-nomult-SdownRdown.H nviews=3 &

# SupRup
formation-smoothdrtm%-vel0-nomult-SupRup.H: smoothdrtm%-vel0-nomult-Supsnap.H smoothdrtm%-vel0-nomult-Rupsnap.H $B/rtmformation2d_program.x
	$B/rtmformation2d_program.x soufile=smoothdrtm$*-vel0-nomult-Supsnap.H recfile=smoothdrtm$*-vel0-nomult-Rupsnap.H >$@
formation-smoothdrtm%-vel0-nomult-SupRup: smoothdrtm%-vel0-nomult-Supsnap.H smoothdrtm%-vel0-nomult-Rupsnap.H formation-smoothdrtm%-vel0-nomult-SupRup.H
	Sep_cube smoothdrtm$*-vel0-nomult-Supsnap.H smoothdrtm$*-vel0-nomult-Rupsnap.H formation-smoothdrtm$*-vel0-nomult-SupRup.H nviews=3 &

# SdownRup
formation-smoothdrtm%-vel0-nomult-SdownRup.H: smoothdrtm%-vel0-nomult-Sdownsnap.H smoothdrtm%-vel0-nomult-Rupsnap.H $B/rtmformation2d_program.x
	$B/rtmformation2d_program.x soufile=smoothdrtm$*-vel0-nomult-Sdownsnap.H recfile=smoothdrtm$*-vel0-nomult-Rupsnap.H >$@
formation-smoothdrtm%-vel0-nomult-SdownRup: smoothdrtm%-vel0-nomult-Sdownsnap.H smoothdrtm%-vel0-nomult-Rupsnap.H formation-smoothdrtm%-vel0-nomult-SdownRup.H
	Sep_cube smoothdrtm$*-vel0-nomult-Sdownsnap.H smoothdrtm$*-vel0-nomult-Rupsnap.H formation-smoothdrtm$*-vel0-nomult-SdownRup.H nviews=3 &

# SupRdown
formation-smoothdrtm%-vel0-nomult-SupRdown.H: smoothdrtm%-vel0-nomult-Supsnap.H smoothdrtm%-vel0-nomult-Rdownsnap.H $B/rtmformation2d_program.x
	$B/rtmformation2d_program.x soufile=smoothdrtm$*-vel0-nomult-Supsnap.H recfile=smoothdrtm$*-vel0-nomult-Rdownsnap.H >$@
formation-smoothdrtm%-vel0-nomult-SupRdown: smoothdrtm%-vel0-nomult-Supsnap.H smoothdrtm%-vel0-nomult-Rdownsnap.H formation-smoothdrtm%-vel0-nomult-SupRdown.H
	Sep_cube smoothdrtm$*-vel0-nomult-Supsnap.H smoothdrtm$*-vel0-nomult-Rdownsnap.H formation-smoothdrtm$*-vel0-nomult-SupRdown.H nviews=3 &


#####################################
## vertically filtered wavefields in FK domain
#####################################
smoothdrtm%-vel0-nomult-FKSdown.v: smoothdrtm%-vel0-nomult-FKSdown.H
	<$< Window j3=50 | Grey title="Spectrum of a downgoing source wavefield" $(Axis) yreverse=n label1="Frequency (Hz)" label2="Vertical wavenumber (/m)" $(dn) out=$(R)/$@
smoothdrtm%-vel0-nomult-FKSup.v: smoothdrtm%-vel0-nomult-FKSup.H
	<$< Window j3=50 | Grey title="Spectrum of an upgoing source wavefield" $(Axis) yreverse=n label1="Frequency (Hz)" label2="Vertical wavenumber (/m)" $(dn) out=$(R)/$@
smoothdrtm%-vel0-nomult-FKRdown.v: smoothdrtm%-vel0-nomult-FKRdown.H
	<$< Window j3=50 | Grey title="Spectrum of a downgoing receiver wavefield" $(Axis) yreverse=n label1="Frequency (Hz)" label2="Vertical wavenumber (/m)" $(dn) out=$(R)/$@
smoothdrtm%-vel0-nomult-FKRup.v: smoothdrtm%-vel0-nomult-FKRup.H
	<$< Window j3=50 | Grey title="Spectrum of an upgoing receiver wavefield" $(Axis) yreverse=n label1="Frequency (Hz)" label2="Vertical wavenumber (/m)" $(dn) out=$(R)/$@

#####################################
## Conventional RTM images
#####################################
smoothdrtm%-vel0-nomult.v: smoothdrtm%-vel0-nomult.H
	<$< Grey title="A conventional RTM image from data without SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@


#####################################
## Combine all vertical SMOOTHDRTM images to be compared with the conventional RTM images
#####################################
smoothdrtm%-vel0-nomult-vert-sumall.H: smoothdrtm%-vel0-nomult-SdownRdown.H smoothdrtm%-vel0-nomult-SupRup.H smoothdrtm%-vel0-nomult-SdownRup.H smoothdrtm%-vel0-nomult-SupRdown.H
	Math file1=smoothdrtm$*-vel0-nomult-SdownRdown.H file2=smoothdrtm$*-vel0-nomult-SupRup.H file3=smoothdrtm$*-vel0-nomult-SdownRup.H file4=smoothdrtm$*-vel0-nomult-SupRdown.H exp_real='file1.re+file2.re+file3.re+file4.re' exp_imag='file1.im+file2.im+file3.im+file4.im' >$@

real-smoothdrtm%-vel0-nomult-vert-sumall.v: smoothdrtm%-vel0-nomult-vert-sumall.H
	<$< Real | Grey title="A sum of real vertical SMOOTHDRTM images without SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

imag-smoothdrtm%-vel0-nomult-vert-sumall.v: smoothdrtm%-vel0-nomult-vert-sumall.H
	<$< Imag | Grey title="A sum of imag vertical SMOOTHDRTM images without SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

conj-smoothdrtm%-vel0-nomult-vert-sumall.v: smoothdrtm%-vel0-nomult-vert-sumall.H
	<$< Real >temp-real$*.H
	<$< Imag >temp-imag$*.H
	Math file1=temp-real$*.H file2=temp-imag$*.H exp='file1+file2' | Grey title="A sum of conj vertical SMOOTHDRTM images without SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@
	Rm temp-real$*.H temp-imag$*.H

#####################################
## vertical SMOOTHDRTM images from Re{S}*Re{R}
## i.e. using only real part
#####################################
real-smoothdrtm%-vel0-nomult-SdownRdown.v: smoothdrtm%-vel0-nomult-SdownRdown.H
	<$< Real | Grey title="A real SMOOTHDRTM image from SdownRdown without SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

real-smoothdrtm%-vel0-nomult-SupRup.v: smoothdrtm%-vel0-nomult-SupRup.H
	<$< Real | Grey title="A real SMOOTHDRTM image from SupRup without SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

real-smoothdrtm%-vel0-nomult-SdownRup.v: smoothdrtm%-vel0-nomult-SdownRup.H
	<$< Real | Grey title="A real SMOOTHDRTM image from SdownRup without SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

real-smoothdrtm%-vel0-nomult-SupRdown.v: smoothdrtm%-vel0-nomult-SupRdown.H
	<$< Real | Grey title="A real SMOOTHDRTM image from SupRdown without SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

#####################################
## vertical SMOOTHDRTM images from Im{S}*Im{R}
#####################################
imag-smoothdrtm%-vel0-nomult-SdownRdown.v: smoothdrtm%-vel0-nomult-SdownRdown.H
	<$< Imag | Grey title="An imag SMOOTHDRTM image from SdownRdown without SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

imag-smoothdrtm%-vel0-nomult-SupRup.v: smoothdrtm%-vel0-nomult-SupRup.H
	<$< Imag | Grey title="An imag SMOOTHDRTM image from SupRup without SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

imag-smoothdrtm%-vel0-nomult-SdownRup.v: smoothdrtm%-vel0-nomult-SdownRup.H
	<$< Imag | Grey title="An imag SMOOTHDRTM image from SdownRup without SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

imag-smoothdrtm%-vel0-nomult-SupRdown.v: smoothdrtm%-vel0-nomult-SupRdown.H
	<$< Imag | Grey title="An imag SMOOTHDRTM image from SupRdown without SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@


########################################################################
## vertical SMOOTHDRTM images from correlation of complex-valued wavefields conj{S}*{R}
## i.e. Re{S}*Re{R} + Im{S}*Im{R}
########################################################################
conj-smoothdrtm%-vel0-nomult-SdownRdown.v: smoothdrtm%-vel0-nomult-SdownRdown.H
	<$< Real >temp-real$*.H
	<$< Imag >temp-imag$*.H
	Math file1=temp-real$*.H file2=temp-imag$*.H exp='file1+file2' | Grey title="A conj SMOOTHDRTM image from SdownRdown without SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@
	Rm temp-real$*.H temp-imag$*.H
conj-smoothdrtm%-vel0-nomult-SupRup.v: smoothdrtm%-vel0-nomult-SupRup.H
	<$< Real >temp-real$*.H
	<$< Imag >temp-imag$*.H
	Math file1=temp-real$*.H file2=temp-imag$*.H exp='file1+file2' | Grey title="A conj SMOOTHDRTM image from SupRup without SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@
	Rm temp-real$*.H temp-imag$*.H
conj-smoothdrtm%-vel0-nomult-SdownRup.v: smoothdrtm%-vel0-nomult-SdownRup.H
	<$< Real >temp-real$*.H
	<$< Imag >temp-imag$*.H
	Math file1=temp-real$*.H file2=temp-imag$*.H exp='file1+file2' | Grey title="A conj SMOOTHDRTM image from SdownRup without SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@
	Rm temp-real$*.H temp-imag$*.H
conj-smoothdrtm%-vel0-nomult-SupRdown.v: smoothdrtm%-vel0-nomult-SupRdown.H
	<$< Real >temp-real$*.H
	<$< Imag >temp-imag$*.H
	Math file1=temp-real$*.H file2=temp-imag$*.H exp='file1+file2' | Grey title="A conj SMOOTHDRTM image from SupRdown without SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@
	Rm temp-real$*.H temp-imag$*.H

#########################################
### vertical SMOOTHDRTM images from some combinations
#########################################
real-smoothdrtm%-vel0-nomult-SdownRdown-plus-SupRup.H: smoothdrtm%-vel0-nomult-SdownRdown.H smoothdrtm%-vel0-nomult-SupRup.H
	<smoothdrtm$*-vel0-nomult-SdownRdown.H Real >temp1-real$*.H
	<smoothdrtm$*-vel0-nomult-SupRup.H Real >temp2-real$*.H
	Math file1=temp1-real$*.H file2=temp2-real$*.H exp='file1+file2' >$@
	Rm temp1-real$*.H temp2-real$*.H
real-smoothdrtm%-vel0-nomult-SdownRdown-plus-SupRup.v: real-smoothdrtm%-vel0-nomult-SdownRdown-plus-SupRup.H
	<$< Grey title="A real SMOOTHDRTM image from SdownRdown + SupRup without SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

real-smoothdrtm%-vel0-nomult-SdownRup-plus-SupRdown.H: smoothdrtm%-vel0-nomult-SdownRup.H smoothdrtm%-vel0-nomult-SupRdown.H
	<smoothdrtm$*-vel0-nomult-SdownRup.H Real >temp1-real$*.H
	<smoothdrtm$*-vel0-nomult-SupRdown.H Real >temp2-real$*.H
	Math file1=temp1-real$*.H file2=temp2-real$*.H exp='file1+file2' >$@ 
	Rm temp1-real$*.H temp2-real$*.H
real-smoothdrtm%-vel0-nomult-SdownRup-plus-SupRdown.v: real-smoothdrtm%-vel0-nomult-SdownRup-plus-SupRdown.H
	<$< Grey title="A real SMOOTHDRTM image from SdownRup + SupRdown without SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

real-smoothdrtm%-vel0-nomult-SdownRup-minus-SupRdown.H: smoothdrtm%-vel0-nomult-SdownRup.H smoothdrtm%-vel0-nomult-SupRdown.H
	<smoothdrtm$*-vel0-nomult-SdownRup.H Real >temp1-real$*.H
	<smoothdrtm$*-vel0-nomult-SupRdown.H Real >temp2-real$*.H
	Math file1=temp1-real$*.H file2=temp2-real$*.H exp='file1-file2' >$@ 
	Rm temp1-real$*.H temp2-real$*.H
real-smoothdrtm%-vel0-nomult-SdownRup-minus-SupRdown.v: real-smoothdrtm%-vel0-nomult-SdownRup-minus-SupRdown.H
	<$< Grey title="A real SMOOTHDRTM image from SdownRup - SupRdown without SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

##################################################
##	#################################	##
##	### RTM after lowcut filtered		##
##	#################################	##
##################################################
## Conventional RTM images from data without SRM
smoothdrtm%-vel0-nomult-lowcut.H: smoothdrtm%-vel0-nomult.H $B/Light1.x
	<$< $B/Light1.x >$@
smoothdrtm%-vel0-nomult-lowcut.v: smoothdrtm%-vel0-nomult-lowcut.H
	<$< Window n3=1 f3=0 | Grey title="An lowcut-filtered RTM image from data without SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

#####################################
## vertical SMOOTHDRTM images from Re{S}*Re{R}
## i.e. using only real part
#####################################
real-smoothdrtm%-vel0-nomult-SdownRdown-lowcut.v: smoothdrtm%-vel0-nomult-SdownRdown.H $B/Light1.x
	<$< Real | $B/Light1.x | Window n3=1 f3=0 | Grey title="A lowcut real SMOOTHDRTM image from SdownRdown without SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

real-smoothdrtm%-vel0-nomult-SupRup-lowcut.v: smoothdrtm%-vel0-nomult-SupRup.H $B/Light1.x
	<$< Real | $B/Light1.x | Window n3=1 f3=0 | Grey title="A lowcut real SMOOTHDRTM image from SupRup without SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

real-smoothdrtm%-vel0-nomult-SdownRup-lowcut.v: smoothdrtm%-vel0-nomult-SdownRup.H $B/Light1.x
	<$< Real | $B/Light1.x | Window n3=1 f3=0 | Grey title="A lowcut real SMOOTHDRTM image from SdownRup without SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

real-smoothdrtm%-vel0-nomult-SupRdown-lowcut.v: smoothdrtm%-vel0-nomult-SupRdown.H $B/Light1.x
	<$< Real | $B/Light1.x | Window n3=1 f3=0 | Grey title="A lowcut real SMOOTHDRTM image from SupRdown without SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

real-smoothdrtm%-vel0-nomult-SdownRdown-plus-SupRup-lowcut.v: real-smoothdrtm%-vel0-nomult-SdownRdown-plus-SupRup.H $B/Light1.x
	<$< $B/Light1.x | Window n3=1 f3=0 | Grey title="A lowcut real SMOOTHDRTM image from SdownRdown + SupRup without SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

real-smoothdrtm%-vel0-nomult-SdownRup-plus-SupRdown-lowcut.v: real-smoothdrtm%-vel0-nomult-SdownRup-plus-SupRdown.H $B/Light1.x
	<$< $B/Light1.x | Window n3=1 f3=0 | Grey title="A lowcut real SMOOTHDRTM image from SdownRup + SupRdown without SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

real-smoothdrtm%-vel0-nomult-SdownRup-minus-SupRdown-lowcut.v: real-smoothdrtm%-vel0-nomult-SdownRup-minus-SupRdown.H $B/Light1.x
	<$< $B/Light1.x | Window n3=1 f3=0 | Grey title="A lowcut real SMOOTHDRTM image from SdownRup - SupRdown without SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

##******** Compare vertical SMOOTHDRTM here***********#

##################################################
### compare vertical SMOOTHDRTM images
##################################################
### from only real part: Re{S}*Re{R}
compare-real-smoothdrtm%-vel0-nomult-vert: vel0.v smoothdrtm%-vel0-nomult.v real-smoothdrtm%-vel0-nomult-SdownRdown.v real-smoothdrtm%-vel0-nomult-SupRup.v real-smoothdrtm%-vel0-nomult-SdownRup.v real-smoothdrtm%-vel0-nomult-SupRdown.v real-smoothdrtm%-vel0-nomult-SdownRdown-plus-SupRup.v real-smoothdrtm%-vel0-nomult-SdownRup-plus-SupRdown.v real-smoothdrtm%-vel0-nomult-SdownRup-minus-SupRdown.v
	tube $R/vel0.v $R/smoothdrtm$*-vel0-nomult.v $R/real-smoothdrtm$*-vel0-nomult-SdownRdown.v $R/real-smoothdrtm$*-vel0-nomult-SupRup.v $R/real-smoothdrtm$*-vel0-nomult-SdownRup.v $R/real-smoothdrtm$*-vel0-nomult-SupRdown.v $R/real-smoothdrtm$*-vel0-nomult-SdownRdown-plus-SupRup.v $R/real-smoothdrtm$*-vel0-nomult-SdownRup-plus-SupRdown.v $R/real-smoothdrtm$*-vel0-nomult-SdownRup-minus-SupRdown.v &

### from correlation of complex-valued wavefields: conj{S}*{R}
compare-conj-smoothdrtm%-vel0-nomult-vert: vel0.v smoothdrtm%-vel0-nomult.v conj-smoothdrtm%-vel0-nomult-SdownRdown.v conj-smoothdrtm%-vel0-nomult-SupRup.v conj-smoothdrtm%-vel0-nomult-SdownRup.v conj-smoothdrtm%-vel0-nomult-SupRdown.v
	tube $R/vel0.v $R/smoothdrtm$*-vel0-nomult.v $R/conj-smoothdrtm$*-vel0-nomult-SdownRdown.v $R/conj-smoothdrtm$*-vel0-nomult-SupRup.v $R/conj-smoothdrtm$*-vel0-nomult-SdownRup.v $R/conj-smoothdrtm$*-vel0-nomult-SupRdown.v &

### compare the conventional RTM image with the summing results of all DRTM images
compare-sumall-smoothdrtm%-vel0-nomult-vert: vel0.v smoothdrtm%-vel0-nomult.v real-smoothdrtm%-vel0-nomult-vert-sumall.v imag-smoothdrtm%-vel0-nomult-vert-sumall.v conj-smoothdrtm%-vel0-nomult-vert-sumall.v
	tube $R/vel0.v $R/smoothdrtm$*-vel0-nomult.v $R/real-smoothdrtm$*-vel0-nomult-vert-sumall.v $R/imag-smoothdrtm$*-vel0-nomult-vert-sumall.v $R/conj-smoothdrtm$*-vel0-nomult-vert-sumall.v


##################################################
### compare vertical SMOOTHDRTM images after lowcut filtered
##################################################
### from only real part: Re{S}*Re{R}
compare-real-smoothdrtm%-vel0-nomult-vert-lowcut: vel0.v smoothdrtm%-vel0-nomult-lowcut.v real-smoothdrtm%-vel0-nomult-SdownRdown-lowcut.v real-smoothdrtm%-vel0-nomult-SupRup-lowcut.v real-smoothdrtm%-vel0-nomult-SdownRup-lowcut.v real-smoothdrtm%-vel0-nomult-SupRdown-lowcut.v real-smoothdrtm%-vel0-nomult-SdownRdown-plus-SupRup-lowcut.v real-smoothdrtm%-vel0-nomult-SdownRup-plus-SupRdown-lowcut.v real-smoothdrtm%-vel0-nomult-SdownRup-minus-SupRdown-lowcut.v
	tube $R/vel0.v $R/smoothdrtm$*-vel0-nomult-lowcut.v $R/real-smoothdrtm$*-vel0-nomult-SdownRdown-lowcut.v $R/real-smoothdrtm$*-vel0-nomult-SupRup-lowcut.v $R/real-smoothdrtm$*-vel0-nomult-SdownRup-lowcut.v $R/real-smoothdrtm$*-vel0-nomult-SupRdown-lowcut.v $R/real-smoothdrtm$*-vel0-nomult-SdownRdown-plus-SupRup-lowcut.v $R/real-smoothdrtm$*-vel0-nomult-SdownRup-plus-SupRdown-lowcut.v $R/real-smoothdrtm$*-vel0-nomult-SdownRup-minus-SupRdown-lowcut.v &




###########################################################################################
##***************************************************************************************##
## Below is commands for HORIZONTAL SMOOTHDRTM images
##***************************************************************************************##
###########################################################################################

##################################
### Horizontal SMOOTHDRTM imaging program
##################################
# drtmout$(m).H drtmout$(m).SrightRright.H drtmout$(m).SleftRleft.H drtmout$(m).SrightRleft.H drtmout$(m).SleftRright.H: inputdata$(m).H velfile.H soufile.H Par/drtm0.vel.P ./Bin/crtm2d_program.x ./Bin/Fkdecomp2D_program.x ./Bin/Padntape_program.x
#       sh drtm2d-horiz.sh '$(m)' 'inputdata$(m).H' 'drtmout$(m).H' 'drtmout$(m).SrightRright.H' 'drtmout$(m).SleftRleft.H' 'drtmout$(m).SrightRleft.H' 'drtmout$(m).SleftRright.H' 'conventional_rtm2d_program.x' 'Fkdecomp2d_program.x' 'Padntape_beforeFFT.x' 'vel.mig.H' 'soufile' 'parfile' 'jsx=4' 'tmpdir=.' 'FKSrightOUT.H' 'FKSleftOUT.H' 'FKRrightOUT.H' 'FKRleftOUT.H' 'SrightOUT.H' 'SleftOUT.H' 'RrightOUT.H' 'RleftOUT.H' 'getonlyrealpart' 'decompicon'
##################################
# For selecting types of decomposed RTM output:
#              getonlyrealpart = 1, default    # the output is real-valued (only real part of complex-valued output)
#              getonlyrealpart = 0             # the output is complex-valued
#
# For selecting imaging condition for decomposed RTM (must be declared):
#              decompicon = 1          # Real part is the correlation of real parts, where Imag part is the correlation of imag parts
#              decompicon = 2          # taking complex conjugate for dsouwvfld in correlation, so the Imaginary part involves the image formation
###############################
smoothdrtm%-vel0-nomult-SrightRright.H smoothdrtm%-vel0-nomult-SleftRleft.H smoothdrtm%-vel0-nomult-SrightRleft.H smoothdrtm%-vel0-nomult-SleftRright.H smoothdrtm%-vel0-nomult-FKSright.H smoothdrtm%-vel0-nomult-FKSleft.H smoothdrtm%-vel0-nomult-FKRright.H smoothdrtm%-vel0-nomult-FKRleft.H smoothdrtm%-vel0-nomult-Srightsnap.H smoothdrtm%-vel0-nomult-Sleftsnap.H smoothdrtm%-vel0-nomult-Rrightsnap.H smoothdrtm%-vel0-nomult-Rleftsnap.H: data%-vel0-nomult.H vel0-mig.H sou.H $(P)/smoothdrtm-horiz-vel0.P $(B)/crtm2d_program.x $(B)/Fkdecomp2d_program.x $(B)/Padntape_program.x $(SH)/newdrtm2d-horiz.sh
	<$< Interp d2out=10 maxsize=1000 > data$*-vel0-nomult-smoothhoriz-interp.H
	sh $(SH)/newdrtm2d-horiz.sh '$*-vel0-nomult-smoothhoriz' 'data$*-vel0-nomult-smoothhoriz-interp.H' '/dev/null' 'smoothdrtm$*-vel0-nomult-SrightRright.H' 'smoothdrtm$*-vel0-nomult-SleftRleft.H' 'smoothdrtm$*-vel0-nomult-SrightRleft.H' 'smoothdrtm$*-vel0-nomult-SleftRright.H' '$(B)/crtm2d_program.x' '$(B)/Fkdecomp2d_program.x' '$(B)/Padntape_program.x' 'vel0-mig.H' 'sou.H' '$(P)/smoothdrtm-horiz-vel0.P' '4' './temp' 'smoothdrtm$*-vel0-nomult-FKSright.H' 'smoothdrtm$*-vel0-nomult-FKSleft.H' 'smoothdrtm$*-vel0-nomult-FKRright.H' 'smoothdrtm$*-vel0-nomult-FKRleft.H' 'smoothdrtm$*-vel0-nomult-Srightsnap.H' 'smoothdrtm$*-vel0-nomult-Sleftsnap.H' 'smoothdrtm$*-vel0-nomult-Rrightsnap.H' 'smoothdrtm$*-vel0-nomult-Rleftsnap.H' '0' '1'
	Rm data$*-vel0-nomult-smoothhoriz-interp.H

#####################################
## formation process of RTM imaging for data with SRM
## this will use only real parts of filtered wavefields
## using rtmformation2d_program.x to create snapshots of RTM formation accumulating from tmax to t0
#####################################
# SrightRright
formation-smoothdrtm%-vel0-nomult-SrightRright.H: smoothdrtm%-vel0-nomult-Srightsnap.H smoothdrtm%-vel0-nomult-Rrightsnap.H $B/rtmformation2d_program.x
	$B/rtmformation2d_program.x soufile=smoothdrtm$*-vel0-nomult-Srightsnap.H recfile=smoothdrtm$*-vel0-nomult-Rrightsnap.H >$@
formation-smoothdrtm%-vel0-nomult-SrightRright: smoothdrtm%-vel0-nomult-Srightsnap.H smoothdrtm%-vel0-nomult-Rrightsnap.H formation-smoothdrtm%-vel0-nomult-SrightRright.H
	Sep_cube smoothdrtm$*-vel0-nomult-Srightsnap.H smoothdrtm$*-vel0-nomult-Rrightsnap.H formation-smoothdrtm$*-vel0-nomult-SrightRright.H nviews=3 &

# SleftRleft
formation-smoothdrtm%-vel0-nomult-SleftRleft.H: smoothdrtm%-vel0-nomult-Sleftsnap.H smoothdrtm%-vel0-nomult-Rleftsnap.H $B/rtmformation2d_program.x
	$B/rtmformation2d_program.x soufile=smoothdrtm$*-vel0-nomult-Sleftsnap.H recfile=smoothdrtm$*-vel0-nomult-Rleftsnap.H >$@
formation-smoothdrtm%-vel0-nomult-SleftRleft: smoothdrtm%-vel0-nomult-Sleftsnap.H smoothdrtm%-vel0-nomult-Rleftsnap.H formation-smoothdrtm%-vel0-nomult-SleftRleft.H
	Sep_cube smoothdrtm$*-vel0-nomult-Sleftsnap.H smoothdrtm$*-vel0-nomult-Rleftsnap.H formation-smoothdrtm$*-vel0-nomult-SleftRleft.H nviews=3 &

# SrightRleft
formation-smoothdrtm%-vel0-nomult-SrightRleft.H: smoothdrtm%-vel0-nomult-Srightsnap.H smoothdrtm%-vel0-nomult-Rleftsnap.H $B/rtmformation2d_program.x
	$B/rtmformation2d_program.x soufile=smoothdrtm$*-vel0-nomult-Srightsnap.H recfile=smoothdrtm$*-vel0-nomult-Rleftsnap.H >$@
formation-smoothdrtm%-vel0-nomult-SrightRleft: smoothdrtm%-vel0-nomult-Srightsnap.H smoothdrtm%-vel0-nomult-Rleftsnap.H formation-smoothdrtm%-vel0-nomult-SrightRleft.H
	Sep_cube smoothdrtm$*-vel0-nomult-Srightsnap.H smoothdrtm$*-vel0-nomult-Rleftsnap.H formation-smoothdrtm$*-vel0-nomult-SrightRleft.H nviews=3 &

# SleftRright
formation-smoothdrtm%-vel0-nomult-SleftRright.H: smoothdrtm%-vel0-nomult-Sleftsnap.H smoothdrtm%-vel0-nomult-Rrightsnap.H $B/rtmformation2d_program.x
	$B/rtmformation2d_program.x soufile=smoothdrtm$*-vel0-nomult-Sleftsnap.H recfile=smoothdrtm$*-vel0-nomult-Rrightsnap.H >$@
formation-smoothdrtm%-vel0-nomult-SleftRright: smoothdrtm%-vel0-nomult-Sleftsnap.H smoothdrtm%-vel0-nomult-Rrightsnap.H formation-smoothdrtm%-vel0-nomult-SleftRright.H
	Sep_cube smoothdrtm$*-vel0-nomult-Sleftsnap.H smoothdrtm$*-vel0-nomult-Rrightsnap.H formation-smoothdrtm$*-vel0-nomult-SleftRright.H nviews=3 &

#####################################
## horizontally filtered wavefields in FK domain
#####################################
smoothdrtm%-vel0-nomult-FKSright.v: smoothdrtm%-vel0-nomult-FKSright.H
	<$< Window j3=50 | Grey title="Spectrum of a rightgoing source wavefield" $(Axis) yreverse=n label1="Frequency (Hz)" label2="Horizontal wavenumber (/m)" $(dn) out=$(R)/$@
smoothdrtm%-vel0-nomult-FKSleft.v: smoothdrtm%-vel0-nomult-FKSleft.H
	<$< Window j3=50 | Grey title="Spectrum of an leftgoing source wavefield" $(Axis) yreverse=n label1="Frequency (Hz)" label2="Horizontal wavenumber (/m)" $(dn) out=$(R)/$@
smoothdrtm%-vel0-nomult-FKRright.v: smoothdrtm%-vel0-nomult-FKRright.H
	<$< Window j3=50 | Grey title="Spectrum of a rightgoing receiver wavefield" $(Axis) yreverse=n label1="Frequency (Hz)" label2="Horizontal wavenumber (/m)" $(dn) out=$(R)/$@
smoothdrtm%-vel0-nomult-FKRleft.v: smoothdrtm%-vel0-nomult-FKRleft.H
	<$< Window j3=50 | Grey title="Spectrum of an leftgoing receiver wavefield" $(Axis) yreverse=n label1="Frequency (Hz)" label2="Horizontal wavenumber (/m)" $(dn) out=$(R)/$@

#####################################
## Combine all horizontal SMOOTHDRTM images to be compared with the conventional RTM images
#####################################
smoothdrtm%-vel0-nomult-horiz-sumall.H: smoothdrtm%-vel0-nomult-SrightRright.H smoothdrtm%-vel0-nomult-SleftRleft.H smoothdrtm%-vel0-nomult-SrightRleft.H smoothdrtm%-vel0-nomult-SleftRright.H
	Math file1=smoothdrtm$*-vel0-nomult-SrightRright.H file2=smoothdrtm$*-vel0-nomult-SleftRleft.H file3=smoothdrtm$*-vel0-nomult-SrightRleft.H file4=smoothdrtm$*-vel0-nomult-SleftRright.H exp_real='file1.re+file2.re+file3.re+file4.re' exp_imag='file1.im+file2.im+file3.im+file4.im' >$@

real-smoothdrtm%-vel0-nomult-horiz-sumall.v: smoothdrtm%-vel0-nomult-horiz-sumall.H
	<$< Real | Grey title="A sum of real horizontal SMOOTHDRTM images without SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

imag-smoothdrtm%-vel0-nomult-horiz-sumall.v: smoothdrtm%-vel0-nomult-horiz-sumall.H
	<$< Imag | Grey title="A sum of imag horizontal SMOOTHDRTM images without SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

conj-smoothdrtm%-vel0-nomult-horiz-sumall.v: smoothdrtm%-vel0-nomult-horiz-sumall.H
	<$< Real >temp-real$*.H
	<$< Imag >temp-imag$*.H
	Math file1=temp-real$*.H file2=temp-imag$*.H exp='file1+file2' | Grey title="A sum of conj horizontal SMOOTHDRTM images without SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@
	Rm temp-real$*.H temp-imag$*.H

#####################################
## horizontal SMOOTHDRTM images from Re{S}*Re{R}
## i.e. using only real part
#####################################
real-smoothdrtm%-vel0-nomult-SrightRright.v: smoothdrtm%-vel0-nomult-SrightRright.H
	<$< Real | Grey title="A real SMOOTHDRTM image from SrightRright without SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

real-smoothdrtm%-vel0-nomult-SleftRleft.v: smoothdrtm%-vel0-nomult-SleftRleft.H
	<$< Real | Grey title="A real SMOOTHDRTM image from SleftRleft without SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

real-smoothdrtm%-vel0-nomult-SrightRleft.v: smoothdrtm%-vel0-nomult-SrightRleft.H
	<$< Real | Grey title="A real SMOOTHDRTM image from SrightRleft without SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

real-smoothdrtm%-vel0-nomult-SleftRright.v: smoothdrtm%-vel0-nomult-SleftRright.H
	<$< Real | Grey title="A real SMOOTHDRTM image from SleftRright without SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

#####################################
## horizontal SMOOTHDRTM images from Im{S}*Im{R}
#####################################
imag-smoothdrtm%-vel0-nomult-SrightRright.v: smoothdrtm%-vel0-nomult-SrightRright.H
	<$< Imag | Grey title="An imag SMOOTHDRTM image from SrightRright without SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

imag-smoothdrtm%-vel0-nomult-SleftRleft.v: smoothdrtm%-vel0-nomult-SleftRleft.H
	<$< Imag | Grey title="An imag SMOOTHDRTM image from SleftRleft without SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

imag-smoothdrtm%-vel0-nomult-SrightRleft.v: smoothdrtm%-vel0-nomult-SrightRleft.H
	<$< Imag | Grey title="An imag SMOOTHDRTM image from SrightRleft without SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

imag-smoothdrtm%-vel0-nomult-SleftRright.v: smoothdrtm%-vel0-nomult-SleftRright.H
	<$< Imag | Grey title="An imag SMOOTHDRTM image from SleftRright without SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@


########################################################################
## horizontal SMOOTHDRTM images from correlation of complex-valued wavefields conj{S}*{R}
## i.e. Re{S}*Re{R} + Im{S}*Im{R}
########################################################################
conj-smoothdrtm%-vel0-nomult-SrightRright.v: smoothdrtm%-vel0-nomult-SrightRright.H
	<$< Real >temp-real$*.H
	<$< Imag >temp-imag$*.H
	Math file1=temp-real$*.H file2=temp-imag$*.H exp='file1+file2' | Grey title="A conj SMOOTHDRTM image from SrightRright without SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@
	Rm temp-real$*.H temp-imag$*.H
conj-smoothdrtm%-vel0-nomult-SleftRleft.v: smoothdrtm%-vel0-nomult-SleftRleft.H
	<$< Real >temp-real$*.H
	<$< Imag >temp-imag$*.H
	Math file1=temp-real$*.H file2=temp-imag$*.H exp='file1+file2' | Grey title="A conj SMOOTHDRTM image from SleftRleft without SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@
	Rm temp-real$*.H temp-imag$*.H
conj-smoothdrtm%-vel0-nomult-SrightRleft.v: smoothdrtm%-vel0-nomult-SrightRleft.H
	<$< Real >temp-real$*.H
	<$< Imag >temp-imag$*.H
	Math file1=temp-real$*.H file2=temp-imag$*.H exp='file1+file2' | Grey title="A conj SMOOTHDRTM image from SrightRleft without SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@
	Rm temp-real$*.H temp-imag$*.H
conj-smoothdrtm%-vel0-nomult-SleftRright.v: smoothdrtm%-vel0-nomult-SleftRright.H
	<$< Real >temp-real$*.H
	<$< Imag >temp-imag$*.H
	Math file1=temp-real$*.H file2=temp-imag$*.H exp='file1+file2' | Grey title="A conj SMOOTHDRTM image from SleftRright without SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@
	Rm temp-real$*.H temp-imag$*.H

#########################################
### horizontal SMOOTHDRTM images from some combinations
#########################################
real-smoothdrtm%-vel0-nomult-SrightRright-plus-SleftRleft.H: smoothdrtm%-vel0-nomult-SrightRright.H smoothdrtm%-vel0-nomult-SleftRleft.H
	<smoothdrtm$*-vel0-nomult-SrightRright.H Real >temp1-real$*.H
	<smoothdrtm$*-vel0-nomult-SleftRleft.H Real >temp2-real$*.H
	Math file1=temp1-real$*.H file2=temp2-real$*.H exp='file1+file2' >$@
	Rm temp1-real$*.H temp2-real$*.H
real-smoothdrtm%-vel0-nomult-SrightRright-plus-SleftRleft.v: real-smoothdrtm%-vel0-nomult-SrightRright-plus-SleftRleft.H
	<$< Grey title="A real SMOOTHDRTM image from SrightRright + SleftRleft without SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

real-smoothdrtm%-vel0-nomult-SrightRleft-plus-SleftRright.H: smoothdrtm%-vel0-nomult-SrightRleft.H smoothdrtm%-vel0-nomult-SleftRright.H
	<smoothdrtm$*-vel0-nomult-SrightRleft.H Real >temp1-real$*.H
	<smoothdrtm$*-vel0-nomult-SleftRright.H Real >temp2-real$*.H
	Math file1=temp1-real$*.H file2=temp2-real$*.H exp='file1+file2' >$@ 
	Rm temp1-real$*.H temp2-real$*.H
real-smoothdrtm%-vel0-nomult-SrightRleft-plus-SleftRright.v: real-smoothdrtm%-vel0-nomult-SrightRleft-plus-SleftRright.H
	<$< Grey title="A real SMOOTHDRTM image from SrightRleft + SleftRright without SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

real-smoothdrtm%-vel0-nomult-SrightRleft-minus-SleftRright.H: smoothdrtm%-vel0-nomult-SrightRleft.H smoothdrtm%-vel0-nomult-SleftRright.H
	<smoothdrtm$*-vel0-nomult-SrightRleft.H Real >temp1-real$*.H
	<smoothdrtm$*-vel0-nomult-SleftRright.H Real >temp2-real$*.H
	Math file1=temp1-real$*.H file2=temp2-real$*.H exp='file1-file2' >$@ 
	Rm temp1-real$*.H temp2-real$*.H
real-smoothdrtm%-vel0-nomult-SrightRleft-minus-SleftRright.v: real-smoothdrtm%-vel0-nomult-SrightRleft-minus-SleftRright.H
	<$< Grey title="A real SMOOTHDRTM image from SrightRleft - SleftRright without SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@


##################################################
##	#################################	##
##	### RTM after lowcut filtered		##
##	#################################	##
##################################################
## Conventional RTM images from data without SRM
smoothdrtm%-vel0-nomult-lowcut.H: smoothdrtm%-vel0-nomult.H $B/Light1.x
	<$< $B/Light1.x >$@
smoothdrtm%-vel0-nomult-lowcut.v: smoothdrtm%-vel0-nomult-lowcut.H
	<$< Window n3=1 f3=0 | Grey title="An lowcut-filtered RTM image from data without SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

#####################################
## horizontal SMOOTHDRTM images from Re{S}*Re{R}
## i.e. using only real part
#####################################
real-smoothdrtm%-vel0-nomult-SrightRright-lowcut.v: smoothdrtm%-vel0-nomult-SrightRright.H $B/Light1.x
	<$< Real | $B/Light1.x | Window n3=1 f3=0 | Grey title="A lowcut real SMOOTHDRTM image from SrightRright without SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

real-smoothdrtm%-vel0-nomult-SleftRleft-lowcut.v: smoothdrtm%-vel0-nomult-SleftRleft.H $B/Light1.x
	<$< Real | $B/Light1.x | Window n3=1 f3=0 | Grey title="A lowcut real SMOOTHDRTM image from SleftRleft without SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

real-smoothdrtm%-vel0-nomult-SrightRleft-lowcut.v: smoothdrtm%-vel0-nomult-SrightRleft.H $B/Light1.x
	<$< Real | $B/Light1.x | Window n3=1 f3=0 | Grey title="A lowcut real SMOOTHDRTM image from SrightRleft without SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

real-smoothdrtm%-vel0-nomult-SleftRright-lowcut.v: smoothdrtm%-vel0-nomult-SleftRright.H $B/Light1.x
	<$< Real | $B/Light1.x | Window n3=1 f3=0 | Grey title="A lowcut real SMOOTHDRTM image from SleftRright without SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

real-smoothdrtm%-vel0-nomult-SrightRright-plus-SleftRleft-lowcut.v: real-smoothdrtm%-vel0-nomult-SrightRright-plus-SleftRleft.H $B/Light1.x
	<$< $B/Light1.x | Window n3=1 f3=0 | Grey title="A lowcut real SMOOTHDRTM image from SrightRright + SleftRleft without SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

real-smoothdrtm%-vel0-nomult-SrightRleft-plus-SleftRright-lowcut.v: real-smoothdrtm%-vel0-nomult-SrightRleft-plus-SleftRright.H $B/Light1.x
	<$< $B/Light1.x | Window n3=1 f3=0 | Grey title="A lowcut real SMOOTHDRTM image from SrightRleft + SleftRright without SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

real-smoothdrtm%-vel0-nomult-SrightRleft-minus-SleftRright-lowcut.v: real-smoothdrtm%-vel0-nomult-SrightRleft-minus-SleftRright.H $B/Light1.x
	<$< $B/Light1.x | Window n3=1 f3=0 | Grey title="A lowcut real SMOOTHDRTM image from SrightRleft - SleftRright without SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@


##******** Compare horizontal SMOOTHDRTM here***********#
##################################################
### compare horizontal SMOOTHDRTM images
##################################################
### from only real part: Re{S}*Re{R}
compare-real-smoothdrtm%-vel0-nomult-horiz: vel0.v smoothdrtm%-vel0-nomult.v real-smoothdrtm%-vel0-nomult-SrightRright.v real-smoothdrtm%-vel0-nomult-SleftRleft.v real-smoothdrtm%-vel0-nomult-SrightRleft.v real-smoothdrtm%-vel0-nomult-SleftRright.v real-smoothdrtm%-vel0-nomult-SrightRright-plus-SleftRleft.v real-smoothdrtm%-vel0-nomult-SrightRleft-plus-SleftRright.v real-smoothdrtm%-vel0-nomult-SrightRleft-minus-SleftRright.v
	tube $R/vel0.v $R/smoothdrtm$*-vel0-nomult.v $R/real-smoothdrtm$*-vel0-nomult-SrightRright.v $R/real-smoothdrtm$*-vel0-nomult-SleftRleft.v $R/real-smoothdrtm$*-vel0-nomult-SrightRleft.v $R/real-smoothdrtm$*-vel0-nomult-SleftRright.v $R/real-smoothdrtm$*-vel0-nomult-SrightRright-plus-SleftRleft.v $R/real-smoothdrtm$*-vel0-nomult-SrightRleft-plus-SleftRright.v $R/real-smoothdrtm$*-vel0-nomult-SrightRleft-minus-SleftRright.v &

### from correlation of complex-valued wavefields: conj{S}*{R}
compare-conj-smoothdrtm%-vel0-nomult-horiz: vel0.v smoothdrtm%-vel0-nomult.v conj-smoothdrtm%-vel0-nomult-SrightRright.v conj-smoothdrtm%-vel0-nomult-SleftRleft.v conj-smoothdrtm%-vel0-nomult-SrightRleft.v conj-smoothdrtm%-vel0-nomult-SleftRright.v
	tube $R/vel0.v $R/smoothdrtm$*-vel0-nomult.v $R/conj-smoothdrtm$*-vel0-nomult-SrightRright.v $R/conj-smoothdrtm$*-vel0-nomult-SleftRleft.v $R/conj-smoothdrtm$*-vel0-nomult-SrightRleft.v $R/conj-smoothdrtm$*-vel0-nomult-SleftRright.v &

### compare the conventional RTM image with the summing results of all DRTM images
compare-sumall-smoothdrtm%-vel0-nomult-horiz: vel0.v smoothdrtm%-vel0-nomult.v real-smoothdrtm%-vel0-nomult-horiz-sumall.v imag-smoothdrtm%-vel0-nomult-horiz-sumall.v conj-smoothdrtm%-vel0-nomult-horiz-sumall.v
	tube $R/vel0.v $R/smoothdrtm$*-vel0-nomult.v $R/real-smoothdrtm$*-vel0-nomult-horiz-sumall.v $R/imag-smoothdrtm$*-vel0-nomult-horiz-sumall.v $R/conj-smoothdrtm$*-vel0-nomult-horiz-sumall.v

##################################################
### compare horizontal SMOOTHDRTM images after lowcut filtered
##################################################
### from only real part: Re{S}*Re{R}
compare-real-smoothdrtm%-vel0-nomult-horiz-lowcut: vel0.v smoothdrtm%-vel0-nomult-lowcut.v real-smoothdrtm%-vel0-nomult-SrightRright-lowcut.v real-smoothdrtm%-vel0-nomult-SleftRleft-lowcut.v real-smoothdrtm%-vel0-nomult-SrightRleft-lowcut.v real-smoothdrtm%-vel0-nomult-SleftRright-lowcut.v real-smoothdrtm%-vel0-nomult-SrightRright-plus-SleftRleft-lowcut.v real-smoothdrtm%-vel0-nomult-SrightRleft-plus-SleftRright-lowcut.v real-smoothdrtm%-vel0-nomult-SrightRleft-minus-SleftRright-lowcut.v
	tube $R/vel0.v $R/smoothdrtm$*-vel0-nomult-lowcut.v $R/real-smoothdrtm$*-vel0-nomult-SrightRright-lowcut.v $R/real-smoothdrtm$*-vel0-nomult-SleftRleft-lowcut.v $R/real-smoothdrtm$*-vel0-nomult-SrightRleft-lowcut.v $R/real-smoothdrtm$*-vel0-nomult-SleftRright-lowcut.v $R/real-smoothdrtm$*-vel0-nomult-SrightRright-plus-SleftRleft-lowcut.v $R/real-smoothdrtm$*-vel0-nomult-SrightRleft-plus-SleftRright-lowcut.v $R/real-smoothdrtm$*-vel0-nomult-SrightRleft-minus-SleftRright-lowcut.v &




#########################################
### combination of vertical and horizontal SMOOTHDRTM images
#########################################
###########
## data with SRM
real-smoothdrtm%-vel0-mult-vert-plus-horiz.H: real-smoothdrtm%-vel0-mult-SdownRup-plus-SupRdown.H real-smoothdrtm%-vel0-mult-SrightRleft-plus-SleftRright.H
	Math file1=real-smoothdrtm$*-vel0-mult-SdownRup-plus-SupRdown.H file2=real-smoothdrtm$*-vel0-mult-SrightRleft-plus-SleftRright.H exp='file1+file2' >$@
real-smoothdrtm%-vel0-mult-vert-plus-horiz.v: real-smoothdrtm%-vel0-mult-vert-plus-horiz.H
	<$< Grey title="A real SMOOTHDRTM image from vert-plus-horiz with SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

real-smoothdrtm%-vel0-mult-vert-minus-horiz.H: real-smoothdrtm%-vel0-mult-SdownRup-plus-SupRdown.H real-smoothdrtm%-vel0-mult-SrightRleft-plus-SleftRright.H
	Math file1=real-smoothdrtm$*-vel0-mult-SdownRup-plus-SupRdown.H file2=real-smoothdrtm$*-vel0-mult-SrightRleft-plus-SleftRright.H exp='file1-file2' >$@
real-smoothdrtm%-vel0-mult-vert-minus-horiz.v: real-smoothdrtm%-vel0-mult-vert-minus-horiz.H
	<$< Grey title="A real SMOOTHDRTM image from vert-minus-horiz with SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

compare-real-smoothdrtm%-vel0-mult-vert-plus-horiz: vel0.v smoothdrtm%-vel0-mult.v smoothdrtm%-vel0-mult-lowcut.v real-smoothdrtm%-vel0-mult-SdownRup-plus-SupRdown.v real-smoothdrtm%-vel0-mult-SrightRleft-plus-SleftRright.v real-smoothdrtm%-vel0-mult-vert-plus-horiz.v real-smoothdrtm%-vel0-mult-vert-minus-horiz.v
	tube $R/vel0.v $R/smoothdrtm$*-vel0-mult.v $R/smoothdrtm$*-vel0-mult-lowcut.v $R/real-smoothdrtm$*-vel0-mult-SdownRup-plus-SupRdown.v $R/real-smoothdrtm$*-vel0-mult-SrightRleft-plus-SleftRright.v $R/real-smoothdrtm$*-vel0-mult-vert-plus-horiz.v $R/real-smoothdrtm$*-vel0-mult-vert-minus-horiz.v &

############
## data without SRM
real-smoothdrtm%-vel0-nomult-vert-plus-horiz.H: real-smoothdrtm%-vel0-nomult-SdownRup-plus-SupRdown.H real-smoothdrtm%-vel0-nomult-SrightRleft-plus-SleftRright.H
	Math file1=real-smoothdrtm$*-vel0-nomult-SdownRup-plus-SupRdown.H file2=real-smoothdrtm$*-vel0-nomult-SrightRleft-plus-SleftRright.H exp='file1+file2' >$@
real-smoothdrtm%-vel0-nomult-vert-plus-horiz.v: real-smoothdrtm%-vel0-nomult-vert-plus-horiz.H
	<$< Grey title="A real SMOOTHDRTM image from vert-plus-horiz without SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

real-smoothdrtm%-vel0-nomult-vert-minus-horiz.H: real-smoothdrtm%-vel0-nomult-SdownRup-plus-SupRdown.H real-smoothdrtm%-vel0-nomult-SrightRleft-plus-SleftRright.H
	Math file1=real-smoothdrtm$*-vel0-nomult-SdownRup-plus-SupRdown.H file2=real-smoothdrtm$*-vel0-nomult-SrightRleft-plus-SleftRright.H exp='file1-file2' >$@
real-smoothdrtm%-vel0-nomult-vert-minus-horiz.v: real-smoothdrtm%-vel0-nomult-vert-minus-horiz.H
	<$< Grey title="A real SMOOTHDRTM image from vert-minus-horiz without SRM" $(Axis) screenratio=$(vel0screenratio) | Vppen vpstyle=n scale=$(vel0screenratio) $(dn) out=$R/$@

compare-real-smoothdrtm%-vel0-nomult-vert-plus-horiz: vel0.v smoothdrtm%-vel0-nomult.v smoothdrtm%-vel0-nomult-lowcut.v real-smoothdrtm%-vel0-nomult-SdownRup-plus-SupRdown.v real-smoothdrtm%-vel0-nomult-SrightRleft-plus-SleftRright.v real-smoothdrtm%-vel0-nomult-vert-plus-horiz.v real-smoothdrtm%-vel0-nomult-vert-minus-horiz.v
	tube $R/vel0.v $R/smoothdrtm$*-vel0-nomult.v $R/smoothdrtm$*-vel0-nomult-lowcut.v $R/real-smoothdrtm$*-vel0-nomult-SdownRup-plus-SupRdown.v $R/real-smoothdrtm$*-vel0-nomult-SrightRleft-plus-SleftRright.v $R/real-smoothdrtm$*-vel0-nomult-vert-plus-horiz.v $R/real-smoothdrtm$*-vel0-nomult-vert-minus-horiz.v &