UF90LIBS = -lgeef90 -lsep2df90 ${GEELIB}

BINDIR = .
SRCDIR = .
RESDIR = Fig

RESULTSER = velscan0 vrms0 vint0 vrms-interp0 multreal0 vrms2d vcomp2d
RESULTSCR =
#RESULTSNR = velscan0 vrms0 vint0 vrms-interp0 multreal0 vrms2d vcomp2d

GEEDAT = /net/server/homes/sep/prof/gee/Data
#BEIDAT = /net/koko/homes/sep/prof/bei/Data
BEIDAT = /net/server/book/bei/Data

.PRECIOUS: picked_reflectors*.txt

GR = Grey title=" " > /dev/null
GP = Graph title=" " transp=y yreverse=y plotfat=6 > /dev/null

#--------------------------------------------------------------------------------

picks2rick.txt: ParseRMS.x vrms0-auto.H cmp0.H
	< vrms0-auto.H ParseRMS.x j1=4 `Get < cmp0.H o1 d1` > /dev/null
	/bin/mv picks.txt $@
picked_reflectors%.H: picks2seplib.x picked_reflectors%.txt pick%.P
	picks2seplib.x fname=picked_reflectors$*.txt > $@	
	Get < pick$*.P o1 d1 >> $@
	echo 'esize=4' >> $@

cmp2d.H:
	< ${BEIDAT}/midpts.HH  Window n3=40 f3=0 j3=2 |\
	Add scale=0.0001 | Mute tmute=0.2 vmute=1.5 > $@

cmp0.H:
	Cp ./Data/cmp0.H $@ > /dev/null

velscan%.H: Veltran.x velscan%.P cmp%.H
	< cmp$*.H Veltran.x adj=1 inv=1 lint=1 par=velscan$*.P  > $@

vrms%-auto.H weight%-auto.H: Pick_rms.x velscan%.H pick%.P
	< velscan$*.H  Envelope tc1=4 tc2=2 |\
	Pick_rms.x par=pick$*.P weight=weight$*-auto.H >vrms$*-auto.H

vrms%-interp.H weight%-interp.H refl%.H: picked_reflectors%.H InterpRMS.x pick%.P mr.P
	< picked_reflectors$*.H InterpRMS.x \
		par=pick$*.P weight=w.H nframe=10 par=mr.P refl=refl$*.H > vrms$*-interp.H
	< w.H  Clip par=mr.P chop=g | Add par=mr.P > weight$*-interp.H

vint-reg%-auto.H: Vrms2int.x vrms%-auto.H weight%-auto.H vrms2int%.P
	< vrms$*-auto.H Vrms2int.x weight=weight$*-auto.H prec=0 par=vrms2int$*.P > $@

vint-prec2d-nosr.H: Vrms2int.x vrms2d-auto.H weight2d-auto.H vrms2int2d-nosr.P
	< vrms2d-auto.H Vrms2int.x weight=weight2d-auto.H prec=1 par=vrms2int2d-nosr.P > $@

vint-reg%-interp.H: Vrms2int.x vrms%-interp.H weight%-auto.H vrms2int%.P
	< vrms$*-interp.H  Window n2=1 f2=0 > v.H
	< v.H Vrms2int.x weight=weight$*-interp.H prec=0 par=vrms2int$*.P > $@
vint-reg%-interp-blocky.H: Vrms2int.x vrms%-interp.H weight%-auto.H vrms2int%.P refl%.H
	< vrms$*-interp.H  Window n2=1 f2=0 > v.H
	< v.H Vrms2int.x weight=weight$*-interp.H prec=0 par=vrms2int$*.P refl=refl$*.H > $@

