#define PEMDIR ../Data
#define PSARGS color=y fat=1 fatmult=1.5
#define FIGDIR ../Fig
#define FIGDIR ./Fig
#define FIGSUP ./Fig2
#define FIGLIST Pems10 Pems20
#include <SEP.defs>

/* for the whole thesis */
#define NINECOMP xx xy xz yx yy yz zx zy zz

/* get the clip value from one component and use it for all 9 other */
#define GETCLIP(A,B) `( Clip <A pclip=B >Jjunk ; Get <Jjunk clip parform=n)`

/* interactive plot panel */
#define PLOTSELECT(prefix,suffix,option)  xtpanel -var NAME prefix -var TYPE suffix  -var OPTION option  -file compare9c.panel

#define MYLIBS -lblas
#define TAPLOT Taplot pclip=90.
#define MOVIE Animator
#define NULL head=/dev/null
#define ALLCOMP  xx xy xz yx yy yz zx zy zz
$#define FIGLIST PemXxyz10 PemYxyz10 PemZxyz10 PemXxyz20 PemYxyz20 PemZxyz20 
#define GTITLESZ txscale=5 

#define DATADIR .

Pems%.action&:
	PLOTSELECT(FIGSUP/smalltrace.,.%.v," ")

all&: doit-10 doit-20 doit-30

doit-%&:  [[ sub -i X trace.X.%.v  ALLCOMP ]]

small.%.H: DATADIR/norm%.H DATADIR/reci%.H /* if not exist small.%.H */
	Window f3=24 n3=1  <DATADIR/norm%.H |Scale dscale=1.e-14 >j1.H
	Window f3=24 n3=1  <DATADIR/reci%.H |Scale dscale=1.e-14 >j2.H
	Merge axis=3 space=n j1.H j2.H >j3.H
	Window f2=75 n2=50 <j3.H >small.%.H

/* just grab a few traces */

trace.%1.%2.v&: small.%1.H
	Window f2=%2 n2=1 < small.%1.H >jtrace.H
	Notch f0=15 eps=0.3 <jtrace.H >jtrace%1.N.H
	Window f1=0 n1=100 >j1 <jtrace%1.N.H
	Window f1=100 n1=100 >j2 <jtrace%1.N.H
	Window f1=200 n1=100 >j3 <jtrace%1.N.H
	Graph <j1 out=j1.v NULL title="%1 trace pair" 
	Graph <j2 out=j2.v NULL title=" "
	Graph <j3 out=j3.v NULL title=" " label1="time [sec]"
	vp_OverUnderAniso j1.v j2.v j3.v >trace.%1.%2.v

FIGSUP/smalltrace.%1.%2.v: small.%1.H
	Window f2=%2 n2=1 < small.%1.H >jtrace.H
	Cp <jtrace.H >jtrace%1.N.H  /* Notch f0=15 eps=0.3 <jtrace.H >jtrace%1.N.H  */
	Window f1=200 n1=100 >j3 <jtrace%1.N.H
	Graph <j3 out=FIGSUP/smalltrace.%1.%2.v NULL title=" %1 trace segment" label1="time [sec]"


$FIGDIR/Pems%.v: FIGSUP/smalltrace.xx.%.v FIGSUP/smalltrace.xy.%.v FIGSUP/smalltrace.xz.%.v FIGSUP/smalltrace.yx.%.v 

FIGDIR/Pems%.v: [[ sub  -i  X   FIGSUP/smalltrace.X.%.v NINECOMP ]]
	vp_SideBySideAniso FIGSUP/smalltrace.xx.%.v FIGSUP/smalltrace.xy.%.v FIGSUP/smalltrace.xz.%.v >PemsXxyz%.v
	vp_SideBySideAniso FIGSUP/smalltrace.yx.%.v FIGSUP/smalltrace.yy.%.v FIGSUP/smalltrace.yz.%.v >PemsYxyz%.v
	vp_SideBySideAniso FIGSUP/smalltrace.zx.%.v FIGSUP/smalltrace.zy.%.v FIGSUP/smalltrace.zz.%.v >PemsZxyz%.v
	vp_OverUnderAniso PemsXxyz%.v PemsYxyz%.v PemsZxyz%.v GTITLESZ |vppen scale=0.5 | vppen align=lb >FIGDIR/Pems%.v



FIGDIR/PemXxyz%.v: trace.xx.%.v trace.xy.%.v trace.xz.%.v
	vp_SideBySideAniso trace.xx.%.v trace.xy.%.v trace.xz.%.v >FIGDIR/PemXxyz%.v

FIGDIR/PemYxyz%.v: trace.yx.%.v trace.yy.%.v trace.yz.%.v
	vp_SideBySideAniso trace.yx.%.v trace.yy.%.v trace.yz.%.v >FIGDIR/PemYxyz%.v

FIGDIR/PemZxyz%.v: trace.zx.%.v trace.zy.%.v trace.zz.%.v
	vp_SideBySideAniso trace.zx.%.v trace.zy.%.v trace.zz.%.v >FIGDIR/PemZxyz%.v


#define PEFSETTING lag=3 lpef=4
#define PEFSETTING lag=3 lpef=5
#define PEFSETTING lag=5 lpef=8
#define PEFSETTING lag=1 lpef=8
#define PEFSETTING lag=1 lpef=3
#define PEFSETTING lag=3 lpef=6

pefit&: [[ sub -i X Pef.jtraceX.N.H NINECOMP ]]

