# History file 'sal-test.h' to perform tests in the inverted SEG/EAGE
# 3-D salt model.
# Some of the tests are suitable only for the smooth model, other tests
# are for models with interfaces.
# ======================================================================
#
# Input files required
 #chk.pl: "forms/"    "inv.cal"
 #chk.pl: "forms/"    "sub.cal"
 #chk.pl: "forms/"    "div.cal"
 #chk.pl: "forms/"    "eq.cal"
 #chk.pl: "forms/"    "mul.cal"
 #chk.pl: "forms/"    "append.pl"
 #chk.pl: "data/sal/" "sal-icb.cal"
 #chk.pl: "data/sal/" "sal-le.dat"
 #chk.pl: "data/sal/" "sal-srp.dat"
 #chk.pl: "data/sal/" "sal-rays.h"
 #chk.pl: "data/sal/" "sal-dcr.dat"
 #chk.pl: "crt/"      "codep.dat"
 #chk.pl: "crt/"      "writall.dat"
 #chk.pl: "data/sal/" "sal-rp2.dat"
# Output of 'sal-ts.h'
 #chk.pl: ""          "top.pts"
 #chk.pl: ""          "hrz_1.pts"
 #chk.pl: ""          "gp2.pts"
 #chk.pl: ""          "bottom.pts"
 #chk.pl: ""          "fault_a.pts"
# Output of 'sal-salt.h'
 #chk.pl: ""          "salt-to1.pts"
 #chk.pl: ""          "salt-to2.pts"
 #chk.pl: ""          "salt-bo1.pts"
# Output of 'sal-vel.h'
 #chk.pl: ""          "s-vc100.out"
 #chk.pl: ""          "s-sc100.out"
 #chk.pl: ""          "s-vc060.out"
 #chk.pl: ""          "s-vc040.out"
 #chk.pl: ""          "s-vc041.out"
 #chk.pl: ""          "s-vc042.out"
 #chk.pl: ""          "s-vc043.out"
 #chk.pl: ""          "s-vc044.out"
 #chk.pl: ""          "s-vc045.out"
 #chk.pl: ""          "s-vc046.out"
 #chk.pl: ""          "s-vc047.out"
# Output of 'sal-inv1.h' or 'sal-inv2.h'
 #chk.pl: ""          "sal-m1.out"
 #chk.pl: ""          "sal-m2.out"

# New updated model and its consistency check
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  copy.pl: "sal-m1.out" "sal-m.out"
 #copy.pl: "sal-m2.out" "sal-m.out"
  MODEL='sal-m.out'

  N1=80  N2=80  N3=40  LFREE=1  MODLOG='modchk.out'
 #modchk:

# General plotting parameters
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  NH=5  HSIZE=13.6


# Plotting gridded P wave slowness and velocity
# in the cubes for plotting and testing
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  N1=136  N2=136  N3=42
  VCIRC=0.0006667 VREF=0.0006667 CREF=0.666667 VMIN=0.0002273 VMAX=
  GRD='s-sc100.out' PS='s-sc100.ps'                  grdps:
  VCIRC=-1500     VREF=1500      CREF=0.666667 VMIN=          VMAX=4400
  GRD='s-vc100.out' PS='s-vc100.ps'                  grdps:


# Calculating standard and relative deviations of the velocity
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