${RESDIR}/vrms0.v: Plot_fairway.x vrms0-auto.H pick0.P velscan0.H weight0-auto.H cmp0.H minmax0.P
	< vrms0-auto.H    Window n2=1 f2=0 > va.H
	< weight0-auto.H  Window n3=1 f3=0 > wa.H
	< cmp0.H          Window n3=1 f3=0 > ca.H
	< velscan0.H     Window n3=1 f3=0 > sa.H
	Plot_fairway.x par=pick0.P | Real > fairway.H
	Cat axis=2 fairway.H va.H | ${GP} label1="Time(sec)" par=minmax0.P out=lines.v
	< sa.H  Envelope tc1=4 tc2=2 | ${GR} par=minmax0.P allpos=y out=vsc.v
	vp_Overlay vsc.v lines.v > left.v
	< wa.H  ${GP} title="Stack Power" out=right.v
	vp_SideBySideAniso left.v right.v > top.v
	< ca.H  ${GR} title="CMP data" out=cmp.v
	Math exp="1.0/file1" file1=va.H > vv.H	
	< ca.H  NMO velfile=vv.H | ${GR} title="CMP data + NMO" out=nmo.v
	vp_SideBySideAniso cmp.v nmo.v > bot.v
	vp_OverUnderAniso top.v bot.v > $@

${RESDIR}/vrms2d.v: ${BINDIR}/Plot_fairway.x vrms2d-auto.H pick2d.P weight2d-auto.H cmp2d.H minmax2d.P
	< vrms2d-auto.H    Window n2=1 f2=0 > va.H
	< velscan2d.H      Window n3=1 f2=0 | Envelope tc1=4 tc2=2 > sa.H
	< weight2d-auto.H  Window n3=1 f3=0 > wa.H
	< cmp2d.H          Window n3=1 f3=0 > ca.H
	Plot_fairway.x par=pick2d.P | Real > fairway.H
	< sa.H   ${GR} par=minmax2d.P allpos=y out=sem.v
	< vrms2d-auto.H  ${GR} bias=0.5 wantscalebar=y out=vel.v
	Cat axis=2 fairway.H va.H | ${GP} label1="Time(sec)" par=minmax2d.P out=lines.v
	vp_Overlay sem.v lines.v > vsc.v
	< ca.H  ${GR} title="CMP data" out=cmp.v
	Math exp="1.0/file1" file1=vrms2d-auto.H > vv.H
	< cmp2d.H  NMO velfile=vv.H | Stack | ${GR} title="Stack" out=stack.v
	vp_SideBySideAniso vsc.v vel.v > top.v
	vp_SideBySideAniso cmp.v stack.v > bot.v
	vp_OverUnderAniso top.v bot.v > $@

${RESDIR}/vrms-interp%.v: vrms%-auto.H vrms%-interp.H velscan%.H cmp%.H weight%-auto.H weight%-interp.H
	< vrms$*-interp.H  Window n2=1 f2=0 > vi.H
	Cat vrms$*-auto.H vi.H | ${GP} ${L} n2=2 label1="Time(sec)" curvelabel=Autopick:Handpick \
	                               legend=1 par=minmax$*.P dash=1,0 out=lines.v 
	< velscan$*.H  Envelope tc1=4 tc2=2 | ${GR} ${L} par=minmax$*.P allpos=y out=vsc.v
	vp_Overlay vsc.v lines.v > 1.v
	< weight$*-auto.H    ${GP} ${L} label1="Time(sec)" title="Autopick - Residual Weight" out=wta.v
	< weight$*-interp.H  ${GP} ${L} label1="Time(sec)" title="Handpick - Residual Weight" out=wti.v
	< cmp$*.H       ${GR} ${L} title="CMP data" out=cmp.v
	Math exp="1.0/file1" file1=vrms$*-auto.H > vva.H	
	< cmp$*.H  NMO velfile=vva.H | ${GR} ${L} title="NMO - Autopick" out=nmoa.v
	Math exp="1.0/file1" file1=vrms$*-interp.H > vvh.H	
	< cmp$*.H  NMO velfile=vvh.H | ${GR} ${L} title="NMO - Handpick" out=nmoh.v
	vp_SideBySideAniso 1.v wta.v wti.v > top.v
	vp_SideBySideAniso cmp.v nmoa.v nmoh.v > bot.v
	vp_OverUnderAniso top.v bot.v > $@

