/* take if exist out */
#define FIGLIST marm cubes compx compz 
#define FIGDIR ../Fig
$#define FIGSUP /ray/OnLoanMartin
#define FIGSUP ../Fig2
#define ULTIMOD Ultiall
#include "../../Cakerules/SEP.martin.rules"
#define BINDIR ../../Bin/MTYPE
#include <SEP.defs>


clean&:
	-Rm *.H
	-Rm *seis*
	-Rm *snap*
	-Rm wavelet.h
	-Rm wavelet.vert wavelet.hori
	-Rm j*
	-Rm *.h *.T Junk Jjunk

test&:  acoustic.h wavelet.h BINDIR/ULTIMOD
	time BINDIR/ULTIMOD  type=1 modeling=1 moduli=acoustic.h par=parfile  <wavelet.h >junk


small&: elasticacoustic /* pure_elastic pure_acoustic */

all: pure_acoustic elasticpressure elasticacoustic
/* elastic_vertical elastic_horizontal */


/* acoustic modeling with a pressure source */

pure_acoustic&:  acoustic.h wavelet.h  BINDIR/ULTIMOD
	time BINDIR/ULTIMOD  type=1 modeling=1 moduli=acoustic.h par=parfile xsnap=xsnap.acp zsnap=zsnap.acp  xseis=xseis.acp zseis=zseis.acp <wavelet.h >junk

/* elastic modeling with a pressure source */

elasticpressure& xsnap.elp zsnap.elp xseis.elp zseis.elp:elastic.h wavelet.vert BINDIR/ULTIMOD
	time BINDIR/ULTIMOD  type=4 modeling=1 src_type=1 moduli=elastic.h par=parfile  xsnap=xsnap.elp zsnap=zsnap.elp xseis=xseis.elp zseis=zseis.elp <wavelet.vert >junk

/* elasticacoutic modeling with a pressure source */

elasticacoustic& xsnap.elac zsnap.elac xseis.elac zseis.elac: elasticacoustic.h wavelet.vert  BINDIR/ULTIMOD
	time BINDIR/ULTIMOD  type=4 modeling=1 src_type=1 moduli=elasticacoustic.h par=parfile  xsnap=xsnap.elac zsnap=zsnap.elac xseis=xseis.elac zseis=zseis.elac <wavelet.vert >junk


/* elastic modeling with  multi-component sources */

elastic_vertical&:  elastic.h wavelet.vert  BINDIR/ULTIMOD
	time BINDIR/ULTIMOD  type=4 modeling=1 src_type=0 moduli=elastic.h par=parfile  xsnap=xsnap.elv zsnap=zsnap.elv xseis=xseis.elv zseis=zseis.elv <wavelet.vert >junk

elastic_horizontal&:  elastic.h wavelet.hori  BINDIR/ULTIMOD
	time BINDIR/ULTIMOD  type=4 modeling=1 src_type=0 moduli=elastic.h par=parfile xsnap=xsnap.elh zsnap=zsnap.elh xseis=xseis.elh zseis=zseis.elh <wavelet.hori >junk

/* bulk modulus  generate, out of velocity model */
marmvel.H: if not exist marmvel.H
        Cp <../../Data/Marm/marmvel.HH >marmvel.H

marmdens.H: if not exist marmdens.H
        Cp <../../Data/Marm/marmdens.HH >marmdens.H

acoustic.h: marmvel.H marmdens.H
	Window <marmvel.H j1=3 f2=1 j2=3 >junk
	Window <marmdens.H j1=3 f2=1 j2=3 >jrho
	Cat junk >junk2
	Add mode=product junk junk2 >junk3
	Add mode=product junk3 jrho >junk4
	Cat junk4 jrho >junk6
	Window n1=208  f2=206 n2=464 <junk6 >acoustic.h

$	Scale dscale=1e-9 <junk4 >junk5 
$	Scale dscale=0.001 <jrho >jrho2

/* connoco's law */

elastic.h: acoustic.h
	Window n3=1 f3=0 <acoustic.h >junk.c11
	Window n3=1 f3=1 <acoustic.h >junk.rho
	Scale <junk.c11 dscale=0.25 >junk.c44a
	Window <junk.c44a f1=11 >junk.c44b
	Spike n1=11 n2=464 nsp=0 >zero.h
	Merge axis=1 space=n zero.h junk.c44b >junk.c44
	Correct_num junk.c44a junk.c44
	Add junk.c11 junk.c44 scale=1.,-2. mode=sum >junk.c13
	Cat junk.c11 junk.c13 junk.c11 junk.c44 junk.rho >elastic.h

