#define OSELOG ../../Data/OseLog
#define BINDIR ../Bin
#define FIGDIR ../Fig
#define FIGLIST  velpip velrmsp velrmspnmo
#include <SEP.defs>
#define GRAPHMAX min2=1400 max2=5200
#define GRAPHMAXSMO min2=1400 max2=3400

default&:

single&: FIGDIR/vel150p.v

input.h: reglog.h if not exist input.h
	makeinput.sh 

smoothgenlog.pi.h: input.h BINDIR/Partint if not exist smoothgenlog.pi.h
	welltogroup.x <input.h >grouplog.h
	BINDIR/Partint <grouplog.h normal=0 >jgroup2
	Merge grouplog.h jgroup2  axis=3 space=n >junklog
	grouptogenlog.x <junklog >smoothgenlog.pi.h

smoothdirect.pi.h:  input.h BINDIR/Partint BINDIR/Inv if not exist smoothdirect.pi.h
	BINDIR/Inv <input.h >jinputinv
	BINDIR/Partint <jinputinv normal=1 >jdirectinv
	BINDIR/Inv <jdirectinv >jdirect
	Merge input.h jdirect axis=3 space=n >smoothdirect.pi.h

velrmsp.direct.h: BINDIR/Vint2rms1
	BINDIR/Vint2rms1 slow=0 <velp.h >velrmsp.direct.h

velzp.direct.h:
	Window n2=1 n3=1 f3=1 <smoothdirect.pi.h >velzp.direct.h
	
smoothgenlog.%.h: input.h  if not exist smoothgenlog.%.h
	smooth.sh %
	
velxp.%.h velzp.%.h: smoothgenlog.%.h 
	pullout.sh %

velxpnmo.%.h velzpnmo.%.h: smoothgenlog.%.h 
	pulloutnmo.sh %

	


/* here are the figures   */

FIGDIR/velp.v: velp.h
	Graph <velp.h GRAPHMAX title="P velocity log"  label1="depth [m]" label2="velocity [m/s]" out=FIGDIR/velp.v >/dev/null

FIGDIR/rho.v: rho.h
	Graph <rho.h title="density log"  label1="depth [m]" label2="[kg/m^3]" out=FIGDIR/rho.v >/dev/null

FIGDIR/velprho.v: FIGDIR/velp.v FIGDIR/rho.v
	vp_OverUnderIso FIGDIR/velp.v FIGDIR/rho.v >FIGDIR/velprho.v



/* compare velrmsp.direct velxp.pi velzp.pi  in that order */

FIGDIR/velrmsp.v: velxp.pi.h velzp.pi.h velrmsp.direct.h
	Window f2=1 n2=1 <velxp.pi.h >junk
	Window f2=1 n2=1 <velzp.pi.h >junk2
	Merge velrmsp.direct.h junk junk2 axis=2 space=n |Graph GRAPHMAXSMO title="P part. integr. vs. rms"    label1="depth [m]" label2="velocity [m/s]" dash=0,1,2 out=FIGDIR/velrmsp.v >/dev/null

/* compare velrmsp.direct velxpnmo.pi velzpnmo.pi in that order */

FIGDIR/velrmspnmo.v: velxpnmo.pi.h velzpnmo.pi.h velrmsp.direct.h
	Window f2=1 n2=1 <velxpnmo.pi.h >junk
	Window f2=1 n2=1 <velzpnmo.pi.h >junk2
	Merge velrmsp.direct.h junk junk2 axis=2 space=n |Graph GRAPHMAXSMO title="P part. integr. nmo vs. rms"    label1="depth [m]" label2="velocity [m/s]" dash=0,1,2 out=FIGDIR/velrmspnmo.v >/dev/null

/* compare velxp.pi velzp.pi    in that order */

FIGDIR/velpip.v: velxp.pi.h velzp.pi.h
	Window f2=1 n2=1 <velxp.pi.h >junk
	Window f2=1 n2=1 <velzp.pi.h >junk2
	Merge junk junk2 axis=2 space=n |Graph GRAPHMAXSMO title="P partially integrated velocities"    label1="depth [m]" label2="velocity [m/s]" out=FIGDIR/velpip.v >/dev/null

/* compare horizontal and vertical velocities: velxp.1500 velzp.1500 */ 

FIGDIR/vel1500p.v: velxp.1500.h velzp.1500.h
	Window f2=1 n2=1 <velxp.1500.h >junk
	Window f2=1 n2=1 <velzp.1500.h >junk2
	Merge junk junk2 axis=2 space=n |Graph GRAPHMAX title="P interval velocities (300m S&M)"    label1="depth [m]" label2="velocity [m/s]" out=FIGDIR/vel1500p.v >/dev/null

/* compare horizontal and vertical velocities: velxp.500 velzp.500 */

FIGDIR/vel500p.v: velzp.500.h velzp.500.h
	Window f2=1 n2=1 <velxp.500.h >junk
	Window f2=1 n2=1 <velzp.500.h >junk2
	Merge junk junk2 axis=2 space=n |Graph GRAPHMAX title="P interval velocities (100m S&M)"    label1="depth [m]" label2="velocity [m/s]" out=FIGDIR/vel500p.v >/dev/null

/* compare horizontal and vertical velocities: velxp.150 velzp.150 */

FIGDIR/vel150p.v: velxp.150.h velzp.150.h
	Window f2=1 n2=1 <velxp.150.h >junk
	Window f2=1 n2=1 <velzp.150.h >junk2
	Merge junk junk2 axis=2 space=n |Graph GRAPHMAX title="P interval velocities (30m S&M)"    label1="depth [m]" label2="velocity [m/s]" out=FIGDIR/vel150p.v >/dev/null





reglog.h: BINDIR/Interpwell BINDIR/Triconv BINDIR/Boxconv 
	( cd ../Src ; cake progs )
	Interpwell nzo=30000 zo1=129 dzo=0.1 <OSELOG/gam_rho_dt.HH >reglog.h




/* programs */

programs: BINDIR/Interpwell BINDIR/Triconv BINDIR/Boxconv

BINDIR/Interpwell&: Interpwell.o  
	FC LDOPTS Interpwell.o SEPLIB SYSLIB -o BINDIR/Interpwell

BINDIR/Triconv&: Triconv.o  triconv.o
	FC LDOPTS Triconv.o  triconv.o SEPLIB SYSLIB -o BINDIR/Triconv

BINDIR/Boxconv&: Boxconv.o  boxconv.o
	FC LDOPTS Boxconv.o  boxconv.o SEPLIB SYSLIB -o BINDIR/Boxconv

BINDIR/Partint&: if not {{ cd ../Src ; cake -q ../Bin/Partint }}
	( cd ../Src ; cake ../Bin/Partint )

BINDIR/Inv&: if not {{ cd ../Src ; cake -q ../Bin/Inv }}
	( cd ../Src ; cake ../Bin/Inv )

BINDIR/Vint2rms1&: if not {{ cd ../Src ; cake -q ../Bin/Vint2rms1 }}
	( cd ../Src ; cake ../Bin/Vint2rms1 )

clean&:
	-RM_CMD   *.x j*  *.o *.f *.
	\rm -f  BINDIR/{Interpwell,Triconv,Boxconv}

veryclean&:
	RM_CMD *.h  rho vel* *log  

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