FIGDIR/PefPems%.v: [[ sub -i X pef.X.%.v NINECOMP ]]
	vp_SideBySideAniso pef.xx.%.v pef.xy.%.v pef.xz.%.v > jpef1.v
	vp_SideBySideAniso pef.yx.%.v pef.yy.%.v pef.yz.%.v > jpef2.v
	vp_SideBySideAniso pef.zx.%.v pef.zy.%.v pef.zz.%.v > jpef3.v
	vp_OverUnderAniso jpef1.v jpef2.v jpef3.v GTITLESZ |vppen scale=0.5 | vppen align=lb >FIGDIR/PefPems%.v

pef.%1.%2.v: Pef.jtrace%1.%2.H
        Window f1=200 n1=100 <Pef.jtrace%1.%2.H |Graph out=pef.%1.%2.v NULL title=" lag=3 lpef=6" label1="time [sec]"


Pef.jtrace%1.%2.H: 
	Window f2=%2 n2=1 < small.%1.H  >jtrace.H
	Pef <jtrace.H  PEFSETTING    >Pef.jtrace%1.%2.H

Peftest.%1.%2: 
	Pef <jtracezy.N.H  lag=%1 lpef=%2       >/scr/martin/Pef.jtrace.zy.N.H
	Merge jtracezy.N.H /scr/martin/Pef.jtrace.zy.N.H axis=3 space=n>jj
	Graph <jj title="%1 %2" |Tube


copyfilter&: [[ sub -i X getfilX xx xy xz yz yy zz ]]

getfil%:
	Cp <../../srceq/Equalize/filterl1%.h in=../../srceq/Equalize/_filterl1%.h@ >filt%.H
	echo o1=-0.08 d1=0.004 >> filt%.H 


norm%.eq:
	Conv <norm%.H lag=20 filtin=filt%.H  cube=2 >norm%.eq



eqlinexy&: /*normxy.h*/
	time EqualizePre6 scdfile=csdxy <normxy.h recifile=recixy.h  >normxy.eq filter1=filterl1xy.h  par=parfile.l1


eqlinexz&: normxz.h
	time EqualizePre6 scdfile=csdxz  <normxz.h recifile=recixz.h  >normxz.eq filter1=filterl1xz.h  par=parfile.l1


eqlineyz&: normyz.h
	time EqualizePre6 scdfile=csdyz  <normyz.h recifile=reciyz.h  >normyz.eq filter1=filterl1yz.h  par=parfile.l1



/* chop off a one third and sort it */

in%.H: if not exist in%.H
	Window f1=500 n1=500 <../../Data/Pem50/l1%.data.h attrfile=../../Data/Pem50/l1%.hdr.h |Scale dscale=1.e-14 >in%.H

DATADIR/norm%.H DATADIR/reci%.H reci%.H norm%.H scd%: in%.H
	time Count sxbias=55. scdfile=csd%.H recifile=DATADIR/reci%.H <in%.H  >DATADIR/norm%.H

eqline%&: norm%.h
	time EqualizePre5 <norm%.h recifile=reci%.h  >norm%.eq filter1=filterl1%.h  par=parfile.l1


filter%&:  /*  eqline%  */
	Efilter  filter1=filterl1%.h error1=err1l1%.h error2=err2l1%.h <l1%.data.s >l1%.data.eq

equalonly%&: DATA/norm%.h
	Scale dscale=1.e-7 <DATA/norm%.h >DATA/norm%.s 
	EqualizePre <DATA/norm%.s par=parfile.% >DATA/norm%.equal.s


diff%.h: DATA/norm%.h DATA/reci%.h
	Add mode=sum scale=1.,-1. DATA/norm%.h DATA/reci%.h >diff%.h


%.s: %.h
	Window f3=0 n3=10  <%.h |Scale  dscale=1.e-14 >%.s

sgplot%: sgplot%.V
	Xtpen <sgplot%.V


sgplot%.V: PEMDIR/l1%.hdr.h
	Window <PEMDIR/l1%.hdr.h >junk f1=6 n1=1
	Window <PEMDIR/l1%.hdr.h >junk2 f1=8 n1=1
	Merge axis=3 space=n junk junk2 >junk3
	Transp plane=13 <junk3 |Reedfloat >junk4
	echo "esize=8 n1=1" >>junk4
	Window n1=1 <junk4 | Graph  max2=33000 min2=4000 max1=22000 min1=16000 symbol="*" >sgplotxx.V title='S-G-Plot L1 %  Pembrook' label1="shot inline" label2="geophone inline"



jcomp%: DATA/norm%.h DATA/reci%.h diff%.h
	Window j1=4 j3=10 <DATA/norm%.h |Scale dscale=1.e-7  >j1
 	Window j1=4 j3=10 <DATA/reci%.h |Scale dscale=1.e-7 >j2
 	Window j1=4 j3=10 <diff%.h |Scale dscale=1.e-7  >j3
	Merge axis=1 space=y j1 j2 j3 >jcomp% datapath=DECSCRATCH/


show%&: jcomp%
	Reedfloat <jcomp% >jj
	TAPLOT  <jj >j4.m
	MOVIE <j4.m




plot-filter%.V:
	Thplot alpha=0 <filterl1%.h title="% Eq-filter" >plot-filter%.V

plot2-filter%.V:
	Thplot alpha=30 <filterl1%.h title="% Eq-filter" >plot2-filter%.V


%.ps: %.V
	Pspen <%.V out=%.ps head=/dev/null

clean&:
	-RM_CMD *.x *.o  a.out core *.H csd* j* *.v

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