# Deviations on the grid 100x100x100
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Complete deviations
# ~~~~~~~~~~~~~~~~~~~
  N1=136  N2=136  N3=42
  D1=100  D2=100  D3=100
  O1=0    O2=0    O3=0
  VEL='sal-vel.out'  ICB='sal-icb.tmp' MPAR=1  NEGPAR=1
  grid:
                     ICB=
  VCIRC=-6        VREF=1         CREF=0.666667 VMIN=0.5       VMAX=
  GRD='sal-icb.tmp'  PS='sal-icb.ps'                         grdps:
  CAL='inv.cal'  GRD1='sal-vel.out' GRD2='sal-slo.out'
 #grdcal:
  VCIRC=0.0006667 VREF=0.0006667 CREF=0.666667 VMIN=0.0002273 VMAX=
  GRD='sal-slo.out' PS='sal-slo.ps'                          grdps:
  VCIRC=-1500     VREF=1500      CREF=0.666667 VMIN=          VMAX=4400
  GRD='sal-vel.out' PS='sal-vel.ps'                          grdps:
  CAL='sub.cal' GRD1='sal-vel.out' GRD2='s-vc100.out' GRD3='sal-vd.out'
 #grdcal:
  CAL='div.cal' GRD1='sal-vd.out' GRD2='s-vc100.out' GRD3='sal-vr.out'
 #grdcal:
  N1NEW=1  N2NEW=1  N3NEW=1 GNORM=2
  GRD='sal-vd.out' GRDNEW='sal-vd2.out'                     #grdnorm:
  GRD='sal-vr.out' GRDNEW='sal-vr2.out'                     #grdnorm:
  VCIRC=-600  VREF=0  CREF=0.166667  VMIN=-300  VMAX=300
  GRD='sal-vd.out' PS='sal-vd.ps'                            grdps:
  VCIRC=-0.30 VREF=0  CREF=0.166667  VMIN=-.25  VMAX=0.25
  GRD='sal-vr.out' PS='sal-vr.ps'                            grdps:
  CAL='sub.cal' GRD1='sal-slo.out' GRD2='s-sc100.out' GRD3='sal-sd.out'
  grdcal:
  CAL='div.cal' GRD1='sal-sd.out' GRD2='s-sc100.out' GRD3='sal-sr.out'
  grdcal:
  N1NEW=1  N2NEW=1  N3NEW=1 GNORM=2
  GRD='sal-sd.out' GRDNEW='sal-sd2.out'                     #grdnorm:
  GRD='sal-sr.out' GRDNEW='sal-sr2.out'                     #grdnorm:
  VCIRC=-0.001667 VREF=0  CREF=0.166667  VMIN=-0.00333  VMAX=0.00333
  GRD='sal-sd.out' PS='sal-sd.ps'                            grdps:
  VCIRC=-0.30     VREF=0  CREF=0.166667  VMIN=-.15      VMAX=0.15
  GRD='sal-sr.out' PS='sal-sr.ps'                            grdps:

# Deviations without points in different blocks - only for 'sal-m2.out'
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Indices of complex blocks relevant to the gridded velocities
  ISRF=3  VEL='sal-s3.tmp' #grid:
  ISRF=4  VEL='sal-s4.tmp' #grid:
  ISRF=
  CAL='sal-icb.cal'
  GRD1='s-vc100.out' GRD2='sal-s3.tmp' GRD3='sal-s4.tmp'
  GRD4='s-icb100.out'
  SALTV1=1000  SALTV2=1501  SALTV5=4449  SALTD3=152.4  SALTD4=1
 #grdcal:
# Deviations without points in different blocks
  CAL='eq.cal' GRD1='s-icb100.out' GRD2='sal-icb.tmp' GRD3='s-icbeq.out'
 #grdcal:
  CAL='mul.cal'
  GRD1='sal-vd.out' GRD2='s-icbeq.out' GRD3='sal-vdb.out'   #grdcal:
  GRD1='sal-vr.out' GRD2='s-icbeq.out' GRD3='sal-vrb.out'   #grdcal:
  N1NEW=1  N2NEW=1  N3NEW=1 GNORM=2
  GRD='sal-vdb.out' GRDNEW='sal-vd2b.out'                   #grdnorm:
  GRD='sal-vrb.out' GRDNEW='sal-vr2b.out'                   #grdnorm:
  VCIRC=-600  VREF=0  CREF=0.166667  VMIN=-300  VMAX=300
  GRD='sal-vdb.out' PS='sal-vdb.ps'                         #grdps:
  VCIRC=-0.30 VREF=0  CREF=0.166667  VMIN=-.15  VMAX=0.15
  GRD='sal-vrb.out' PS='sal-vrb.ps'                         #grdps:


# Complete deviations on the grid 60x60x20
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  echo.pl: "A=@1-@2" ">  cal.tmp"
  echo.pl: "@4=A"    ">> cal.tmp"
  echo.pl: "@3=A/@2" ">> cal.tmp"
  echo.pl: "A=A/@1"  ">> cal.tmp"
  echo.pl: "@5=A"    ">> cal.tmp"
  echo.pl: "@6=A/@2" ">> cal.tmp"
  D1=60   D2=60   D3=20
  O1=0    O2=0    O3=0
  N1=226  N2=226  N3=210
  VEL='sal-vel.out'  ICB=    MPAR=1  NEGPAR=1
  grid:
  N1=1787660  N2=1    N3=1   N4=6
  CAL='cal.tmp' GRD1='sal-vel.out' GRD2='s-vc060.out'
  GRD3='s-velrdi.out' GRD4='s-veladi.out' GRD5='s-slordi.out' GRD6='s-sloadi.out'
  grdcal:
  N1=1787660  N2=1    N3=6   N4=1
  N1NEW=1  N2NEW=1  N3NEW=1 GNORM=2
  GRD='s-velrdi.out' GRDNEW='sal-vr2.out'      grdnorm:
  GRD='s-veladi.out' GRDNEW='sal-vd2.out'      grdnorm:
  GRD='s-slordi.out' GRDNEW='sal-sr2.out'      grdnorm:
  GRD='s-sloadi.out' GRDNEW='sal-sd2.out'      grdnorm:


# Complete deviations on the grid 20x20x20
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 #echo.pl: "A=@1-@2" ">  cal.tmp"
 #echo.pl: "@3=A/@2" ">> cal.tmp"
  D1=40   D2=40   D3=40

  O1=0    O2=0    O3=0
  N1=338  N2=338  N3=105
  VEL='sal-vel.out'  ICB=    MPAR=1  NEGPAR=1
 #grid:
  N1=3998540  N2=1    N3=1   N4=3
  CAL='cal.tmp' GRD1='sal-vel.out' GRD2='s-vc040.out' GRD3='s-velout.out'
 #grdcal:
  N1=3998540  N2=1    N3=3   N4=1
  N1NEW=1  N2NEW=1  N3NEW=1 GNORM=2
  GRD='s-velout.out'               GRDNEW='sal-vr20.out'     #grdnorm:

  O1=20   O2=0    O3=0
  N1=338  N2=338  N3=105
  VEL='sal-vel.out'  ICB=    MPAR=1  NEGPAR=1
 #grid:
  N1=3998540  N2=1    N3=1   N4=3
  CAL='cal.tmp' GRD1='sal-vel.out' GRD2='s-vc041.out' GRD3='s-velout.out'
 #grdcal:
  N1=3998540  N2=1    N3=3   N4=1
  N1NEW=1  N2NEW=1  N3NEW=1 GNORM=2
  GRD='s-velout.out'               GRDNEW='sal-vr21.out'     #grdnorm:

  O1=0    O2=20   O3=0
  N1=338  N2=338  N3=105
  VEL='sal-vel.out'  ICB=    MPAR=1  NEGPAR=1
 #grid:
  N1=3998540  N2=1    N3=1   N4=3
  CAL='cal.tmp' GRD1='sal-vel.out' GRD2='s-vc042.out' GRD3='s-velout.out'
 #grdcal:
  N1=3998540  N2=1    N3=3   N4=1
  N1NEW=1  N2NEW=1  N3NEW=1 GNORM=2
  GRD='s-velout.out'               GRDNEW='sal-vr22.out'     #grdnorm:

  O1=20   O2=20   O3=0
  N1=338  N2=338  N3=105
  VEL='sal-vel.out'  ICB=    MPAR=1  NEGPAR=1
 #grid:
  N1=3998540  N2=1    N3=1   N4=3
  CAL='cal.tmp' GRD1='sal-vel.out' GRD2='s-vc043.out' GRD3='s-velout.out'
 #grdcal:
  N1=3998540  N2=1    N3=3   N4=1
  N1NEW=1  N2NEW=1  N3NEW=1 GNORM=2
  GRD='s-velout.out'               GRDNEW='sal-vr23.out'     #grdnorm:

  O1=0    O2=0    O3=20
  N1=338  N2=338  N3=105
  VEL='sal-vel.out'  ICB=    MPAR=1  NEGPAR=1
 #grid:
  N1=3998540  N2=1    N3=1   N4=3
  CAL='cal.tmp' GRD1='sal-vel.out' GRD2='s-vc044.out' GRD3='s-velout.out'
 #grdcal:
  N1=3998540  N2=1    N3=3   N4=1
  N1NEW=1  N2NEW=1  N3NEW=1 GNORM=2
  GRD='s-velout.out'               GRDNEW='sal-vr24.out'     #grdnorm:

  O1=20   O2=0    O3=20
  N1=338  N2=338  N3=105
  VEL='sal-vel.out'  ICB=    MPAR=1  NEGPAR=1
 #grid:
  N1=3998540  N2=1    N3=1   N4=3
  CAL='cal.tmp' GRD1='sal-vel.out' GRD2='s-vc045.out' GRD3='s-velout.out'
 #grdcal:
  N1=3998540  N2=1    N3=3   N4=1
  N1NEW=1  N2NEW=1  N3NEW=1 GNORM=2
  GRD='s-velout.out'               GRDNEW='sal-vr25.out'     #grdnorm:

  O1=0    O2=20   O3=20
  N1=338  N2=338  N3=105
  VEL='sal-vel.out'  ICB=    MPAR=1  NEGPAR=1
 #grid:
  N1=3998540  N2=1    N3=1   N4=3
  CAL='cal.tmp' GRD1='sal-vel.out' GRD2='s-vc046.out' GRD3='s-velout.out'
 #grdcal:
  N1=3998540  N2=1    N3=3   N4=1
  N1NEW=1  N2NEW=1  N3NEW=1 GNORM=2
  GRD='s-velout.out'               GRDNEW='sal-vr26.out'     #grdnorm:

  O1=20   O2=20   O3=20
  N1=338  N2=338  N3=105
  VEL='sal-vel.out'  ICB=    MPAR=1  NEGPAR=1
 #grid:
  N1=3998540  N2=1    N3=1   N4=3
  CAL='cal.tmp' GRD1='sal-vel.out' GRD2='s-vc047.out' GRD3='s-velout.out'
 #grdcal:
  N1=3998540  N2=1    N3=3   N4=1
  N1NEW=1  N2NEW=1  N3NEW=1 GNORM=2
  GRD='s-velout.out'               GRDNEW='sal-vr27.out'     #grdnorm:

 #echo.pl: "A=@1**2"    ">  cal.tmp"
 #echo.pl: "B=@2**2"    ">> cal.tmp"
 #echo.pl: "C=@3**2"    ">> cal.tmp"
 #echo.pl: "D=@4**2"    ">> cal.tmp"
 #echo.pl: "E=@5**2"    ">> cal.tmp"
 #echo.pl: "F=@6**2"    ">> cal.tmp"
 #echo.pl: "G=@7**2"    ">> cal.tmp"
 #echo.pl: "H=@8**2"    ">> cal.tmp"
 #echo.pl: "A=A+B"      ">> cal.tmp"
 #echo.pl: "B=C+D"      ">> cal.tmp"
 #echo.pl: "C=E+F"      ">> cal.tmp"
 #echo.pl: "D=G+H"      ">> cal.tmp"
 #echo.pl: "A=A+B"      ">> cal.tmp"
 #echo.pl: "B=C+D"      ">> cal.tmp"
 #echo.pl: "A=A+B"      ">> cal.tmp"
 #echo.pl: "A=A/8"      ">> cal.tmp"
 #echo.pl: "@9=SQRT(A)" ">> cal.tmp"
  N1=1    N2=1    N3=1
  CAL='cal.tmp'
  GRD1='sal-vr20.out' GRD2='sal-vr21.out' GRD3='sal-vr22.out' GRD4='sal-vr23.out'
  GRD5='sal-vr24.out' GRD6='sal-vr25.out' GRD7='sal-vr26.out' GRD8='sal-vr27.out'
  GRD9='sal-vr2.out'
 #grdcal:


# Calculating deviations of surfaces - only for 'sal-m2.out'
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  INTF='top.pts'      INTFOUT='top.out'      KSRFC=1 KOLUMN=4 #intf:
  INTF='hrz_1.pts'    INTFOUT='hrz_1.out'    KSRFC=2 KOLUMN=4 #intf:
  INTF='gp2.pts'      INTFOUT='gp2.out'      KSRFC=3 KOLUMN=4 #intf:
  INTF='bottom.pts'   INTFOUT='bottom.out'   KSRFC=4 KOLUMN=4 #intf:
# In case of 'sal-m2.out'
  INTF='salt-to1.pts' INTFOUT='salt-to1.out' KSRFC=5 KOLUMN=9 #intf:
  INTF='salt-to2.pts' INTFOUT='salt-to2.out' KSRFC=5 KOLUMN=9 #intf:
  INTF='salt-bo1.pts' INTFOUT='salt-bo1.out' KSRFC=6 KOLUMN=9 #intf:
# In case of 'sal-m3.out'
  INTF='salt-to1.pts' INTFOUT='salt-to1.out' KSRFC=5 KOLUMN=9 #intf:
  INTF='salt-to2.pts' INTFOUT='salt-to2.out' KSRFC=8 KOLUMN=9 #intf:
  INTF='salt-bo1.pts' INTFOUT='salt-bo1.out' KSRFC=6 KOLUMN=9 #intf:
  INTF='fault_a.pts'  INTFOUT='fault_a.out'  KSRFC=7 KOLUMN=4 #intf:

# Estimation of the Lyapunov exponent for the model
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  KOOR1=1  KOOR2=3  NY=10  LEMAX=1.
  MODLED='sal-led.out'  MODLEM='sal-lem.out'  MODLEF='sal-lef.out'
  modle2d:
  PICDAT='sal-le.dat'  PICTURE='sal-le.ps'
  pictures:

# Tests of ray tracing
# "2-D" ray tracing with plotting of the traced rays
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  N1=577  N2=1  N3=169
  D1=25   D2=0  D3=25
  O1=-200 O2=0  O3=0
  VEL='s-velpic.out'  ICB= MPAR=1  NEGPAR=
  VCIRC=-4500 VREF=1500  CREF=0.666667  VMIN=  VMAX=
  YSIGN=-1 HSIZE=14.4 VOFFSET=2.3 HOFFSET=1.3 SHOWPAGE=0 NH=
  GRD='s-velpic.out' PS='s-velpic.ps'
  SRP='sal-srp.dat'

  CPAR1=0.  CPAR2=-.25 O2=5250
  srp:
  go.pl: "sal-rays.h"
  grid:
  grdps:
  copy.pl: "s-velpic.ps" "sal-ray1.ps"
  append.pl:             "sal-ray1.ps" "sal-ray.ps"

  CPAR1=0.  CPAR2=0.  O2=7000
  srp:
  go.pl: "sal-rays.h"
  grid:
  grdps:
  copy.pl: "s-velpic.ps" "sal-ray2.ps"
  append.pl:             "sal-ray2.ps" "sal-ray.ps"

  CPAR1=0.  CPAR2=0.25 O2=8750
  srp:
  go.pl: "sal-rays.h"
  grid:
  grdps:
  copy.pl: "s-velpic.ps" "sal-ray3.ps"
  append.pl:             "sal-ray3.ps" "sal-ray.ps"

# Important output files
# ~~~~~~~~~~~~~~~~~~~~~~
# 'modchk.out' ... Report on model consistency check.
#
# Velocity and slowness sections on the grid 100x100x100 m
# 's-vc100.ps' ...  Plot of the gridded original velocity.
# 's-sc100.ps' ...  Plot of the gridded original slowness.
# 'sal-vel.ps' ...  Plot of the gridded velocity in the updated model.
# 'sal-slo.ps' ...  Plot of the gridded slowness in the updated model.
#
# Velocity and slowness deviations including all points
# 'sal-vd.ps'    ...  Plot of the gridded velocity deviation.
# 'sal-vr.ps'    ...  Plot of the gridded relative velocity deviation.
# 'sal-vd2.out'  ...  Standard velocity deviation over the grid.
# 'sal-vr2.out'  ...  Standard relative velocity deviation over the grid.
# 'sal-sd.ps'    ...  Plot of the gridded slowness deviation.
# 'sal-sd.ps'    ...  Plot of the gridded relative slowness deviation.
# 'sal-sd2.out'  ...  Standard slowness deviation over the grid.
# 'sal-sd2.out'  ...  Standard relative slowness deviation over the grid.
#
# Velocity deviations without points in different complex blocks
# only for 'sal-m2.out'
# 'sal-vdb.ps'   ...  Plot of the gridded velocity deviation.
# 'sal-vrb.ps'   ...  Plot of the gridded relative velocity deviation.
# 'sal-vd2b.out' ...  Standard velocity deviation over the grid.
# 'sal-vr2b.out' ...  Standard relative velocity deviation over the grid.
#
# Deviations of interfaces at the last column and at the end of files
# only for 'sal-m2.out'
# 'top.out'    ... deviations of top interface from points in 'top.pts'
# 'bottom.out'
# 'hrz_1.out'
# 'gp2.out'
# 'salt-to1.out'
# 'salt-to2.out'
# 'salt-bo1.out'
#
# Lyapunov exponent for the model
# 'sal-le.ps'    ...  Plot of directional and average Lyapunov exponents.
#
# Tests of ray tracing
# 'sal-ray1.ps', 'sal-ray2.ps', 'sal-ray3.ps' ... Plots of the rays shot
#             in the x1-x3 plane.