${RESDIR}/vcomp2d.v ${RESDIR}/vcomp2d.v3: vrms2d-auto.H vint-prec2d-nosr.H
	< vrms2d-auto.H       ${GR} bias=0.5 wantscalebar=y title="RMS Velocity" out=rms.v
	< vint-prec2d-nosr.H  ${GR} pclip=95 bias=.5 wantscalebar=y title="1-D V_int inversion" out=${RESDIR}/vcomp2d.v
	vp_Movie rms.v ${RESDIR}/vcomp2d.v > ${RESDIR}/vcomp2d.v3

${RESDIR}/velscan%.v: velscan%.H cmp%.H
	< velscan$*.H  Envelope tc1=4 tc2=2 > vscan2.H
	< cmp$*.H       ${GR} title="CMP data" out=cmp.v
	< velscan$*.H   ${GR} title="Raw VelScan" out=vsc.v
	< vscan2.H    ${GR} title="Processed VelScan" allpos=y out=env.v
	vp_SideBySideAniso cmp.v vsc.v env.v > $@

L = labelsz=20 titlesz=20 legendsz=12 dash=0,2,1 plotfat=5 legendloc=tl crowd=0.65
${RESDIR}/vint%.v: vrms%-auto.H vrms%-interp.H vint-reg%-auto.H vint-reg%-interp.H vint-reg%-interp-blocky.H \
                   pick%.P weight%-interp.H weight%-auto.H
	< vrms$*-interp.H  Window n2=1 f2=0 > vi.H
	Cat vrms$*-auto.H   vint-reg$*-auto.H > vela.H
	Cat vi.H            vint-reg$*-interp.H vint-reg$*-interp-blocky.H > veli.H;
	< vela.H        ${GP} title="Autopick" dash=1,0 par=pick$*.P n2=2 n3=1 legend=1 legendloc=tl curvelabel=Vrms:Vint out=vela.v
	< veli.H        ${GP} title="Handpick" dash=1,2,0 par=pick$*.P n2=3 n3=1 legendloc=tl legend=1 curvelabel=Vrms:Vint:Blocky out=veli.v
	< weight$*-interp.H  ${GP} title="Handpick Weight" out=wti.v
	< weight$*-auto.H    ${GP} title="Autopick Weight" out=wta.v
	vp_SideBySideAniso vela.v veli.v > top.v
	vp_SideBySideAniso wta.v wti.v > bot.v
	vp_OverUnderAniso top.v bot.v > $@

${RESDIR}/multreal%.v ${RESDIR}/multreal%.v3: vrms%-interp.H minmax%.P refl%.H
	< vrms$*-interp.H  Window n2=1  f2=0  > vi0.H
	< vrms$*-interp.H  Window n2=10 f2=1 > vi.H
	< refl$*.H  Add scale=100 | Add add=-98 | ${GP} par=minmax$*.P plotfat=1 out=pick.v
	Cat axis=2 vi0.H vi0.H vi0.H vi0.H vi0.H vi0.H vi0.H vi0.H vi0.H vi0.H > v0.H
	Cat v0.H vi.H axis=1 > vall.H
	< vall.H  ${GP} par=minmax$*.P legend=1 n2=2 n3=10 dash=1,0 `Get < vi.H n1` \
	                curvelabel=Known:Realization legendloc=tl out=${RESDIR}/multreal$*.v3
	< vall.H  Window n2=3 | ${GP} par=minmax$*.P n2=4 n3=1 dash=0,1 `Get < vi.H n1` \
	                              out=a.v
	vp_Overlay pick.v a.v > ${RESDIR}/multreal$*.v

clean: jclean
