elasticacoustic.h: acoustic.h
	Window n3=1 f3=0 <acoustic.h >junk.c11
	Window n3=1 f3=1 <acoustic.h >junk.rho
	Scale <junk.c11 dscale=0.25 >junk.c44a
	Spike n1=208 n2=464 nsp=0 >junk.c44
	Correct_num junk.c44a junk.c44
	Cat junk.c11 junk.c11 junk.c11 junk.c44 junk.rho >elasticacoustic.h


/* vertical source   2components */
wavelet.vert: wavelet.h
	Spike n1=256 n2=1 n3=1 nsp=0 >junk
	Merge wavelet.h junk axis=2 space=n >wavelet.vert

/* horizontal source   2components */
wavelet.hori: wavelet.h
	Spike n1=256 n2=1 n3=1 nsp=0 >junk
	Merge junk wavelet.h axis=2 space=n >wavelet.hori


wavelet.h: 
	Wavelet n1=256 d1=0.001 domain=time wavelet=ricker1 tdelay=0.040 fund=25 fhigh=40. | Scale dscale=1000000. >wavelet.h


div.h.T:	div.h
	Taplot <div.h gainpanel=every  >div.h.T

div2.h.T:	div2.h	
	Taplot <div2.h gainpanel=every  >div2.h.T

model.frame: acoustic.h
	Window n3=1 <acoustic.h >model.frame

model.cube: model.frame
	! Plane2cube model.frame model.cube 50

%.O: /*model.cube*/
	Scale axis=12 <% >%.S
	Scale axis=12 <model.cube >junk
	Add %.S junk mode=sum scale=1.,0.3 >%.O
/*	RM_CMD %.S junk */

div.h:  xsnap.elp zsnap.elp
	Diverg xsnap.elp zsnap.elp div.h

compdiv.T:  zsnap.acp.O div.O
	Merge axis=2 space=y zsnap.acp.O div.O >comp
	Taplot <comp gainpanel=every >compdiv.T

div2.h: xsnap.elac zsnap.elac
	Diverg xsnap.elac zsnap.elac div2.h

c2 compdiv2.T:  zsnap.acp.O div2.O
	Merge axis=2 space=y zsnap.acp.O div2.O >comp
	Taplot <comp gainpanel=every >compdiv2.T

compdisp.T&:  zsnap.acp.O xsnap.elp.O zsnap.elp.O
	Merge axis=2 space=y zsnap.acp.O xsnap.elp.O zsnap.elp.O >comp
	Taplot <comp gainpanel=every >compdisp.T


CompDiv.v FIGDIR/CompDiv.v: /* div.h.T div2.h.T */
	Window f3=8 n3=1 <div.h.T >jel.h
	Window f3=8 n3=1 <div2.h.T >jac.h
	Ta2vplot <jel.h title="Divergence Elastic Medium" label1="[km]" label2="[km]" |Vppen out=jel.v head=/dev/null
	Ta2vplot <jac.h title="Divergence Acoustic Medium" label1="[km]" label2="[km]" |Vppen out=jac.v head=/dev/null
	vp_OverUnderIso jac.v jel.v >FIGDIR/CompDiv.v



marm.v FIGDIR/marm.v: FIGDIR/fig1.v FIGDIR/fig1a.v
	vp_Overlay FIGDIR/fig1.v FIGDIR/fig1a.v |vppen scale=2 align=lb > FIGDIR/marm.v

fig1 FIGDIR/fig1.v&:  acoustic.h /* background model */
	Window <acoustic.h n3=1 >jj
	Taplot <jj | Ta2vplot label1="Depth [km]" label2="Distance [km]" title="Velocity model" out=FIGDIR/fig1.v head=/dev/null xll=0 yll=0 xinch=5 yinch=2.5

fig2 FIGDIR/fig2.v&: acoustic.h
	Window <acoustic.h f3=1 n3=1 >jj
	Taplot <jj | Ta2vplot label1="Depth [km]" label2="Distance [km]" title="density model" out=FIGDIR/fig2.v head=/dev/null

fig1a FIGDIR/fig1a.v&:
	Window n3=1 < acoustic.h >jj
	Contour  c=2.25,5,10,15,20,30,40,60 nc=8 <jj out=FIGDIR/fig1a.v head=/dev/null label1="Depth [km]" label2=" " title=" " xll=0 yll=0 xinch=5 yinch=2.5


model.v FIGDIR/model.v:


fig3 FIGDIR/fig3.v: div.h.T /*snapshot of acoustic wavefront */
	Window f3=8 n3=1 <div.h.T >jel.h
        Ta2vplot <jel.h title="Divergence Elastic Medium" label1="[km]" label2="[km]" |Vppen scale=0.5 out=FIGDIR/fig3.v head=/dev/null



fig3cube FIGDIR/fig3cube.v: if exist div.h.T /*snapshot of acoustic wavefront */
        Cubeplot <div.h.T  flat=n frame3=80 frame2=300 title="Divergence Elastic Medium" label1="Depth [km]" label2="Distance [km]" label3="Time [sec]" out=FIGDIR/fig3cube.v head=/dev/null xll=0 yll=0 xinch=10 yinch=5

fig3cube3 FIGDIR/fig3cube.v3: if exist div.h.T /*snapshot of acoustic wavefront */
	Cubeplot <div.h.T  n1pix=500 n2pix=500 flat=n movie=3 nframe=20 dframe=5 frame2=300 title="Divergence Elastic Medium" label1="Depth [km]" label2="Distance [km]" label3="Time [sec]" out=FIGDIR/fig3cube.v3 head=/dev/null xll=0 yll=0 xinch=10 yinch=5

newcube&:
	Window n3=1 < acoustic.h >jj
	Contour  c=2.25,5,10,15,20,30,40,60 nc=8 <jj out=fig1a.v head=/dev/null label1=" " label2=" " title=" " xll=0 yll=0 xinch=5 yinch=2.5
	Splice.csh FIGDIR/fig3cube.v3 FIGDIR/fig1a.v FIGSUP/fig3cube2.v3 20
	Splice.csh FIGDIR/fig4cube.v3 FIGDIR/fig1a.v FIGSUP/fig4cube2.v3 20
	

	

fig4 FIGDIR/fig4.v: div2.h.T  /*snapshot of div of elastic wavefront  */
        Window f3=8 n3=1 <div2.h.T >jac.h
        Ta2vplot <jac.h title="Divergence Acoustic Medium" label1="[km]" label2="[km]" |Vppen scale=0.5 out=FIGDIR/fig4.v head=/dev/null

fig4cube FIGDIR/fig4cube.v: if exist div2.h.T  /*snapshot of div of elastic wavefront  */
        Cubeplot <div2.h.T flat=n frame3=80  frame2=300 title="Divergence Acoustic Medium" label1="Depth [km]" label2="Distance [km]" label3="Time [sec]"  out=FIGDIR/fig4cube.v head=/dev/null xll=0 yll=0 xinch=10 yinch=5

fig4cube3 FIGDIR/fig4cube.v3: if exist div2.h.T  /*snapshot of div of elastic wavefront*/
        Cubeplot <div2.h.T  n1pix=500 n2pix=500 flat=n movie=3 nframe=20 dframe=5 frame2=300 title="Divergence Acoustic Medium" label1="Depth [km]" label2="Distance [km]" label3="Time [sec]"  out=FIGDIR/fig4cube.v3 head=/dev/null xll=0 yll=0 xinch=10 yinch=5

cubes& FIGDIR/cubes.v: FIGDIR/fig3cube.v FIGDIR/fig4cube.v FIGDIR/fig3cube.v3 FIGDIR/fig4cube.v3
	vppen FIGDIR/fig3cube.v scale=0.5 align=lb >j.v
	vppen FIGDIR/fig4cube.v scale=0.5 align=lb >j2.v
	vp_OverUnderAniso j.v j2.v  >FIGDIR/cubes.v
$	vp_OverUnderAniso j.v j2.v  >cubes.v
$	vp_annotate < cubes.v text=cubes.ann batch=y >FIGDIR/cubes.v

fig5 FIGDIR/fig5.v:
	Transp plane=12 <zseis.acp |Reverse which=2 >junkseis
	echo "o2=0 d2=0.012">> junkseis
	Taplot <junkseis |Ta2vplot label1="Time [sec]" label2="Distance [km]" title="P source p receiver (acoust. modeling)" out=FIGDIR/fig5.v head=/dev/null

fig6 FIGDIR/fig6.v:
	Transp plane=12 <xseis.elp |Reverse which=2 >junkseis
	echo "o2=0 d2=0.012">> junkseis
	Taplot <junkseis |Ta2vplot label1="Time [sec]" label2="Distance [km]" title="P source x receiver (elast. modeling)" out=FIGDIR/fig6.v head=/dev/null

fig7 FIGDIR/fig7.v:
	Transp plane=12 <zseis.elp |Reverse which=2 >junkseis
	echo "o2=0 d2=0.012">> junkseis
	Taplot <junkseis |Ta2vplot label1="Time [sec]" label2="Distance [km]" title="P source z receiver (elast. modeling)" out=FIGDIR/fig7.v head=/dev/null

fig8 FIGDIR/fig8.v:
	Transp plane=12 <xseis.elac |Reverse which=2 >junkseis
	echo "o2=0 d2=0.012">> junkseis
	Taplot <junkseis |Ta2vplot label1="Time [sec]" label2="Distance [km]" title="P source x receiver (acoust. modeling)" out=FIGDIR/fig8.v head=/dev/null

fig9 FIGDIR/fig9.v:
	Transp plane=12 <zseis.elac |Reverse which=2 >junkseis
	echo "o2=0 d2=0.012">> junkseis
	Taplot <junkseis |Ta2vplot label1="Time [sec]" label2="Distance [km]" title="P source z receiver (acoust. modeling)" out=FIGDIR/fig9.v head=/dev/null


%diff.H:  /* %seis.elp %seis.elac */
	Add mode=sum scale=1,-1 %seis.elp %seis.elac >jdiff%.H
	Transp plane=12 <jdiff%.H | Reverse which=2 >%diff.H
	echo "o2=0 d2=0.012">> %diff.H

%diff.v: %diff.H
	Taplot <%diff.H clip=GETCLIP(%seis.elac,99) | Ta2vplot label1="Time [sec]" label2="Distance [km]" title="Acoustic-Elastic Difference" out=%diff.v head=/dev/null


FIGDIR/compx.v:  xdiff.v  FIGDIR/fig8.v
	vp_SideBySideAniso FIGDIR/fig8.v xdiff.v >FIGDIR/compx.v
	vp_Movie FIGDIR/fig8.v xdiff.v >FIGDIR/compx.v3

FIGDIR/compz.v:  zdiff.v  FIGDIR/fig9.v
	vp_SideBySideAniso FIGDIR/fig9.v zdiff.v >FIGDIR/compz.v
	vp_Movie FIGDIR/fig9.v zdiff.v >FIGDIR/compz.v3


fig10 FIGDIR/fig10.v:
	Taplot </q2/marmousi/marmshot.H in=/q2/marmousi/marmshot.H@ | Ta2vplot title="Orig. shot record" label1="Time [sec]" label2="Distance [km]" out=FIGDIR/fig10.v head=/dev/null

fig6.v3:
        Window <xsnap.elp j1=2 j2=2 >jjunk
        Taplot <jjunk gainpanel=every |Ta2vplot label1="Time [sec]" label2="Distance [km]" title="P source x receiver (elast. modeling)" |Vppen scale=0.5 out=FIGDIR/fig6.v3


fig7.v3:
        Window <zsnap.elp j1=2 j2=2 >jjunk
        Taplot <jjunk gainpanel=every |Ta2vplot  label1="Time [sec]" label2="Distance [km]" title="P source z receiver (elast. modeling)" |Vppen scale=0.5 out=FIGDIR/fig7.v3

fig8.v3:
         Window <xsnap.elac  j1=2 j2=2 >jjunk
        Taplot <jjunk gainpanel=every |Ta2vplot  label1="Time [sec]" label2="Distance [km]" title="P source x receiver (acoust. modeling)" |Vppen scale=0.5 out=FIGDIR/fig8.v3

fig9.v3:
         Window <zsnap.elac  j1=2 j2=2 >jjunk
        Taplot <jjunk gainpanel=every |Ta2vplot  label1="Time [sec]" label2="Distance [km]" title="P source z receiver (acoust. modeling)" |Vppen scale=0.5 out=FIGDIR/fig9.v3


#include <SEP.obj.rules>
#include <SEP.prog.rules>
#include <SEP.idoc.rules>
