text:
! interface module generated by iface_simple.csh -- Wed Apr 25 15:21:11 EDT 2007
!
!   cwd = /u/dmccune/transp/codesys/source/pspline
!
!   input file arguments:
!
!   1.  akherm1.for
!   2.  akherm2.for
!   3.  akherm3.for
!   4.  bcspeval.for
!   5.  bcspgrid.for
!   6.  bcspline.for
!   7.  bcspvec.for
!   8.  bpsplinb.for
!   9.  bpspline.for
!   10.  cspeval.for
!   11.  cspline.for
!   12.  cubsplb.for
!   13.  dnherm1.for
!   14.  dnherm2.for
!   15.  dnherm3.for
!   16.  evbicub.for
!   17.  evintrp2d.for
!   18.  evintrp3d.for
!   19.  evspline.for
!   20.  evtricub.for
!   21.  f2test.for
!   22.  f3test.for
!   23.  genxpkg.for
!   24.  gridbicub.for
!   25.  gridherm1.for
!   26.  gridherm2.for
!   27.  gridherm3.for
!   28.  gridintrp2d.for
!   29.  gridintrp3d.for
!   30.  gridpc1.for
!   31.  gridpc2.for
!   32.  gridpc3.for
!   33.  gridspline.for
!   34.  gridtricub.for
!   35.  herm1ev.for
!   36.  herm2ev.for
!   37.  herm3ev.for
!   38.  ibc_ck.for
!   39.  mkbicub.for
!   40.  mkbicubw.for
!   41.  mkherm1.for
!   42.  mkherm2.for
!   43.  mkherm3.for
!   44.  mkintrp2d.for
!   45.  mkintrp3d.for
!   46.  mkspl2pb.for
!   47.  mkspl2p.for
!   48.  mkspl2zb.for
!   49.  mkspl2z.for
!   50.  mkspl3pb.for
!   51.  mkspl3zb.for
!   52.  mkspline.for
!   53.  mktricub.for
!   54.  mktricubw.for
!   55.  nspline.for
!   56.  pc1ev.for
!   57.  pc2ev.for
!   58.  pc3ev.for
!   59.  pspline.for
!   60.  r8akherm1.for
!   61.  r8akherm2.for
!   62.  r8akherm3.for
!   63.  r8bcspeval.for
!   64.  r8bcspgrid.for
!   65.  r8bcspline.for
!   66.  r8bcspvec.for
!   67.  r8bpsplinb.for
!   68.  r8bpspline.for
!   69.  r8cspeval.for
!   70.  r8cspline.for
!   71.  r8cubsplb.for
!   72.  r8dnherm1.for
!   73.  r8dnherm2.for
!   74.  r8dnherm3.for
!   75.  r8evbicub.for
!   76.  r8evintrp2d.for
!   77.  r8evintrp3d.for
!   78.  r8evspline.for
!   79.  r8evtricub.for
!   80.  r8f2test.for
!   81.  r8f3test.for
!   82.  r8genxpkg.for
!   83.  r8gridbicub.for
!   84.  r8gridherm1.for
!   85.  r8gridherm2.for
!   86.  r8gridherm3.for
!   87.  r8gridintrp2d.for
!   88.  r8gridintrp3d.for
!   89.  r8gridpc1.for
!   90.  r8gridpc2.for
!   91.  r8gridpc3.for
!   92.  r8gridspline.for
!   93.  r8gridtricub.for
!   94.  r8herm1ev.for
!   95.  r8herm2ev.for
!   96.  r8herm3ev.for
!   97.  r8mkbicub.for
!   98.  r8mkbicubw.for
!   99.  r8mkherm1.for
!   100.  r8mkherm2.for
!   101.  r8mkherm3.for
!   102.  r8mkintrp2d.for
!   103.  r8mkintrp3d.for
!   104.  r8mkspl2pb.for
!   105.  r8mkspl2p.for
!   106.  r8mkspl2zb.for
!   107.  r8mkspl2z.for
!   108.  r8mkspl3pb.for
!   109.  r8mkspl3zb.for
!   110.  r8mkspline.for
!   111.  r8mktricub.for
!   112.  r8mktricubw.for
!   113.  r8nspline.for
!   114.  r8pc1ev.for
!   115.  r8pc2ev.for
!   116.  r8pc3ev.for
!   117.  r8pspline.for
!   118.  r8seval2.for
!   119.  r8seval3.for
!   120.  r8seval.for
!   121.  r8speval.for
!   122.  r8spgrid.for
!   123.  r8splaan.for
!   124.  r8splbrk.for
!   125.  r8spleen.for
!   126.  r8splinck.for
!   127.  r8spline.for
!   128.  r8spvec.for
!   129.  r8tcspeval.for
!   130.  r8tcspgrid.for
!   131.  r8tcspline.for
!   132.  r8tcspvec.for
!   133.  r8tpsplinb.for
!   134.  r8tpspline.for
!   135.  r8util_bcherm1.for
!   136.  r8util_bcherm2.for
!   137.  r8util_bcherm3.for
!   138.  r8vecbicub.for
!   139.  r8vecherm1.for
!   140.  r8vecherm2.for
!   141.  r8vecherm3.for
!   142.  r8vecintrp2d.for
!   143.  r8vecintrp3d.for
!   144.  r8vecpc1.for
!   145.  r8vecpc2.for
!   146.  r8vecpc3.for
!   147.  r8vecspline.for
!   148.  r8vectricub.for
!   149.  r8v_spline.for
!   150.  r8xlookup.for
!   151.  r8zonfind.for
!   152.  seval2.for
!   153.  seval3.for
!   154.  seval.for
!   155.  speval.for
!   156.  spgrid.for
!   157.  splaan.for
!   158.  splbrk.for
!   159.  spleen.for
!   160.  splinck.for
!   161.  spline.for
!   162.  spvec.for
!   163.  tcspeval.for
!   164.  tcspgrid.for
!   165.  tcspline.for
!   166.  tcspvec.for
!   167.  tpsplinb.for
!   168.  tpspline.for
!   169.  util_bcherm1.for
!   170.  util_bcherm2.for
!   171.  util_bcherm3.for
!   172.  vecbicub.for
!   173.  vecherm1.for
!   174.  vecherm2.for
!   175.  vecherm3.for
!   176.  vecin2d_argchk.for
!   177.  vecin3d_argchk.for
!   178.  vecintrp2d.for
!   179.  vecintrp3d.for
!   180.  vecpc1.for
!   181.  vecpc2.for
!   182.  vecpc3.for
!   183.  vecspline.for
!   184.  vectricub.for
!   185.  v_spline.for
!   186.  xlookup.for
!   187.  zonfind.for
!
      MODULE pspline_calls
!
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  AKHERM1
!
       INTERFACE AKHERM1

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  AKHERM1 ... for meaning of arguments see the documentation

      SUBROUTINE    AKHERM1(
     > X,NX,FHERM,ILINX,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX
      INTEGER ILINX
      INTEGER IER
      REAL X(NX)
      REAL FHERM(0:1,NX)

      end subroutine AKHERM1
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  AKHERM1P
!
       INTERFACE AKHERM1P

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  AKHERM1P ... for meaning of arguments see the documentation

      SUBROUTINE    AKHERM1P(
     > X,NX,FHERM,ILINX,IPX,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX
      INTEGER ILINX
      INTEGER IPX
      INTEGER IER
      REAL X(NX)
      REAL FHERM(0:1,NX)

      end subroutine AKHERM1P
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  AKHERM0
!
       INTERFACE AKHERM0

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  AKHERM0 ... for meaning of arguments see the documentation

      SUBROUTINE    AKHERM0(
     > CXMM,CXM,CXP,CXPP,WX,RESULT)

      IMPLICIT NONE

! argument declarations
      REAL CXMM
      REAL CXM
      REAL CXP
      REAL CXPP
      REAL RESULT
      REAL WX(2)

      end subroutine AKHERM0
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  AKHERM2
!
       INTERFACE AKHERM2

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  AKHERM2 ... for meaning of arguments see the documentation

      SUBROUTINE    AKHERM2(
     > X,NX,Y,NY,FHERM,NF2,ILINX,ILINY,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX
      INTEGER NY
      INTEGER NF2
      INTEGER ILINX
      INTEGER ILINY
      INTEGER IER
      REAL X(NX)
      REAL Y(NY)
      REAL FHERM(0:3,NF2,NY)

      end subroutine AKHERM2
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  AKHERM2P
!
       INTERFACE AKHERM2P

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  AKHERM2P ... for meaning of arguments see the documentation

      SUBROUTINE    AKHERM2P(
     > X,NX,Y,NY,FHERM,NF2,ILINX,ILINY,IPX,IPY,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX
      INTEGER NY
      INTEGER NF2
      INTEGER ILINX
      INTEGER ILINY
      INTEGER IPX
      INTEGER IPY
      INTEGER IER
      REAL X(NX)
      REAL Y(NY)
      REAL FHERM(0:3,NF2,NY)

      end subroutine AKHERM2P
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  AKHERM3
!
       INTERFACE AKHERM3

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  AKHERM3 ... for meaning of arguments see the documentation

      SUBROUTINE    AKHERM3(
     > X,NX,Y,NY,Z,NZ,FHERM,NF2,NF3,ILINX,ILINY,ILINZ,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX
      INTEGER NY
      INTEGER NZ
      INTEGER NF2
      INTEGER NF3
      INTEGER ILINX
      INTEGER ILINY
      INTEGER ILINZ
      INTEGER IER
      REAL X(NX)
      REAL Y(NY)
      REAL Z(NZ)
      REAL FHERM(0:7,NF2,NF3,NZ)

      end subroutine AKHERM3
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  AKHERM3P
!
       INTERFACE AKHERM3P

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  AKHERM3P ... for meaning of arguments see the documentation

      SUBROUTINE    AKHERM3P(
     > X,NX,Y,NY,Z,NZ,FHERM,NF2,NF3,ILINX,ILINY,ILINZ,IPX,IPY,IPZ,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX
      INTEGER NY
      INTEGER NZ
      INTEGER NF2
      INTEGER NF3
      INTEGER ILINX
      INTEGER ILINY
      INTEGER ILINZ
      INTEGER IPX
      INTEGER IPY
      INTEGER IPZ
      INTEGER IER
      REAL X(NX)
      REAL Y(NY)
      REAL Z(NZ)
      REAL FHERM(0:7,NF2,NF3,NZ)

      end subroutine AKHERM3P
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  BCSPEVAL
!
       INTERFACE BCSPEVAL

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  BCSPEVAL ... for meaning of arguments see the documentation

      SUBROUTINE    BCSPEVAL(
     > XGET,YGET,ISELECT,FVAL,X,NX,Y,NY,ILINX,ILINY,F,INF3,IER)

      IMPLICIT NONE

! argument declarations
      REAL XGET
      REAL YGET
      INTEGER NX
      INTEGER NY
      INTEGER ILINX
      INTEGER ILINY
      INTEGER INF3
      INTEGER IER
      INTEGER ISELECT(6)
      REAL FVAL(*)
      REAL X(NX)
      REAL Y(NY)
      REAL F(4,4,INF3,NY)

      end subroutine BCSPEVAL
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  BCSPEVXY
!
       INTERFACE BCSPEVXY

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  BCSPEVXY ... for meaning of arguments see the documentation

      SUBROUTINE    BCSPEVXY(
     > XGET,YGET,X,NX,Y,NY,ILINX,ILINY,I,J,DX,DY,IER)

      IMPLICIT NONE

! argument declarations
      REAL XGET
      REAL YGET
      INTEGER NX
      INTEGER NY
      INTEGER ILINX
      INTEGER ILINY
      INTEGER I
      INTEGER J
      REAL DX
      REAL DY
      INTEGER IER
      REAL X(NX)
      REAL Y(NY)

      end subroutine BCSPEVXY
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  BCSPEVFN
!
       INTERFACE BCSPEVFN

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  BCSPEVFN ... for meaning of arguments see the documentation

      SUBROUTINE    BCSPEVFN(
     > ICT,IVEC,IVD,FVAL,IV,JV,DXV,DYV,F,INF3,NY)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVD
      INTEGER INF3
      INTEGER NY
      INTEGER ICT(6)
      REAL FVAL(IVD,*)
      INTEGER IV(IVEC)
      INTEGER JV(IVEC)
      REAL DXV(IVEC)
      REAL DYV(IVEC)
      REAL F(4,4,INF3,NY)

      end subroutine BCSPEVFN
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  BCSPGRID
!
       INTERFACE BCSPGRID

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  BCSPGRID ... for meaning of arguments see the documentation

      SUBROUTINE    BCSPGRID(
     > X_NEWGRID,NX_NEW,Y_NEWGRID,NY_NEW,F_NEW,IF1,NX,XPKG,NY,YPKG,FSPL,
     > INF3,IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX_NEW
      INTEGER NY_NEW
      INTEGER IF1
      INTEGER NX
      INTEGER NY
      INTEGER INF3
      INTEGER IWARN
      INTEGER IER
      REAL X_NEWGRID(NX_NEW)
      REAL Y_NEWGRID(NY_NEW)
      REAL F_NEW(IF1,NY_NEW)
      REAL XPKG(NX,4)
      REAL YPKG(NY,4)
      REAL FSPL(4,4,INF3,NY)

      end subroutine BCSPGRID
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  BCSPLINE
!
       INTERFACE BCSPLINE

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  BCSPLINE ... for meaning of arguments see the documentation

      SUBROUTINE    BCSPLINE(
     > X,INX,TH,INTH,FSPL,INF3,IBCXMIN,BCXMIN,IBCXMAX,BCXMAX,IBCTHMIN,
     > BCTHMIN,IBCTHMAX,BCTHMAX,WK,NWK,ILINX,ILINTH,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER INX
      INTEGER INTH
      INTEGER INF3
      INTEGER IBCXMIN
      INTEGER IBCXMAX
      INTEGER IBCTHMIN
      INTEGER IBCTHMAX
      INTEGER NWK
      INTEGER ILINX
      INTEGER ILINTH
      INTEGER IER
      REAL X(INX)
      REAL TH(INTH)
      REAL FSPL(4,4,INF3,INTH)
      REAL BCXMIN(*)
      REAL BCXMAX(*)
      REAL BCTHMIN(*)
      REAL BCTHMAX(*)
      REAL WK(NWK)

      end subroutine BCSPLINE
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  BCSPVEC
!
       INTERFACE BCSPVEC

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  BCSPVEC ... for meaning of arguments see the documentation

      SUBROUTINE    BCSPVEC(
     > ICT,IVEC,XVEC,YVEC,IVD,FVAL,NX,XPKG,NY,YPKG,FSPL,INF3,IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVD
      INTEGER NX
      INTEGER NY
      INTEGER INF3
      INTEGER IWARN
      INTEGER IER
      INTEGER ICT(6)
      REAL XVEC(IVEC)
      REAL YVEC(IVEC)
      REAL FVAL(IVD,*)
      REAL XPKG(NX,4)
      REAL YPKG(NY,4)
      REAL FSPL(4,4,INF3,NY)

      end subroutine BCSPVEC
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  BPSPLINB
!
       INTERFACE BPSPLINB

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  BPSPLINB ... for meaning of arguments see the documentation

      SUBROUTINE    BPSPLINB(
     > X,INX,TH,INTH,FSPL,INF3,IBCXMIN,BCXMIN,IBCXMAX,BCXMAX,WK,NWK,
     > ILINX,ILINTH,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER INX
      INTEGER INTH
      INTEGER INF3
      INTEGER IBCXMIN
      INTEGER IBCXMAX
      INTEGER NWK
      INTEGER ILINX
      INTEGER ILINTH
      INTEGER IER
      REAL X(INX)
      REAL TH(INTH)
      REAL FSPL(4,4,INF3,INTH)
      REAL BCXMIN(INTH)
      REAL BCXMAX(INTH)
      REAL WK(NWK)

      end subroutine BPSPLINB
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  BPSPLINE
!
       INTERFACE BPSPLINE

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  BPSPLINE ... for meaning of arguments see the documentation

      SUBROUTINE    BPSPLINE(
     > X,INX,TH,INTH,FSPL,INF3,WK,NWK,ILINX,ILINTH,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER INX
      INTEGER INTH
      INTEGER INF3
      INTEGER NWK
      INTEGER ILINX
      INTEGER ILINTH
      INTEGER IER
      REAL X(INX)
      REAL TH(INTH)
      REAL FSPL(4,4,INF3,INTH)
      REAL WK(NWK)

      end subroutine BPSPLINE
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  CSPEVAL
!
       INTERFACE CSPEVAL

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  CSPEVAL ... for meaning of arguments see the documentation

      SUBROUTINE    CSPEVAL(
     > XGET,ISELECT,FVAL,X,NX,ILINX,F,IER)

      IMPLICIT NONE

! argument declarations
      REAL XGET
      INTEGER NX
      INTEGER ILINX
      INTEGER IER
      INTEGER ISELECT(3)
      REAL FVAL(3)
      REAL X(NX)
      REAL F(4,NX)

      end subroutine CSPEVAL
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  CSPEVX
!
       INTERFACE CSPEVX

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  CSPEVX ... for meaning of arguments see the documentation

      SUBROUTINE    CSPEVX(
     > XGET,X,NX,ILINX,I,DX,IER)

      IMPLICIT NONE

! argument declarations
      REAL XGET
      INTEGER NX
      INTEGER ILINX
      INTEGER I
      REAL DX
      INTEGER IER
      REAL X(NX)

      end subroutine CSPEVX
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  CSPEVFN
!
       INTERFACE CSPEVFN

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  CSPEVFN ... for meaning of arguments see the documentation

      SUBROUTINE    CSPEVFN(
     > ICT,IVEC,IVD,FVAL,IV,DXV,F,NX)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVD
      INTEGER NX
      INTEGER ICT(3)
      REAL FVAL(IVD,*)
      INTEGER IV(IVEC)
      REAL DXV(IVEC)
      REAL F(4,NX)

      end subroutine CSPEVFN
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  CSPLINE
!
       INTERFACE CSPLINE

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  CSPLINE ... for meaning of arguments see the documentation

      SUBROUTINE    CSPLINE(
     > X,NX,FSPL,IBCXMIN,BCXMIN,IBCXMAX,BCXMAX,WK,IWK,ILINX,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX
      INTEGER IBCXMIN
      REAL BCXMIN
      INTEGER IBCXMAX
      REAL BCXMAX
      INTEGER IWK
      INTEGER ILINX
      INTEGER IER
      REAL X(NX)
      REAL FSPL(4,NX)
      REAL WK(IWK)

      end subroutine CSPLINE
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  CUBSPLB
!
       INTERFACE CUBSPLB

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  CUBSPLB ... for meaning of arguments see the documentation

      SUBROUTINE    CUBSPLB(
     > TAU,C,N,IBCBEG,IBCEND)

      IMPLICIT NONE

! argument declarations
      INTEGER N
      INTEGER IBCBEG
      INTEGER IBCEND
      REAL TAU(N)
      REAL C(4,N)

      end subroutine CUBSPLB
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  DNHERM1
!
       INTERFACE DNHERM1

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  DNHERM1 ... for meaning of arguments see the documentation

      SUBROUTINE    DNHERM1(
     > X,NX,FHERM,ILINX,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX
      INTEGER ILINX
      INTEGER IER
      REAL X(NX)
      REAL FHERM(0:1,NX)

      end subroutine DNHERM1
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  DNHERM2
!
       INTERFACE DNHERM2

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  DNHERM2 ... for meaning of arguments see the documentation

      SUBROUTINE    DNHERM2(
     > X,NX,Y,NY,FHERM,NF2,ILINX,ILINY,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX
      INTEGER NY
      INTEGER NF2
      INTEGER ILINX
      INTEGER ILINY
      INTEGER IER
      REAL X(NX)
      REAL Y(NY)
      REAL FHERM(0:3,NF2,NY)

      end subroutine DNHERM2
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  DNHERM3
!
       INTERFACE DNHERM3

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  DNHERM3 ... for meaning of arguments see the documentation

      SUBROUTINE    DNHERM3(
     > X,NX,Y,NY,Z,NZ,FHERM,NF2,NF3,ILINX,ILINY,ILINZ,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX
      INTEGER NY
      INTEGER NZ
      INTEGER NF2
      INTEGER NF3
      INTEGER ILINX
      INTEGER ILINY
      INTEGER ILINZ
      INTEGER IER
      REAL X(NX)
      REAL Y(NY)
      REAL Z(NZ)
      REAL FHERM(0:7,NF2,NF3,NZ)

      end subroutine DNHERM3
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  EVBICUB
!
       INTERFACE EVBICUB

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  EVBICUB ... for meaning of arguments see the documentation

      SUBROUTINE    EVBICUB(
     > XGET,YGET,X,NX,Y,NY,ILINX,ILINY,F,INF2,ICT,FVAL,IER)

      IMPLICIT NONE

! argument declarations
      REAL XGET
      REAL YGET
      INTEGER NX
      INTEGER NY
      INTEGER ILINX
      INTEGER ILINY
      INTEGER INF2
      INTEGER IER
      REAL X(NX)
      REAL Y(NY)
      REAL F(0:3,INF2,NY)
      INTEGER ICT(6)
      REAL FVAL(*)

      end subroutine EVBICUB
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  FVBICUB
!
       INTERFACE FVBICUB

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  FVBICUB ... for meaning of arguments see the documentation

      SUBROUTINE    FVBICUB(
     > ICT,IVEC,IVECD,FVAL,II,JJ,XPARAM,YPARAM,HX,HXI,HY,HYI,FIN,INF2,
     > NY)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVECD
      INTEGER INF2
      INTEGER NY
      INTEGER ICT(6)
      REAL FVAL(IVECD,*)
      INTEGER II(IVEC)
      INTEGER JJ(IVEC)
      REAL XPARAM(IVEC)
      REAL YPARAM(IVEC)
      REAL HX(IVEC)
      REAL HXI(IVEC)
      REAL HY(IVEC)
      REAL HYI(IVEC)
      REAL FIN(0:3,INF2,NY)

      end subroutine FVBICUB
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  FVBICUBX
!
       INTERFACE FVBICUBX

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  FVBICUBX ... for meaning of arguments see the documentation

      SUBROUTINE    FVBICUBX(
     > ICT,IVEC,IVECD,FVAL,II,JJ,XPARAM,YPARAM,HX,HXI,HY,HYI,FIN,INF2,
     > NY)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVECD
      INTEGER JJ
      REAL YPARAM
      REAL HY
      REAL HYI
      INTEGER INF2
      INTEGER NY
      INTEGER ICT(6)
      REAL FVAL(IVECD,*)
      INTEGER II(IVEC)
      REAL XPARAM(IVEC)
      REAL HX(IVEC)
      REAL HXI(IVEC)
      REAL FIN(0:3,INF2,NY)

      end subroutine FVBICUBX
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  EVINTRP2D
!
       INTERFACE EVINTRP2D

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  EVINTRP2D ... for meaning of arguments see the documentation

      SUBROUTINE    EVINTRP2D(
     > XGET,YGET,X,NX,Y,NY,JSPLINE,F,ICOEFF,IXDIM,IYDIM,ICT,FVAL,IER)

      IMPLICIT NONE

! argument declarations
      REAL XGET
      REAL YGET
      INTEGER NX
      INTEGER NY
      INTEGER ICOEFF
      INTEGER IXDIM
      INTEGER IYDIM
      INTEGER IER
      REAL X(NX)
      REAL Y(NY)
      INTEGER JSPLINE(2)
      REAL F(ICOEFF,IXDIM,IYDIM)
      INTEGER ICT(6)
      REAL FVAL(6)

      end subroutine EVINTRP2D
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  FVINTRP2D
!
       INTERFACE FVINTRP2D

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  FVINTRP2D ... for meaning of arguments see the documentation

      SUBROUTINE    FVINTRP2D(
     > ICT,IVEC,IVECD,FVAL,II,JJ,XPARAM,YPARAM,HX,HXI,HY,HYI,JSPLINE,
     > FIN,ICOEFF,IXDIM,IYDIM)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVECD
      INTEGER ICOEFF
      INTEGER IXDIM
      INTEGER IYDIM
      INTEGER ICT(6)
      REAL FVAL(IVECD,6)
      INTEGER II(IVEC)
      INTEGER JJ(IVEC)
      REAL XPARAM(IVEC)
      REAL YPARAM(IVEC)
      REAL HX(IVEC)
      REAL HXI(IVEC)
      REAL HY(IVEC)
      REAL HYI(IVEC)
      INTEGER JSPLINE(2)
      REAL FIN(ICOEFF,IXDIM,IYDIM)

      end subroutine FVINTRP2D
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  EVINTRP3D
!
       INTERFACE EVINTRP3D

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  EVINTRP3D ... for meaning of arguments see the documentation

      SUBROUTINE    EVINTRP3D(
     > XGET,YGET,ZGET,X,NX,Y,NY,Z,NZ,JSPLINE,F,ICOEFF,IXDIM,IYDIM,IZDIM,
     > ICT,FVAL,IER)

      IMPLICIT NONE

! argument declarations
      REAL XGET
      REAL YGET
      REAL ZGET
      INTEGER NX
      INTEGER NY
      INTEGER NZ
      INTEGER ICOEFF
      INTEGER IXDIM
      INTEGER IYDIM
      INTEGER IZDIM
      INTEGER IER
      REAL X(NX)
      REAL Y(NY)
      REAL Z(NZ)
      INTEGER JSPLINE(3)
      REAL F(ICOEFF,IXDIM,IYDIM,IZDIM)
      INTEGER ICT(10)
      REAL FVAL(10)

      end subroutine EVINTRP3D
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  FVINTRP3D
!
       INTERFACE FVINTRP3D

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  FVINTRP3D ... for meaning of arguments see the documentation

      SUBROUTINE    FVINTRP3D(
     > ICT,IVEC,IVECD,FVAL,II,JJ,KK,XPARAM,YPARAM,ZPARAM,HX,HXI,HY,HYI,
     > HZ,HZI,JSPLINE,FIN,ICOEFF,IXDIM,IYDIM,IZDIM)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVECD
      INTEGER ICOEFF
      INTEGER IXDIM
      INTEGER IYDIM
      INTEGER IZDIM
      INTEGER ICT(10)
      REAL FVAL(IVECD,10)
      INTEGER II(IVEC)
      INTEGER JJ(IVEC)
      INTEGER KK(IVEC)
      REAL XPARAM(IVEC)
      REAL YPARAM(IVEC)
      REAL ZPARAM(IVEC)
      REAL HX(IVEC)
      REAL HXI(IVEC)
      REAL HY(IVEC)
      REAL HYI(IVEC)
      REAL HZ(IVEC)
      REAL HZI(IVEC)
      INTEGER JSPLINE(3)
      REAL FIN(ICOEFF,IXDIM,IYDIM,IZDIM)

      end subroutine FVINTRP3D
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  EVSPLINE
!
       INTERFACE EVSPLINE

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  EVSPLINE ... for meaning of arguments see the documentation

      SUBROUTINE    EVSPLINE(
     > XGET,X,NX,ILINX,F,ICT,FVAL,IER)

      IMPLICIT NONE

! argument declarations
      REAL XGET
      INTEGER NX
      INTEGER ILINX
      INTEGER IER
      REAL X(NX)
      REAL F(0:1,NX)
      INTEGER ICT(3)
      REAL FVAL(*)

      end subroutine EVSPLINE
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  FVSPLINE
!
       INTERFACE FVSPLINE

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  FVSPLINE ... for meaning of arguments see the documentation

      SUBROUTINE    FVSPLINE(
     > ICT,IVEC,IVECD,FVAL,II,XPARAM,HX,HXI,FIN,NX)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVECD
      INTEGER NX
      INTEGER ICT(3)
      REAL FVAL(IVECD,*)
      INTEGER II(IVEC)
      REAL XPARAM(IVEC)
      REAL HX(IVEC)
      REAL HXI(IVEC)
      REAL FIN(0:1,NX)

      end subroutine FVSPLINE
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  EVTRICUB
!
       INTERFACE EVTRICUB

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  EVTRICUB ... for meaning of arguments see the documentation

      SUBROUTINE    EVTRICUB(
     > XGET,YGET,ZGET,X,NX,Y,NY,Z,NZ,ILINX,ILINY,ILINZ,F,INF2,INF3,ICT,
     > FVAL,IER)

      IMPLICIT NONE

! argument declarations
      REAL XGET
      REAL YGET
      REAL ZGET
      INTEGER NX
      INTEGER NY
      INTEGER NZ
      INTEGER ILINX
      INTEGER ILINY
      INTEGER ILINZ
      INTEGER INF2
      INTEGER INF3
      INTEGER IER
      REAL X(NX)
      REAL Y(NY)
      REAL Z(NZ)
      REAL F(0:7,INF2,INF3,NZ)
      INTEGER ICT(10)
      REAL FVAL(*)

      end subroutine EVTRICUB
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  FVTRICUB
!
       INTERFACE FVTRICUB

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  FVTRICUB ... for meaning of arguments see the documentation

      SUBROUTINE    FVTRICUB(
     > ICT,IVEC,IVECD,FVAL,II,JJ,KK,XPARAM,YPARAM,ZPARAM,HX,HXI,HY,HYI,
     > HZ,HZI,FIN,INF2,INF3,NZ)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVECD
      INTEGER INF2
      INTEGER INF3
      INTEGER NZ
      INTEGER ICT(10)
      REAL FVAL(IVECD,*)
      INTEGER II(IVEC)
      INTEGER JJ(IVEC)
      INTEGER KK(IVEC)
      REAL XPARAM(IVEC)
      REAL YPARAM(IVEC)
      REAL ZPARAM(IVEC)
      REAL HX(IVEC)
      REAL HXI(IVEC)
      REAL HY(IVEC)
      REAL HYI(IVEC)
      REAL HZ(IVEC)
      REAL HZI(IVEC)
      REAL FIN(0:7,INF2,INF3,NZ)

      end subroutine FVTRICUB
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  FVTRICUBX
!
       INTERFACE FVTRICUBX

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  FVTRICUBX ... for meaning of arguments see the documentation

      SUBROUTINE    FVTRICUBX(
     > ICT,IVEC,IVECD,FVAL,II,JJ,KK,XPARAM,YPARAM,ZPARAM,HX,HXI,HY,HYI,
     > HZ,HZI,FIN,INF2,INF3,NZ)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVECD
      INTEGER JJ
      INTEGER KK
      REAL YPARAM
      REAL ZPARAM
      REAL HY
      REAL HYI
      REAL HZ
      REAL HZI
      INTEGER INF2
      INTEGER INF3
      INTEGER NZ
      INTEGER ICT(10)
      REAL FVAL(IVECD,*)
      INTEGER II(IVEC)
      REAL XPARAM(IVEC)
      REAL HX(IVEC)
      REAL HXI(IVEC)
      REAL FIN(0:7,INF2,INF3,NZ)

      end subroutine FVTRICUBX
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  F2TEST
!
       INTERFACE F2TEST

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  F2TEST ... for meaning of arguments see the documentation

      SUBROUTINE    F2TEST(
     > FUN1,FUN2,INUMP,XMIN,XMAX,YMIN,YMAX,NAME,NAMEX,NAMEY)

      IMPLICIT NONE

! argument declarations
      EXTERNAL FUN1
      EXTERNAL FUN2
      INTEGER INUMP
      REAL XMIN
      REAL XMAX
      REAL YMIN
      REAL YMAX
      CHARACTER*(*) NAME
      CHARACTER*(*) NAMEX
      CHARACTER*(*) NAMEY

      end subroutine F2TEST
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  F3TEST
!
       INTERFACE F3TEST

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  F3TEST ... for meaning of arguments see the documentation

      SUBROUTINE    F3TEST(
     > FUN1,FUN2,ID,INUMP,XMIN,XMAX,YMIN,YMAX,ZMIN,ZMAX,NAME,NAMEX,
     > NAMEY,NAMEZ)

      IMPLICIT NONE

! argument declarations
      EXTERNAL FUN1
      EXTERNAL FUN2
      INTEGER ID
      INTEGER INUMP
      REAL XMIN
      REAL XMAX
      REAL YMIN
      REAL YMAX
      REAL ZMIN
      REAL ZMAX
      CHARACTER*(*) NAME
      CHARACTER*(*) NAMEX
      CHARACTER*(*) NAMEY
      CHARACTER*(*) NAMEZ

      end subroutine F3TEST
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  GENXPKG
!
       INTERFACE GENXPKG

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  GENXPKG ... for meaning of arguments see the documentation

      SUBROUTINE    GENXPKG(
     > NX,X,XPKG,IPER,IMSG,ITOL,ZTOL,IALG,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX
      INTEGER IPER
      INTEGER IMSG
      INTEGER ITOL
      REAL ZTOL
      INTEGER IALG
      INTEGER IER
      REAL X(NX)
      REAL XPKG(NX,4)

      end subroutine GENXPKG
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  GRIDBICUB
!
       INTERFACE GRIDBICUB

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  GRIDBICUB ... for meaning of arguments see the documentation

      SUBROUTINE    GRIDBICUB(
     > X_NEWGRID,NX_NEW,Y_NEWGRID,NY_NEW,F_NEW,IF1,NX,XPKG,NY,YPKG,FSPL,
     > INF3,IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX_NEW
      INTEGER NY_NEW
      INTEGER IF1
      INTEGER NX
      INTEGER NY
      INTEGER INF3
      INTEGER IWARN
      INTEGER IER
      REAL X_NEWGRID(NX_NEW)
      REAL Y_NEWGRID(NY_NEW)
      REAL F_NEW(IF1,NY_NEW)
      REAL XPKG(NX,4)
      REAL YPKG(NY,4)
      REAL FSPL(4,INF3,NY)

      end subroutine GRIDBICUB
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  GRIDHERM1
!
       INTERFACE GRIDHERM1

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  GRIDHERM1 ... for meaning of arguments see the documentation

      SUBROUTINE    GRIDHERM1(
     > X_NEWGRID,NX_NEW,F_NEW,NX,XPKG,FSPL,IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX_NEW
      INTEGER NX
      INTEGER IWARN
      INTEGER IER
      REAL X_NEWGRID(NX_NEW)
      REAL F_NEW(NX_NEW)
      REAL XPKG(NX,4)
      REAL FSPL(NX,2)

      end subroutine GRIDHERM1
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  GRIDHERM2
!
       INTERFACE GRIDHERM2

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  GRIDHERM2 ... for meaning of arguments see the documentation

      SUBROUTINE    GRIDHERM2(
     > X_NEWGRID,NX_NEW,Y_NEWGRID,NY_NEW,F_NEW,IF1,NX,XPKG,NY,YPKG,FSPL,
     > INF2,IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX_NEW
      INTEGER NY_NEW
      INTEGER IF1
      INTEGER NX
      INTEGER NY
      INTEGER INF2
      INTEGER IWARN
      INTEGER IER
      REAL X_NEWGRID(NX_NEW)
      REAL Y_NEWGRID(NY_NEW)
      REAL F_NEW(IF1,NY_NEW)
      REAL XPKG(NX,4)
      REAL YPKG(NY,4)
      REAL FSPL(0:3,INF2,NY)

      end subroutine GRIDHERM2
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  GRIDHERM3
!
       INTERFACE GRIDHERM3

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  GRIDHERM3 ... for meaning of arguments see the documentation

      SUBROUTINE    GRIDHERM3(
     > X_NEWGRID,NX_NEW,Y_NEWGRID,NY_NEW,Z_NEWGRID,NZ_NEW,F_NEW,IF1,IF2,
     > NX,XPKG,NY,YPKG,NZ,ZPKG,FSPL,INF2,INF3,IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX_NEW
      INTEGER NY_NEW
      INTEGER NZ_NEW
      INTEGER IF1
      INTEGER IF2
      INTEGER NX
      INTEGER NY
      INTEGER NZ
      INTEGER INF2
      INTEGER INF3
      INTEGER IWARN
      INTEGER IER
      REAL X_NEWGRID(NX_NEW)
      REAL Y_NEWGRID(NY_NEW)
      REAL Z_NEWGRID(NZ_NEW)
      REAL F_NEW(IF1,IF2,NZ_NEW)
      REAL XPKG(NX,4)
      REAL YPKG(NY,4)
      REAL ZPKG(NZ,4)
      REAL FSPL(0:7,INF2,INF3,NZ)

      end subroutine GRIDHERM3
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  GRIDINTRP2D
!
       INTERFACE GRIDINTRP2D

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  GRIDINTRP2D ... for meaning of arguments see the documentation

      SUBROUTINE    GRIDINTRP2D(
     > X_NEWGRID,NX_NEW,Y_NEWGRID,NY_NEW,F_NEW,IF1,NX,XPKG,NY,YPKG,
     > JSPLINE,FSPL,ICOEFF,IXDIM,IYDIM,IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX_NEW
      INTEGER NY_NEW
      INTEGER IF1
      INTEGER NX
      INTEGER NY
      INTEGER ICOEFF
      INTEGER IXDIM
      INTEGER IYDIM
      INTEGER IWARN
      INTEGER IER
      REAL X_NEWGRID(NX_NEW)
      REAL Y_NEWGRID(NY_NEW)
      REAL F_NEW(IF1,NY_NEW)
      REAL XPKG(NX,4)
      REAL YPKG(NY,4)
      INTEGER JSPLINE(2)
      REAL FSPL(ICOEFF,IXDIM,IYDIM)

      end subroutine GRIDINTRP2D
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  GRIDINTRP3D
!
       INTERFACE GRIDINTRP3D

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  GRIDINTRP3D ... for meaning of arguments see the documentation

      SUBROUTINE    GRIDINTRP3D(
     > X_NEWGRID,NX_NEW,Y_NEWGRID,NY_NEW,Z_NEWGRID,NZ_NEW,F_NEW,IF1,IF2,
     > NX,XPKG,NY,YPKG,NZ,ZPKG,JSPLINE,FSPL,ICOEFF,IXDIM,IYDIM,IZDIM,
     > IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX_NEW
      INTEGER NY_NEW
      INTEGER NZ_NEW
      INTEGER IF1
      INTEGER IF2
      INTEGER NX
      INTEGER NY
      INTEGER NZ
      INTEGER ICOEFF
      INTEGER IXDIM
      INTEGER IYDIM
      INTEGER IZDIM
      INTEGER IWARN
      INTEGER IER
      REAL X_NEWGRID(NX_NEW)
      REAL Y_NEWGRID(NY_NEW)
      REAL Z_NEWGRID(NZ_NEW)
      REAL F_NEW(IF1,IF2,NZ_NEW)
      REAL XPKG(NX,4)
      REAL YPKG(NY,4)
      REAL ZPKG(NZ,4)
      INTEGER JSPLINE(3)
      REAL FSPL(ICOEFF,IXDIM,IYDIM,IZDIM)

      end subroutine GRIDINTRP3D
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  GRIDPC1
!
       INTERFACE GRIDPC1

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  GRIDPC1 ... for meaning of arguments see the documentation

      SUBROUTINE    GRIDPC1(
     > X_NEWGRID,NX_NEW,F_NEW,NX,XPKG,FSPL,IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX_NEW
      INTEGER NX
      INTEGER IWARN
      INTEGER IER
      REAL X_NEWGRID(NX_NEW)
      REAL F_NEW(NX_NEW)
      REAL XPKG(NX,4)
      REAL FSPL(NX)

      end subroutine GRIDPC1
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  GRIDPC2
!
       INTERFACE GRIDPC2

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  GRIDPC2 ... for meaning of arguments see the documentation

      SUBROUTINE    GRIDPC2(
     > X_NEWGRID,NX_NEW,Y_NEWGRID,NY_NEW,F_NEW,IF1,NX,XPKG,NY,YPKG,FSPL,
     > INF1,IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX_NEW
      INTEGER NY_NEW
      INTEGER IF1
      INTEGER NX
      INTEGER NY
      INTEGER INF1
      INTEGER IWARN
      INTEGER IER
      REAL X_NEWGRID(NX_NEW)
      REAL Y_NEWGRID(NY_NEW)
      REAL F_NEW(IF1,NY_NEW)
      REAL XPKG(NX,4)
      REAL YPKG(NY,4)
      REAL FSPL(INF1,NY)

      end subroutine GRIDPC2
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  GRIDPC3
!
       INTERFACE GRIDPC3

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  GRIDPC3 ... for meaning of arguments see the documentation

      SUBROUTINE    GRIDPC3(
     > X_NEWGRID,NX_NEW,Y_NEWGRID,NY_NEW,Z_NEWGRID,NZ_NEW,F_NEW,IF1,IF2,
     > NX,XPKG,NY,YPKG,NZ,ZPKG,FSPL,INF2,INF3,IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX_NEW
      INTEGER NY_NEW
      INTEGER NZ_NEW
      INTEGER IF1
      INTEGER IF2
      INTEGER NX
      INTEGER NY
      INTEGER NZ
      INTEGER INF2
      INTEGER INF3
      INTEGER IWARN
      INTEGER IER
      REAL X_NEWGRID(NX_NEW)
      REAL Y_NEWGRID(NY_NEW)
      REAL Z_NEWGRID(NZ_NEW)
      REAL F_NEW(IF1,IF2,NZ_NEW)
      REAL XPKG(NX,4)
      REAL YPKG(NY,4)
      REAL ZPKG(NZ,4)
      REAL FSPL(INF2,INF3,NZ)

      end subroutine GRIDPC3
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  GRIDSPLINE
!
       INTERFACE GRIDSPLINE

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  GRIDSPLINE ... for meaning of arguments see the documentation

      SUBROUTINE    GRIDSPLINE(
     > X_NEWGRID,NX_NEW,F_NEW,NX,XPKG,FSPL,IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX_NEW
      INTEGER NX
      INTEGER IWARN
      INTEGER IER
      REAL X_NEWGRID(NX_NEW)
      REAL F_NEW(NX_NEW)
      REAL XPKG(NX,4)
      REAL FSPL(NX,2)

      end subroutine GRIDSPLINE
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  GRIDTRICUB
!
       INTERFACE GRIDTRICUB

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  GRIDTRICUB ... for meaning of arguments see the documentation

      SUBROUTINE    GRIDTRICUB(
     > X_NEWGRID,NX_NEW,Y_NEWGRID,NY_NEW,Z_NEWGRID,NZ_NEW,F_NEW,IF1,IF2,
     > NX,XPKG,NY,YPKG,NZ,ZPKG,FSPL,INF4,INF5,IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX_NEW
      INTEGER NY_NEW
      INTEGER NZ_NEW
      INTEGER IF1
      INTEGER IF2
      INTEGER NX
      INTEGER NY
      INTEGER NZ
      INTEGER INF4
      INTEGER INF5
      INTEGER IWARN
      INTEGER IER
      REAL X_NEWGRID(NX_NEW)
      REAL Y_NEWGRID(NY_NEW)
      REAL Z_NEWGRID(NZ_NEW)
      REAL F_NEW(IF1,IF2,NZ_NEW)
      REAL XPKG(NX,4)
      REAL YPKG(NY,4)
      REAL ZPKG(NZ,4)
      REAL FSPL(8,INF4,INF5,NZ)

      end subroutine GRIDTRICUB
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  HERM1EV
!
       INTERFACE HERM1EV

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  HERM1EV ... for meaning of arguments see the documentation

      SUBROUTINE    HERM1EV(
     > XGET,X,NX,ILINX,F,ICT,FVAL,IER)

      IMPLICIT NONE

! argument declarations
      REAL XGET
      INTEGER NX
      INTEGER ILINX
      INTEGER IER
      REAL X(NX)
      REAL F(0:1,NX)
      INTEGER ICT(2)
      REAL FVAL(*)

      end subroutine HERM1EV
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  HERM1X
!
       INTERFACE HERM1X

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  HERM1X ... for meaning of arguments see the documentation

      SUBROUTINE    HERM1X(
     > XGET,X,NX,ILINX,I,XPARAM,HX,HXI,IER)

      IMPLICIT NONE

! argument declarations
      REAL XGET
      INTEGER NX
      INTEGER ILINX
      INTEGER I
      REAL XPARAM
      REAL HX
      REAL HXI
      INTEGER IER
      REAL X(NX)

      end subroutine HERM1X
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  HERM1FCN
!
       INTERFACE HERM1FCN

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  HERM1FCN ... for meaning of arguments see the documentation

      SUBROUTINE    HERM1FCN(
     > ICT,IVEC,IVECD,FVAL,II,XPARAM,HX,HXI,FIN,NX)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVECD
      INTEGER NX
      INTEGER ICT(2)
      REAL FVAL(IVECD,*)
      INTEGER II(IVEC)
      REAL XPARAM(IVEC)
      REAL HX(IVEC)
      REAL HXI(IVEC)
      REAL FIN(0:1,NX)

      end subroutine HERM1FCN
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  HERM2EV
!
       INTERFACE HERM2EV

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  HERM2EV ... for meaning of arguments see the documentation

      SUBROUTINE    HERM2EV(
     > XGET,YGET,X,NX,Y,NY,ILINX,ILINY,F,INF2,ICT,FVAL,IER)

      IMPLICIT NONE

! argument declarations
      REAL XGET
      REAL YGET
      INTEGER NX
      INTEGER NY
      INTEGER ILINX
      INTEGER ILINY
      INTEGER INF2
      INTEGER IER
      REAL X(NX)
      REAL Y(NY)
      REAL F(0:3,INF2,NY)
      INTEGER ICT(4)
      REAL FVAL(*)

      end subroutine HERM2EV
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  HERM2XY
!
       INTERFACE HERM2XY

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  HERM2XY ... for meaning of arguments see the documentation

      SUBROUTINE    HERM2XY(
     > XGET,YGET,X,NX,Y,NY,ILINX,ILINY,I,J,XPARAM,YPARAM,HX,HXI,HY,HYI,
     > IER)

      IMPLICIT NONE

! argument declarations
      REAL XGET
      REAL YGET
      INTEGER NX
      INTEGER NY
      INTEGER ILINX
      INTEGER ILINY
      INTEGER I
      INTEGER J
      REAL XPARAM
      REAL YPARAM
      REAL HX
      REAL HXI
      REAL HY
      REAL HYI
      INTEGER IER
      REAL X(NX)
      REAL Y(NY)

      end subroutine HERM2XY
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  HERM2FCN
!
       INTERFACE HERM2FCN

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  HERM2FCN ... for meaning of arguments see the documentation

      SUBROUTINE    HERM2FCN(
     > ICT,IVEC,IVECD,FVAL,II,JJ,XPARAM,YPARAM,HX,HXI,HY,HYI,FIN,INF2,
     > NY)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVECD
      INTEGER INF2
      INTEGER NY
      INTEGER ICT(4)
      REAL FVAL(IVECD,*)
      INTEGER II(IVEC)
      INTEGER JJ(IVEC)
      REAL XPARAM(IVEC)
      REAL YPARAM(IVEC)
      REAL HX(IVEC)
      REAL HXI(IVEC)
      REAL HY(IVEC)
      REAL HYI(IVEC)
      REAL FIN(0:3,INF2,NY)

      end subroutine HERM2FCN
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  HERM2FCNX
!
       INTERFACE HERM2FCNX

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  HERM2FCNX ... for meaning of arguments see the documentation

      SUBROUTINE    HERM2FCNX(
     > ICT,IVEC,IVECD,FVAL,II,JJ,XPARAM,YPARAM,HX,HXI,HY,HYI,FIN,INF2,
     > NY)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVECD
      INTEGER JJ
      REAL YPARAM
      REAL HY
      REAL HYI
      INTEGER INF2
      INTEGER NY
      INTEGER ICT(4)
      REAL FVAL(IVECD,*)
      INTEGER II(IVEC)
      REAL XPARAM(IVEC)
      REAL HX(IVEC)
      REAL HXI(IVEC)
      REAL FIN(0:3,INF2,NY)

      end subroutine HERM2FCNX
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  HERM3EV
!
       INTERFACE HERM3EV

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  HERM3EV ... for meaning of arguments see the documentation

      SUBROUTINE    HERM3EV(
     > XGET,YGET,ZGET,X,NX,Y,NY,Z,NZ,ILINX,ILINY,ILINZ,F,INF2,INF3,ICT,
     > FVAL,IER)

      IMPLICIT NONE

! argument declarations
      REAL XGET
      REAL YGET
      REAL ZGET
      INTEGER NX
      INTEGER NY
      INTEGER NZ
      INTEGER ILINX
      INTEGER ILINY
      INTEGER ILINZ
      INTEGER INF2
      INTEGER INF3
      INTEGER IER
      REAL X(NX)
      REAL Y(NY)
      REAL Z(NZ)
      REAL F(0:7,INF2,INF3,NZ)
      INTEGER ICT(8)
      REAL FVAL(*)

      end subroutine HERM3EV
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  HERM3XYZ
!
       INTERFACE HERM3XYZ

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  HERM3XYZ ... for meaning of arguments see the documentation

      SUBROUTINE    HERM3XYZ(
     > XGET,YGET,ZGET,X,NX,Y,NY,Z,NZ,ILINX,ILINY,ILINZ,I,J,K,XPARAM,
     > YPARAM,ZPARAM,HX,HXI,HY,HYI,HZ,HZI,IER)

      IMPLICIT NONE

! argument declarations
      REAL XGET
      REAL YGET
      REAL ZGET
      INTEGER NX
      INTEGER NY
      INTEGER NZ
      INTEGER ILINX
      INTEGER ILINY
      INTEGER ILINZ
      INTEGER I
      INTEGER J
      INTEGER K
      REAL XPARAM
      REAL YPARAM
      REAL ZPARAM
      REAL HX
      REAL HXI
      REAL HY
      REAL HYI
      REAL HZ
      REAL HZI
      INTEGER IER
      REAL X(NX)
      REAL Y(NY)
      REAL Z(NZ)

      end subroutine HERM3XYZ
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  HERM3FCN
!
       INTERFACE HERM3FCN

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  HERM3FCN ... for meaning of arguments see the documentation

      SUBROUTINE    HERM3FCN(
     > ICT,IVEC,IVECD,FVAL,II,JJ,KK,XPARAM,YPARAM,ZPARAM,HX,HXI,HY,HYI,
     > HZ,HZI,FIN,INF2,INF3,NZ)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVECD
      INTEGER INF2
      INTEGER INF3
      INTEGER NZ
      INTEGER ICT(8)
      REAL FVAL(IVECD,*)
      INTEGER II(IVEC)
      INTEGER JJ(IVEC)
      INTEGER KK(IVEC)
      REAL XPARAM(IVEC)
      REAL YPARAM(IVEC)
      REAL ZPARAM(IVEC)
      REAL HX(IVEC)
      REAL HXI(IVEC)
      REAL HY(IVEC)
      REAL HYI(IVEC)
      REAL HZ(IVEC)
      REAL HZI(IVEC)
      REAL FIN(0:7,INF2,INF3,NZ)

      end subroutine HERM3FCN
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  HERM3FCNX
!
       INTERFACE HERM3FCNX

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  HERM3FCNX ... for meaning of arguments see the documentation

      SUBROUTINE    HERM3FCNX(
     > ICT,IVEC,IVECD,FVAL,II,JJ,KK,XPARAM,YPARAM,ZPARAM,HX,HXI,HY,HYI,
     > HZ,HZI,FIN,INF2,INF3,NZ)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVECD
      INTEGER JJ
      INTEGER KK
      REAL YPARAM
      REAL ZPARAM
      REAL HY
      REAL HYI
      REAL HZ
      REAL HZI
      INTEGER INF2
      INTEGER INF3
      INTEGER NZ
      INTEGER ICT(8)
      REAL FVAL(IVECD,*)
      INTEGER II(IVEC)
      REAL XPARAM(IVEC)
      REAL HX(IVEC)
      REAL HXI(IVEC)
      REAL FIN(0:7,INF2,INF3,NZ)

      end subroutine HERM3FCNX
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  IBC_CK
!
       INTERFACE IBC_CK

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  IBC_CK ... for meaning of arguments see the documentation

      SUBROUTINE    IBC_CK(
     > IBC,SLBL,XLBL,IMIN,IMAX,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER IBC
      CHARACTER*(*) SLBL
      CHARACTER*(*) XLBL
      INTEGER IMIN
      INTEGER IMAX
      INTEGER IER

      end subroutine IBC_CK
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  MKBICUB
!
       INTERFACE MKBICUB

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  MKBICUB ... for meaning of arguments see the documentation

      SUBROUTINE    MKBICUB(
     > X,NX,Y,NY,F,NF2,IBCXMIN,BCXMIN,IBCXMAX,BCXMAX,IBCYMIN,BCYMIN,
     > IBCYMAX,BCYMAX,ILINX,ILINY,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX
      INTEGER NY
      INTEGER NF2
      INTEGER IBCXMIN
      INTEGER IBCXMAX
      INTEGER IBCYMIN
      INTEGER IBCYMAX
      INTEGER ILINX
      INTEGER ILINY
      INTEGER IER
      REAL X(NX)
      REAL Y(NY)
      REAL F(4,NF2,NY)
      REAL BCXMIN(NY)
      REAL BCXMAX(NY)
      REAL BCYMIN(NX)
      REAL BCYMAX(NX)

      end subroutine MKBICUB
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  MKBICUBW
!
       INTERFACE MKBICUBW

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  MKBICUBW ... for meaning of arguments see the documentation

      SUBROUTINE    MKBICUBW(
     > X,NX,Y,NY,F,NF2,IBCXMIN,BCXMIN,IBCXMAX,BCXMAX,IBCYMIN,BCYMIN,
     > IBCYMAX,BCYMAX,WK,NWK,ILINX,ILINY,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX
      INTEGER NY
      INTEGER NF2
      INTEGER IBCXMIN
      INTEGER IBCXMAX
      INTEGER IBCYMIN
      INTEGER IBCYMAX
      INTEGER NWK
      INTEGER ILINX
      INTEGER ILINY
      INTEGER IER
      REAL X(NX)
      REAL Y(NY)
      REAL F(4,NF2,NY)
      REAL BCXMIN(NY)
      REAL BCXMAX(NY)
      REAL BCYMIN(NX)
      REAL BCYMAX(NX)
      REAL WK(NWK)

      end subroutine MKBICUBW
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  MKBICOP
!
       INTERFACE MKBICOP

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  MKBICOP ... for meaning of arguments see the documentation

      SUBROUTINE    MKBICOP(
     > FIN,NF2,FWK,NX,NY)

      IMPLICIT NONE

! argument declarations
      INTEGER NF2
      INTEGER NX
      INTEGER NY
      REAL FIN(4,NF2,NY)
      REAL FWK(4,4,NX,NY)

      end subroutine MKBICOP
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  MKBICON
!
       INTERFACE MKBICON

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  MKBICON ... for meaning of arguments see the documentation

      SUBROUTINE    MKBICON(
     > FIN,NF2,FWK,NX,NY,HXLAST,HYLAST)

      IMPLICIT NONE

! argument declarations
      INTEGER NF2
      INTEGER NX
      INTEGER NY
      REAL HXLAST
      REAL HYLAST
      REAL FIN(4,NF2,NY)
      REAL FWK(4,4,NX,NY)

      end subroutine MKBICON
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  MKHERM1
!
       INTERFACE MKHERM1

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  MKHERM1 ... for meaning of arguments see the documentation

      SUBROUTINE    MKHERM1(
     > FUN,X,NX,FHERM)

      IMPLICIT NONE

! argument declarations
      EXTERNAL FUN
      INTEGER NX
      REAL X(NX)
      REAL FHERM(0:1,NX)

      end subroutine MKHERM1
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  MKHERM2
!
       INTERFACE MKHERM2

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  MKHERM2 ... for meaning of arguments see the documentation

      SUBROUTINE    MKHERM2(
     > FUN,X,NX,Y,NY,FHERM)

      IMPLICIT NONE

! argument declarations
      EXTERNAL FUN
      INTEGER NX
      INTEGER NY
      REAL X(NX)
      REAL Y(NY)
      REAL FHERM(0:3,NX,NY)

      end subroutine MKHERM2
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  MKHERM3
!
       INTERFACE MKHERM3

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  MKHERM3 ... for meaning of arguments see the documentation

      SUBROUTINE    MKHERM3(
     > FUN,X,NX,Y,NY,Z,NZ,FHERM)

      IMPLICIT NONE

! argument declarations
      EXTERNAL FUN
      INTEGER NX
      INTEGER NY
      INTEGER NZ
      REAL X(NX)
      REAL Y(NY)
      REAL Z(NZ)
      REAL FHERM(0:7,NX,NY,NZ)

      end subroutine MKHERM3
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  MKINTRP2D
!
       INTERFACE MKINTRP2D

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  MKINTRP2D ... for meaning of arguments see the documentation

      SUBROUTINE    MKINTRP2D(
     > X,NX,Y,NY,JSPLINE,F,ICOEFF,IXDIM,IYDIM,IBCXMIN,BCXMIN,IBCXMAX,
     > BCXMAX,IBCYMIN,BCYMIN,IBCYMAX,BCYMAX,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX
      INTEGER NY
      INTEGER ICOEFF
      INTEGER IXDIM
      INTEGER IYDIM
      INTEGER IBCXMIN
      INTEGER IBCXMAX
      INTEGER IBCYMIN
      INTEGER IBCYMAX
      INTEGER IER
      REAL X(NX)
      REAL Y(NY)
      INTEGER JSPLINE(2)
      REAL F(ICOEFF,IXDIM,IYDIM)
      REAL BCXMIN(IYDIM)
      REAL BCXMAX(IYDIM)
      REAL BCYMIN(IXDIM)
      REAL BCYMAX(IXDIM)

      end subroutine MKINTRP2D
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  MKINTRP3D
!
       INTERFACE MKINTRP3D

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  MKINTRP3D ... for meaning of arguments see the documentation

      SUBROUTINE    MKINTRP3D(
     > X,NX,Y,NY,Z,NZ,JSPLINE,F,ICOEFF,IXDIM,IYDIM,IZDIM,IBCXMIN,BCXMIN,
     > IBCXMAX,BCXMAX,IBCYMIN,BCYMIN,IBCYMAX,BCYMAX,IBCZMIN,BCZMIN,
     > IBCZMAX,BCZMAX,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX
      INTEGER NY
      INTEGER NZ
      INTEGER ICOEFF
      INTEGER IXDIM
      INTEGER IYDIM
      INTEGER IZDIM
      INTEGER IBCXMIN
      INTEGER IBCXMAX
      INTEGER IBCYMIN
      INTEGER IBCYMAX
      INTEGER IBCZMIN
      INTEGER IBCZMAX
      INTEGER IER
      REAL X(NX)
      REAL Y(NY)
      REAL Z(NZ)
      INTEGER JSPLINE(3)
      REAL F(ICOEFF,IXDIM,IYDIM,IZDIM)
      REAL BCXMIN(IYDIM,IZDIM)
      REAL BCXMAX(IYDIM,IZDIM)
      REAL BCYMIN(IXDIM,IZDIM)
      REAL BCYMAX(IXDIM,IZDIM)
      REAL BCZMIN(IXDIM,IYDIM)
      REAL BCZMAX(IXDIM,IYDIM)

      end subroutine MKINTRP3D
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  MKSPL2PB
!
       INTERFACE MKSPL2PB

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  MKSPL2PB ... for meaning of arguments see the documentation

      SUBROUTINE    MKSPL2PB(
     > FUN,X,NX,TH,NTH,FSPL,NF3,IBCXMIN,BCXMIN,IBCXMAX,BCXMAX,WK,INWK,
     > ILINX,ILINTH,IER)

      IMPLICIT NONE

! argument declarations
      EXTERNAL FUN
      INTEGER NX
      INTEGER NTH
      INTEGER NF3
      INTEGER IBCXMIN
      INTEGER IBCXMAX
      INTEGER INWK
      INTEGER ILINX
      INTEGER ILINTH
      INTEGER IER
      REAL X(NX)
      REAL TH(NTH)
      REAL FSPL(4,4,NF3,NTH)
      REAL BCXMIN(NTH)
      REAL BCXMAX(NTH)
      REAL WK(INWK)

      end subroutine MKSPL2PB
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  MKSPL2P
!
       INTERFACE MKSPL2P

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  MKSPL2P ... for meaning of arguments see the documentation

      SUBROUTINE    MKSPL2P(
     > FUN,X,NX,TH,NTH,FSPL,NF3,WK,INWK,ILINX,ILINTH,IER)

      IMPLICIT NONE

! argument declarations
      EXTERNAL FUN
      INTEGER NX
      INTEGER NTH
      INTEGER NF3
      INTEGER INWK
      INTEGER ILINX
      INTEGER ILINTH
      INTEGER IER
      REAL X(NX)
      REAL TH(NTH)
      REAL FSPL(4,4,NF3,NTH)
      REAL WK(INWK)

      end subroutine MKSPL2P
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  MKSPL2ZB
!
       INTERFACE MKSPL2ZB

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  MKSPL2ZB ... for meaning of arguments see the documentation

      SUBROUTINE    MKSPL2ZB(
     > FUN,X,NX,TH,NTH,FSPL,NF2,IBCXMIN,BCXMIN,IBCXMAX,BCXMAX,WK,INWK,
     > ILINX,ILINTH,IER)

      IMPLICIT NONE

! argument declarations
      EXTERNAL FUN
      INTEGER NX
      INTEGER NTH
      INTEGER NF2
      INTEGER IBCXMIN
      INTEGER IBCXMAX
      INTEGER INWK
      INTEGER ILINX
      INTEGER ILINTH
      INTEGER IER
      REAL X(NX)
      REAL TH(NTH)
      REAL FSPL(4,NF2,NTH)
      REAL BCXMIN(NTH)
      REAL BCXMAX(NTH)
      REAL WK(INWK)

      end subroutine MKSPL2ZB
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  MKSPL2Z
!
       INTERFACE MKSPL2Z

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  MKSPL2Z ... for meaning of arguments see the documentation

      SUBROUTINE    MKSPL2Z(
     > FUN,X,NX,TH,NTH,FSPL,NF2,WK,INWK,ILINX,ILINTH,IER)

      IMPLICIT NONE

! argument declarations
      EXTERNAL FUN
      INTEGER NX
      INTEGER NTH
      INTEGER NF2
      INTEGER INWK
      INTEGER ILINX
      INTEGER ILINTH
      INTEGER IER
      REAL X(NX)
      REAL TH(NTH)
      REAL FSPL(4,NF2,NTH)
      REAL WK(INWK)

      end subroutine MKSPL2Z
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  MKSPL3PB
!
       INTERFACE MKSPL3PB

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  MKSPL3PB ... for meaning of arguments see the documentation

      SUBROUTINE    MKSPL3PB(
     > FUN,X,NX,TH,NTH,PH,NPH,FSPL,NF4,NF5,IBCXMIN,BCXMIN,IBCXMAX,
     > BCXMAX,NB1,WK,INWK,ILINX,ILINTH,ILINPH,IER)

      IMPLICIT NONE

! argument declarations
      EXTERNAL FUN
      INTEGER NX
      INTEGER NTH
      INTEGER NPH
      INTEGER NF4
      INTEGER NF5
      INTEGER IBCXMIN
      INTEGER IBCXMAX
      INTEGER NB1
      INTEGER INWK
      INTEGER ILINX
      INTEGER ILINTH
      INTEGER ILINPH
      INTEGER IER
      REAL X(NX)
      REAL TH(NTH)
      REAL PH(NPH)
      REAL FSPL(4,4,4,NF4,NF5,NPH)
      REAL BCXMIN(NB1,NPH)
      REAL BCXMAX(NB1,NPH)
      REAL WK(INWK)

      end subroutine MKSPL3PB
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  MKSPL3ZB
!
       INTERFACE MKSPL3ZB

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  MKSPL3ZB ... for meaning of arguments see the documentation

      SUBROUTINE    MKSPL3ZB(
     > FUN,X,NX,TH,NTH,PH,NPH,FSPL,NF2,NF3,IBCXMIN,BCXMIN,IBCXMAX,
     > BCXMAX,NB1,WK,INWK,ILINX,ILINTH,ILINPH,IER)

      IMPLICIT NONE

! argument declarations
      EXTERNAL FUN
      INTEGER NX
      INTEGER NTH
      INTEGER NPH
      INTEGER NF2
      INTEGER NF3
      INTEGER IBCXMIN
      INTEGER IBCXMAX
      INTEGER NB1
      INTEGER INWK
      INTEGER ILINX
      INTEGER ILINTH
      INTEGER ILINPH
      INTEGER IER
      REAL X(NX)
      REAL TH(NTH)
      REAL PH(NPH)
      REAL FSPL(8,NF2,NF3,NPH)
      REAL BCXMIN(NB1,NPH)
      REAL BCXMAX(NB1,NPH)
      REAL WK(INWK)

      end subroutine MKSPL3ZB
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  MKSPLINE
!
       INTERFACE MKSPLINE

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  MKSPLINE ... for meaning of arguments see the documentation

      SUBROUTINE    MKSPLINE(
     > X,NX,FSPL,IBCXMIN,BCXMIN,IBCXMAX,BCXMAX,ILINX,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX
      INTEGER IBCXMIN
      REAL BCXMIN
      INTEGER IBCXMAX
      REAL BCXMAX
      INTEGER ILINX
      INTEGER IER
      REAL X(NX)
      REAL FSPL(2,NX)

      end subroutine MKSPLINE
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  MKTRICUB
!
       INTERFACE MKTRICUB

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  MKTRICUB ... for meaning of arguments see the documentation

      SUBROUTINE    MKTRICUB(
     > X,NX,Y,NY,Z,NZ,F,NF2,NF3,IBCXMIN,BCXMIN,IBCXMAX,BCXMAX,INB1X,
     > IBCYMIN,BCYMIN,IBCYMAX,BCYMAX,INB1Y,IBCZMIN,BCZMIN,IBCZMAX,
     > BCZMAX,INB1Z,ILINX,ILINY,ILINZ,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX
      INTEGER NY
      INTEGER NZ
      INTEGER NF2
      INTEGER NF3
      INTEGER IBCXMIN
      INTEGER IBCXMAX
      INTEGER INB1X
      INTEGER IBCYMIN
      INTEGER IBCYMAX
      INTEGER INB1Y
      INTEGER IBCZMIN
      INTEGER IBCZMAX
      INTEGER INB1Z
      INTEGER ILINX
      INTEGER ILINY
      INTEGER ILINZ
      INTEGER IER
      REAL X(NX)
      REAL Y(NY)
      REAL Z(NZ)
      REAL F(8,NF2,NF3,NZ)
      REAL BCXMIN(INB1X,NZ)
      REAL BCXMAX(INB1X,NZ)
      REAL BCYMIN(INB1Y,NZ)
      REAL BCYMAX(INB1Y,NZ)
      REAL BCZMIN(INB1Z,NY)
      REAL BCZMAX(INB1Z,NY)

      end subroutine MKTRICUB
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  MKTRICUBW
!
       INTERFACE MKTRICUBW

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  MKTRICUBW ... for meaning of arguments see the documentation

      SUBROUTINE    MKTRICUBW(
     > X,NX,Y,NY,Z,NZ,F,NF2,NF3,IBCXMIN,BCXMIN,IBCXMAX,BCXMAX,INB1X,
     > IBCYMIN,BCYMIN,IBCYMAX,BCYMAX,INB1Y,IBCZMIN,BCZMIN,IBCZMAX,
     > BCZMAX,INB1Z,WK,NWK,ILINX,ILINY,ILINZ,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX
      INTEGER NY
      INTEGER NZ
      INTEGER NF2
      INTEGER NF3
      INTEGER IBCXMIN
      INTEGER IBCXMAX
      INTEGER INB1X
      INTEGER IBCYMIN
      INTEGER IBCYMAX
      INTEGER INB1Y
      INTEGER IBCZMIN
      INTEGER IBCZMAX
      INTEGER INB1Z
      INTEGER NWK
      INTEGER ILINX
      INTEGER ILINY
      INTEGER ILINZ
      INTEGER IER
      REAL X(NX)
      REAL Y(NY)
      REAL Z(NZ)
      REAL F(8,NF2,NF3,NZ)
      REAL BCXMIN(INB1X,NZ)
      REAL BCXMAX(INB1X,NZ)
      REAL BCYMIN(INB1Y,NZ)
      REAL BCYMAX(INB1Y,NZ)
      REAL BCZMIN(INB1Z,NY)
      REAL BCZMAX(INB1Z,NY)
      REAL WK(NWK)

      end subroutine MKTRICUBW
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  MKTRICOP
!
       INTERFACE MKTRICOP

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  MKTRICOP ... for meaning of arguments see the documentation

      SUBROUTINE    MKTRICOP(
     > FIN,NF2,NF3,FWK,NX,NY,NZ)

      IMPLICIT NONE

! argument declarations
      INTEGER NF2
      INTEGER NF3
      INTEGER NX
      INTEGER NY
      INTEGER NZ
      REAL FIN(8,NF2,NF3,NZ)
      REAL FWK(4,4,4,NX,NY,NZ)

      end subroutine MKTRICOP
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  MKTRICON
!
       INTERFACE MKTRICON

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  MKTRICON ... for meaning of arguments see the documentation

      SUBROUTINE    MKTRICON(
     > FIN,NF2,NF3,FWK,NX,NY,NZ,HXLAST,HYLAST,HZLAST)

      IMPLICIT NONE

! argument declarations
      INTEGER NF2
      INTEGER NF3
      INTEGER NX
      INTEGER NY
      INTEGER NZ
      REAL HXLAST
      REAL HYLAST
      REAL HZLAST
      REAL FIN(8,NF2,NF3,NZ)
      REAL FWK(4,4,4,NX,NY,NZ)

      end subroutine MKTRICON
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  NSPLINE
!
       INTERFACE NSPLINE

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  NSPLINE ... for meaning of arguments see the documentation

      SUBROUTINE    NSPLINE(
     > N,X,Y,B,C,D)

      IMPLICIT NONE

! argument declarations
      INTEGER N
      REAL X(N)
      REAL Y(N)
      REAL B(N)
      REAL C(N)
      REAL D(N)

      end subroutine NSPLINE
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  PC1EV
!
       INTERFACE PC1EV

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  PC1EV ... for meaning of arguments see the documentation

      SUBROUTINE    PC1EV(
     > XGET,X,NX,ILINX,F,ICT,FVAL,IER)

      IMPLICIT NONE

! argument declarations
      REAL XGET
      INTEGER NX
      INTEGER ILINX
      INTEGER IER
      REAL X(NX)
      REAL F(NX)
      INTEGER ICT(2)
      REAL FVAL(*)

      end subroutine PC1EV
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  PC1FCN
!
       INTERFACE PC1FCN

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  PC1FCN ... for meaning of arguments see the documentation

      SUBROUTINE    PC1FCN(
     > ICT,IVEC,IVECD,FVAL,II,XPARAM,HX,HXI,FIN,NX)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVECD
      INTEGER NX
      INTEGER ICT(2)
      REAL FVAL(IVECD,*)
      INTEGER II(IVEC)
      REAL XPARAM(IVEC)
      REAL HX(IVEC)
      REAL HXI(IVEC)
      REAL FIN(NX)

      end subroutine PC1FCN
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  PC2EV
!
       INTERFACE PC2EV

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  PC2EV ... for meaning of arguments see the documentation

      SUBROUTINE    PC2EV(
     > XGET,YGET,X,NX,Y,NY,ILINX,ILINY,F,INF2,ICT,FVAL,IER)

      IMPLICIT NONE

! argument declarations
      REAL XGET
      REAL YGET
      INTEGER NX
      INTEGER NY
      INTEGER ILINX
      INTEGER ILINY
      INTEGER INF2
      INTEGER IER
      REAL X(NX)
      REAL Y(NY)
      REAL F(INF2,NY)
      INTEGER ICT(4)
      REAL FVAL(*)

      end subroutine PC2EV
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  PC2FCN
!
       INTERFACE PC2FCN

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  PC2FCN ... for meaning of arguments see the documentation

      SUBROUTINE    PC2FCN(
     > ICT,IVEC,IVECD,FVAL,II,JJ,XPARAM,YPARAM,HX,HXI,HY,HYI,FIN,INF2,
     > NY)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVECD
      INTEGER INF2
      INTEGER NY
      INTEGER ICT(4)
      REAL FVAL(IVECD,*)
      INTEGER II(IVEC)
      INTEGER JJ(IVEC)
      REAL XPARAM(IVEC)
      REAL YPARAM(IVEC)
      REAL HX(IVEC)
      REAL HXI(IVEC)
      REAL HY(IVEC)
      REAL HYI(IVEC)
      REAL FIN(INF2,NY)

      end subroutine PC2FCN
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  PC2FCNX
!
       INTERFACE PC2FCNX

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  PC2FCNX ... for meaning of arguments see the documentation

      SUBROUTINE    PC2FCNX(
     > ICT,IVEC,IVECD,FVAL,II,JJ,XPARAM,YPARAM,HX,HXI,HY,HYI,FIN,INF2,
     > NY)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVECD
      INTEGER JJ
      REAL YPARAM
      REAL HY
      REAL HYI
      INTEGER INF2
      INTEGER NY
      INTEGER ICT(4)
      REAL FVAL(IVECD,*)
      INTEGER II(IVEC)
      REAL XPARAM(IVEC)
      REAL HX(IVEC)
      REAL HXI(IVEC)
      REAL FIN(INF2,NY)

      end subroutine PC2FCNX
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  PC3EV
!
       INTERFACE PC3EV

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  PC3EV ... for meaning of arguments see the documentation

      SUBROUTINE    PC3EV(
     > XGET,YGET,ZGET,X,NX,Y,NY,Z,NZ,ILINX,ILINY,ILINZ,F,INF2,INF3,ICT,
     > FVAL,IER)

      IMPLICIT NONE

! argument declarations
      REAL XGET
      REAL YGET
      REAL ZGET
      INTEGER NX
      INTEGER NY
      INTEGER NZ
      INTEGER ILINX
      INTEGER ILINY
      INTEGER ILINZ
      INTEGER INF2
      INTEGER INF3
      INTEGER IER
      REAL X(NX)
      REAL Y(NY)
      REAL Z(NZ)
      REAL F(INF2,INF3,NZ)
      INTEGER ICT(8)
      REAL FVAL(*)

      end subroutine PC3EV
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  PC3FCN
!
       INTERFACE PC3FCN

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  PC3FCN ... for meaning of arguments see the documentation

      SUBROUTINE    PC3FCN(
     > ICT,IVEC,IVECD,FVAL,II,JJ,KK,XPARAM,YPARAM,ZPARAM,HX,HXI,HY,HYI,
     > HZ,HZI,FIN,INF2,INF3,NZ)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVECD
      INTEGER INF2
      INTEGER INF3
      INTEGER NZ
      INTEGER ICT(8)
      REAL FVAL(IVECD,*)
      INTEGER II(IVEC)
      INTEGER JJ(IVEC)
      INTEGER KK(IVEC)
      REAL XPARAM(IVEC)
      REAL YPARAM(IVEC)
      REAL ZPARAM(IVEC)
      REAL HX(IVEC)
      REAL HXI(IVEC)
      REAL HY(IVEC)
      REAL HYI(IVEC)
      REAL HZ(IVEC)
      REAL HZI(IVEC)
      REAL FIN(INF2,INF3,NZ)

      end subroutine PC3FCN
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  PC3FCNX
!
       INTERFACE PC3FCNX

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  PC3FCNX ... for meaning of arguments see the documentation

      SUBROUTINE    PC3FCNX(
     > ICT,IVEC,IVECD,FVAL,II,JJ,KK,XPARAM,YPARAM,ZPARAM,HX,HXI,HY,HYI,
     > HZ,HZI,FIN,INF2,INF3,NZ)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVECD
      INTEGER JJ
      INTEGER KK
      REAL YPARAM
      REAL ZPARAM
      REAL HY
      REAL HYI
      REAL HZ
      REAL HZI
      INTEGER INF2
      INTEGER INF3
      INTEGER NZ
      INTEGER ICT(8)
      REAL FVAL(IVECD,*)
      INTEGER II(IVEC)
      REAL XPARAM(IVEC)
      REAL HX(IVEC)
      REAL HXI(IVEC)
      REAL FIN(INF2,INF3,NZ)

      end subroutine PC3FCNX
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  PSPLINE
!
       INTERFACE PSPLINE

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  PSPLINE ... for meaning of arguments see the documentation

      SUBROUTINE    PSPLINE(
     > N,X,Y,B,C,D,WK)

      IMPLICIT NONE

! argument declarations
      INTEGER N
      REAL X(N)
      REAL Y(N)
      REAL B(N)
      REAL C(N)
      REAL D(N)
      REAL WK(N)

      end subroutine PSPLINE
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8AKHERM1
!
       INTERFACE R8AKHERM1

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8AKHERM1 ... for meaning of arguments see the documentation

      SUBROUTINE    R8AKHERM1(
     > X,NX,FHERM,ILINX,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX
      INTEGER ILINX
      INTEGER IER
      REAL*8 X(NX)
      REAL*8 FHERM(0:1,NX)

      end subroutine R8AKHERM1
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  R8AKHERM1P
!
       INTERFACE R8AKHERM1P

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8AKHERM1P ... for meaning of arguments see the documentation

      SUBROUTINE    R8AKHERM1P(
     > X,NX,FHERM,ILINX,IPX,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX
      INTEGER ILINX
      INTEGER IPX
      INTEGER IER
      REAL*8 X(NX)
      REAL*8 FHERM(0:1,NX)

      end subroutine R8AKHERM1P
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  R8AKHERM0
!
       INTERFACE R8AKHERM0

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8AKHERM0 ... for meaning of arguments see the documentation

      SUBROUTINE    R8AKHERM0(
     > CXMM,CXM,CXP,CXPP,WX,RESULT)

      IMPLICIT NONE

! argument declarations
      REAL*8 CXMM
      REAL*8 CXM
      REAL*8 CXP
      REAL*8 CXPP
      REAL*8 RESULT
      REAL*8 WX(2)

      end subroutine R8AKHERM0
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8AKHERM2
!
       INTERFACE R8AKHERM2

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8AKHERM2 ... for meaning of arguments see the documentation

      SUBROUTINE    R8AKHERM2(
     > X,NX,Y,NY,FHERM,NF2,ILINX,ILINY,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX
      INTEGER NY
      INTEGER NF2
      INTEGER ILINX
      INTEGER ILINY
      INTEGER IER
      REAL*8 X(NX)
      REAL*8 Y(NY)
      REAL*8 FHERM(0:3,NF2,NY)

      end subroutine R8AKHERM2
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  R8AKHERM2P
!
       INTERFACE R8AKHERM2P

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8AKHERM2P ... for meaning of arguments see the documentation

      SUBROUTINE    R8AKHERM2P(
     > X,NX,Y,NY,FHERM,NF2,ILINX,ILINY,IPX,IPY,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX
      INTEGER NY
      INTEGER NF2
      INTEGER ILINX
      INTEGER ILINY
      INTEGER IPX
      INTEGER IPY
      INTEGER IER
      REAL*8 X(NX)
      REAL*8 Y(NY)
      REAL*8 FHERM(0:3,NF2,NY)

      end subroutine R8AKHERM2P
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8AKHERM3
!
       INTERFACE R8AKHERM3

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8AKHERM3 ... for meaning of arguments see the documentation

      SUBROUTINE    R8AKHERM3(
     > X,NX,Y,NY,Z,NZ,FHERM,NF2,NF3,ILINX,ILINY,ILINZ,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX
      INTEGER NY
      INTEGER NZ
      INTEGER NF2
      INTEGER NF3
      INTEGER ILINX
      INTEGER ILINY
      INTEGER ILINZ
      INTEGER IER
      REAL*8 X(NX)
      REAL*8 Y(NY)
      REAL*8 Z(NZ)
      REAL*8 FHERM(0:7,NF2,NF3,NZ)

      end subroutine R8AKHERM3
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  R8AKHERM3P
!
       INTERFACE R8AKHERM3P

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8AKHERM3P ... for meaning of arguments see the documentation

      SUBROUTINE    R8AKHERM3P(
     > X,NX,Y,NY,Z,NZ,FHERM,NF2,NF3,ILINX,ILINY,ILINZ,IPX,IPY,IPZ,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX
      INTEGER NY
      INTEGER NZ
      INTEGER NF2
      INTEGER NF3
      INTEGER ILINX
      INTEGER ILINY
      INTEGER ILINZ
      INTEGER IPX
      INTEGER IPY
      INTEGER IPZ
      INTEGER IER
      REAL*8 X(NX)
      REAL*8 Y(NY)
      REAL*8 Z(NZ)
      REAL*8 FHERM(0:7,NF2,NF3,NZ)

      end subroutine R8AKHERM3P
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8BCSPEVAL
!
       INTERFACE R8BCSPEVAL

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8BCSPEVAL ... for meaning of arguments see the documentation

      SUBROUTINE    R8BCSPEVAL(
     > XGET,YGET,ISELECT,FVAL,X,NX,Y,NY,ILINX,ILINY,F,INF3,IER)

      IMPLICIT NONE

! argument declarations
      REAL*8 XGET
      REAL*8 YGET
      INTEGER NX
      INTEGER NY
      INTEGER ILINX
      INTEGER ILINY
      INTEGER INF3
      INTEGER IER
      INTEGER ISELECT(6)
      REAL*8 FVAL(*)
      REAL*8 X(NX)
      REAL*8 Y(NY)
      REAL*8 F(4,4,INF3,NY)

      end subroutine R8BCSPEVAL
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  R8BCSPEVXY
!
       INTERFACE R8BCSPEVXY

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8BCSPEVXY ... for meaning of arguments see the documentation

      SUBROUTINE    R8BCSPEVXY(
     > XGET,YGET,X,NX,Y,NY,ILINX,ILINY,I,J,DX,DY,IER)

      IMPLICIT NONE

! argument declarations
      REAL*8 XGET
      REAL*8 YGET
      INTEGER NX
      INTEGER NY
      INTEGER ILINX
      INTEGER ILINY
      INTEGER I
      INTEGER J
      REAL*8 DX
      REAL*8 DY
      INTEGER IER
      REAL*8 X(NX)
      REAL*8 Y(NY)

      end subroutine R8BCSPEVXY
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  R8BCSPEVFN
!
       INTERFACE R8BCSPEVFN

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8BCSPEVFN ... for meaning of arguments see the documentation

      SUBROUTINE    R8BCSPEVFN(
     > ICT,IVEC,IVD,FVAL,IV,JV,DXV,DYV,F,INF3,NY)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVD
      INTEGER INF3
      INTEGER NY
      INTEGER ICT(6)
      REAL*8 FVAL(IVD,*)
      INTEGER IV(IVEC)
      INTEGER JV(IVEC)
      REAL*8 DXV(IVEC)
      REAL*8 DYV(IVEC)
      REAL*8 F(4,4,INF3,NY)

      end subroutine R8BCSPEVFN
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8BCSPGRID
!
       INTERFACE R8BCSPGRID

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8BCSPGRID ... for meaning of arguments see the documentation

      SUBROUTINE    R8BCSPGRID(
     > X_NEWGRID,NX_NEW,Y_NEWGRID,NY_NEW,F_NEW,IF1,NX,XPKG,NY,YPKG,FSPL,
     > INF3,IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX_NEW
      INTEGER NY_NEW
      INTEGER IF1
      INTEGER NX
      INTEGER NY
      INTEGER INF3
      INTEGER IWARN
      INTEGER IER
      REAL*8 X_NEWGRID(NX_NEW)
      REAL*8 Y_NEWGRID(NY_NEW)
      REAL*8 F_NEW(IF1,NY_NEW)
      REAL*8 XPKG(NX,4)
      REAL*8 YPKG(NY,4)
      REAL*8 FSPL(4,4,INF3,NY)

      end subroutine R8BCSPGRID
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8BCSPLINE
!
       INTERFACE R8BCSPLINE

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8BCSPLINE ... for meaning of arguments see the documentation

      SUBROUTINE    R8BCSPLINE(
     > X,INX,TH,INTH,FSPL,INF3,IBCXMIN,BCXMIN,IBCXMAX,BCXMAX,IBCTHMIN,
     > BCTHMIN,IBCTHMAX,BCTHMAX,WK,NWK,ILINX,ILINTH,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER INX
      INTEGER INTH
      INTEGER INF3
      INTEGER IBCXMIN
      INTEGER IBCXMAX
      INTEGER IBCTHMIN
      INTEGER IBCTHMAX
      INTEGER NWK
      INTEGER ILINX
      INTEGER ILINTH
      INTEGER IER
      REAL*8 X(INX)
      REAL*8 TH(INTH)
      REAL*8 FSPL(4,4,INF3,INTH)
      REAL*8 BCXMIN(*)
      REAL*8 BCXMAX(*)
      REAL*8 BCTHMIN(*)
      REAL*8 BCTHMAX(*)
      REAL*8 WK(NWK)

      end subroutine R8BCSPLINE
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8BCSPVEC
!
       INTERFACE R8BCSPVEC

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8BCSPVEC ... for meaning of arguments see the documentation

      SUBROUTINE    R8BCSPVEC(
     > ICT,IVEC,XVEC,YVEC,IVD,FVAL,NX,XPKG,NY,YPKG,FSPL,INF3,IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVD
      INTEGER NX
      INTEGER NY
      INTEGER INF3
      INTEGER IWARN
      INTEGER IER
      INTEGER ICT(6)
      REAL*8 XVEC(IVEC)
      REAL*8 YVEC(IVEC)
      REAL*8 FVAL(IVD,*)
      REAL*8 XPKG(NX,4)
      REAL*8 YPKG(NY,4)
      REAL*8 FSPL(4,4,INF3,NY)

      end subroutine R8BCSPVEC
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8BPSPLINB
!
       INTERFACE R8BPSPLINB

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8BPSPLINB ... for meaning of arguments see the documentation

      SUBROUTINE    R8BPSPLINB(
     > X,INX,TH,INTH,FSPL,INF3,IBCXMIN,BCXMIN,IBCXMAX,BCXMAX,WK,NWK,
     > ILINX,ILINTH,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER INX
      INTEGER INTH
      INTEGER INF3
      INTEGER IBCXMIN
      INTEGER IBCXMAX
      INTEGER NWK
      INTEGER ILINX
      INTEGER ILINTH
      INTEGER IER
      REAL*8 X(INX)
      REAL*8 TH(INTH)
      REAL*8 FSPL(4,4,INF3,INTH)
      REAL*8 BCXMIN(INTH)
      REAL*8 BCXMAX(INTH)
      REAL*8 WK(NWK)

      end subroutine R8BPSPLINB
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8BPSPLINE
!
       INTERFACE R8BPSPLINE

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8BPSPLINE ... for meaning of arguments see the documentation

      SUBROUTINE    R8BPSPLINE(
     > X,INX,TH,INTH,FSPL,INF3,WK,NWK,ILINX,ILINTH,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER INX
      INTEGER INTH
      INTEGER INF3
      INTEGER NWK
      INTEGER ILINX
      INTEGER ILINTH
      INTEGER IER
      REAL*8 X(INX)
      REAL*8 TH(INTH)
      REAL*8 FSPL(4,4,INF3,INTH)
      REAL*8 WK(NWK)

      end subroutine R8BPSPLINE
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8CSPEVAL
!
       INTERFACE R8CSPEVAL

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8CSPEVAL ... for meaning of arguments see the documentation

      SUBROUTINE    R8CSPEVAL(
     > XGET,ISELECT,FVAL,X,NX,ILINX,F,IER)

      IMPLICIT NONE

! argument declarations
      REAL*8 XGET
      INTEGER NX
      INTEGER ILINX
      INTEGER IER
      INTEGER ISELECT(3)
      REAL*8 FVAL(3)
      REAL*8 X(NX)
      REAL*8 F(4,NX)

      end subroutine R8CSPEVAL
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  R8CSPEVX
!
       INTERFACE R8CSPEVX

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8CSPEVX ... for meaning of arguments see the documentation

      SUBROUTINE    R8CSPEVX(
     > XGET,X,NX,ILINX,I,DX,IER)

      IMPLICIT NONE

! argument declarations
      REAL*8 XGET
      INTEGER NX
      INTEGER ILINX
      INTEGER I
      REAL*8 DX
      INTEGER IER
      REAL*8 X(NX)

      end subroutine R8CSPEVX
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  R8CSPEVFN
!
       INTERFACE R8CSPEVFN

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8CSPEVFN ... for meaning of arguments see the documentation

      SUBROUTINE    R8CSPEVFN(
     > ICT,IVEC,IVD,FVAL,IV,DXV,F,NX)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVD
      INTEGER NX
      INTEGER ICT(3)
      REAL*8 FVAL(IVD,*)
      INTEGER IV(IVEC)
      REAL*8 DXV(IVEC)
      REAL*8 F(4,NX)

      end subroutine R8CSPEVFN
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8CSPLINE
!
       INTERFACE R8CSPLINE

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8CSPLINE ... for meaning of arguments see the documentation

      SUBROUTINE    R8CSPLINE(
     > X,NX,FSPL,IBCXMIN,BCXMIN,IBCXMAX,BCXMAX,WK,IWK,ILINX,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX
      INTEGER IBCXMIN
      REAL*8 BCXMIN
      INTEGER IBCXMAX
      REAL*8 BCXMAX
      INTEGER IWK
      INTEGER ILINX
      INTEGER IER
      REAL*8 X(NX)
      REAL*8 FSPL(4,NX)
      REAL*8 WK(IWK)

      end subroutine R8CSPLINE
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8CUBSPLB
!
       INTERFACE R8CUBSPLB

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8CUBSPLB ... for meaning of arguments see the documentation

      SUBROUTINE    R8CUBSPLB(
     > TAU,C,N,IBCBEG,IBCEND)

      IMPLICIT NONE

! argument declarations
      INTEGER N
      INTEGER IBCBEG
      INTEGER IBCEND
      REAL*8 TAU(N)
      REAL*8 C(4,N)

      end subroutine R8CUBSPLB
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8DNHERM1
!
       INTERFACE R8DNHERM1

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8DNHERM1 ... for meaning of arguments see the documentation

      SUBROUTINE    R8DNHERM1(
     > X,NX,FHERM,ILINX,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX
      INTEGER ILINX
      INTEGER IER
      REAL*8 X(NX)
      REAL*8 FHERM(0:1,NX)

      end subroutine R8DNHERM1
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8DNHERM2
!
       INTERFACE R8DNHERM2

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8DNHERM2 ... for meaning of arguments see the documentation

      SUBROUTINE    R8DNHERM2(
     > X,NX,Y,NY,FHERM,NF2,ILINX,ILINY,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX
      INTEGER NY
      INTEGER NF2
      INTEGER ILINX
      INTEGER ILINY
      INTEGER IER
      REAL*8 X(NX)
      REAL*8 Y(NY)
      REAL*8 FHERM(0:3,NF2,NY)

      end subroutine R8DNHERM2
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8DNHERM3
!
       INTERFACE R8DNHERM3

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8DNHERM3 ... for meaning of arguments see the documentation

      SUBROUTINE    R8DNHERM3(
     > X,NX,Y,NY,Z,NZ,FHERM,NF2,NF3,ILINX,ILINY,ILINZ,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX
      INTEGER NY
      INTEGER NZ
      INTEGER NF2
      INTEGER NF3
      INTEGER ILINX
      INTEGER ILINY
      INTEGER ILINZ
      INTEGER IER
      REAL*8 X(NX)
      REAL*8 Y(NY)
      REAL*8 Z(NZ)
      REAL*8 FHERM(0:7,NF2,NF3,NZ)

      end subroutine R8DNHERM3
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8EVBICUB
!
       INTERFACE R8EVBICUB

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8EVBICUB ... for meaning of arguments see the documentation

      SUBROUTINE    R8EVBICUB(
     > XGET,YGET,X,NX,Y,NY,ILINX,ILINY,F,INF2,ICT,FVAL,IER)

      IMPLICIT NONE

! argument declarations
      REAL*8 XGET
      REAL*8 YGET
      INTEGER NX
      INTEGER NY
      INTEGER ILINX
      INTEGER ILINY
      INTEGER INF2
      INTEGER IER
      REAL*8 X(NX)
      REAL*8 Y(NY)
      REAL*8 F(0:3,INF2,NY)
      INTEGER ICT(6)
      REAL*8 FVAL(*)

      end subroutine R8EVBICUB
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  R8FVBICUB
!
       INTERFACE R8FVBICUB

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8FVBICUB ... for meaning of arguments see the documentation

      SUBROUTINE    R8FVBICUB(
     > ICT,IVEC,IVECD,FVAL,II,JJ,XPARAM,YPARAM,HX,HXI,HY,HYI,FIN,INF2,
     > NY)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVECD
      INTEGER INF2
      INTEGER NY
      INTEGER ICT(6)
      REAL*8 FVAL(IVECD,*)
      INTEGER II(IVEC)
      INTEGER JJ(IVEC)
      REAL*8 XPARAM(IVEC)
      REAL*8 YPARAM(IVEC)
      REAL*8 HX(IVEC)
      REAL*8 HXI(IVEC)
      REAL*8 HY(IVEC)
      REAL*8 HYI(IVEC)
      REAL*8 FIN(0:3,INF2,NY)

      end subroutine R8FVBICUB
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  R8FVBICUBX
!
       INTERFACE R8FVBICUBX

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8FVBICUBX ... for meaning of arguments see the documentation

      SUBROUTINE    R8FVBICUBX(
     > ICT,IVEC,IVECD,FVAL,II,JJ,XPARAM,YPARAM,HX,HXI,HY,HYI,FIN,INF2,
     > NY)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVECD
      INTEGER JJ
      REAL*8 YPARAM
      REAL*8 HY
      REAL*8 HYI
      INTEGER INF2
      INTEGER NY
      INTEGER ICT(6)
      REAL*8 FVAL(IVECD,*)
      INTEGER II(IVEC)
      REAL*8 XPARAM(IVEC)
      REAL*8 HX(IVEC)
      REAL*8 HXI(IVEC)
      REAL*8 FIN(0:3,INF2,NY)

      end subroutine R8FVBICUBX
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8EVINTRP2D
!
       INTERFACE R8EVINTRP2D

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8EVINTRP2D ... for meaning of arguments see the documentation

      SUBROUTINE    R8EVINTRP2D(
     > XGET,YGET,X,NX,Y,NY,JSPLINE,F,ICOEFF,IXDIM,IYDIM,ICT,FVAL,IER)

      IMPLICIT NONE

! argument declarations
      REAL*8 XGET
      REAL*8 YGET
      INTEGER NX
      INTEGER NY
      INTEGER ICOEFF
      INTEGER IXDIM
      INTEGER IYDIM
      INTEGER IER
      REAL*8 X(NX)
      REAL*8 Y(NY)
      INTEGER JSPLINE(2)
      REAL*8 F(ICOEFF,IXDIM,IYDIM)
      INTEGER ICT(6)
      REAL*8 FVAL(6)

      end subroutine R8EVINTRP2D
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  R8FVINTRP2D
!
       INTERFACE R8FVINTRP2D

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8FVINTRP2D ... for meaning of arguments see the documentation

      SUBROUTINE    R8FVINTRP2D(
     > ICT,IVEC,IVECD,FVAL,II,JJ,XPARAM,YPARAM,HX,HXI,HY,HYI,JSPLINE,
     > FIN,ICOEFF,IXDIM,IYDIM)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVECD
      INTEGER ICOEFF
      INTEGER IXDIM
      INTEGER IYDIM
      INTEGER ICT(6)
      REAL*8 FVAL(IVECD,6)
      INTEGER II(IVEC)
      INTEGER JJ(IVEC)
      REAL*8 XPARAM(IVEC)
      REAL*8 YPARAM(IVEC)
      REAL*8 HX(IVEC)
      REAL*8 HXI(IVEC)
      REAL*8 HY(IVEC)
      REAL*8 HYI(IVEC)
      INTEGER JSPLINE(2)
      REAL*8 FIN(ICOEFF,IXDIM,IYDIM)

      end subroutine R8FVINTRP2D
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8EVINTRP3D
!
       INTERFACE R8EVINTRP3D

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8EVINTRP3D ... for meaning of arguments see the documentation

      SUBROUTINE    R8EVINTRP3D(
     > XGET,YGET,ZGET,X,NX,Y,NY,Z,NZ,JSPLINE,F,ICOEFF,IXDIM,IYDIM,IZDIM,
     > ICT,FVAL,IER)

      IMPLICIT NONE

! argument declarations
      REAL*8 XGET
      REAL*8 YGET
      REAL*8 ZGET
      INTEGER NX
      INTEGER NY
      INTEGER NZ
      INTEGER ICOEFF
      INTEGER IXDIM
      INTEGER IYDIM
      INTEGER IZDIM
      INTEGER IER
      REAL*8 X(NX)
      REAL*8 Y(NY)
      REAL*8 Z(NZ)
      INTEGER JSPLINE(3)
      REAL*8 F(ICOEFF,IXDIM,IYDIM,IZDIM)
      INTEGER ICT(10)
      REAL*8 FVAL(10)

      end subroutine R8EVINTRP3D
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  R8FVINTRP3D
!
       INTERFACE R8FVINTRP3D

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8FVINTRP3D ... for meaning of arguments see the documentation

      SUBROUTINE    R8FVINTRP3D(
     > ICT,IVEC,IVECD,FVAL,II,JJ,KK,XPARAM,YPARAM,ZPARAM,HX,HXI,HY,HYI,
     > HZ,HZI,JSPLINE,FIN,ICOEFF,IXDIM,IYDIM,IZDIM)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVECD
      INTEGER ICOEFF
      INTEGER IXDIM
      INTEGER IYDIM
      INTEGER IZDIM
      INTEGER ICT(10)
      REAL*8 FVAL(IVECD,10)
      INTEGER II(IVEC)
      INTEGER JJ(IVEC)
      INTEGER KK(IVEC)
      REAL*8 XPARAM(IVEC)
      REAL*8 YPARAM(IVEC)
      REAL*8 ZPARAM(IVEC)
      REAL*8 HX(IVEC)
      REAL*8 HXI(IVEC)
      REAL*8 HY(IVEC)
      REAL*8 HYI(IVEC)
      REAL*8 HZ(IVEC)
      REAL*8 HZI(IVEC)
      INTEGER JSPLINE(3)
      REAL*8 FIN(ICOEFF,IXDIM,IYDIM,IZDIM)

      end subroutine R8FVINTRP3D
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8EVSPLINE
!
       INTERFACE R8EVSPLINE

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8EVSPLINE ... for meaning of arguments see the documentation

      SUBROUTINE    R8EVSPLINE(
     > XGET,X,NX,ILINX,F,ICT,FVAL,IER)

      IMPLICIT NONE

! argument declarations
      REAL*8 XGET
      INTEGER NX
      INTEGER ILINX
      INTEGER IER
      REAL*8 X(NX)
      REAL*8 F(0:1,NX)
      INTEGER ICT(3)
      REAL*8 FVAL(*)

      end subroutine R8EVSPLINE
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  R8FVSPLINE
!
       INTERFACE R8FVSPLINE

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8FVSPLINE ... for meaning of arguments see the documentation

      SUBROUTINE    R8FVSPLINE(
     > ICT,IVEC,IVECD,FVAL,II,XPARAM,HX,HXI,FIN,NX)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVECD
      INTEGER NX
      INTEGER ICT(3)
      REAL*8 FVAL(IVECD,*)
      INTEGER II(IVEC)
      REAL*8 XPARAM(IVEC)
      REAL*8 HX(IVEC)
      REAL*8 HXI(IVEC)
      REAL*8 FIN(0:1,NX)

      end subroutine R8FVSPLINE
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8EVTRICUB
!
       INTERFACE R8EVTRICUB

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8EVTRICUB ... for meaning of arguments see the documentation

      SUBROUTINE    R8EVTRICUB(
     > XGET,YGET,ZGET,X,NX,Y,NY,Z,NZ,ILINX,ILINY,ILINZ,F,INF2,INF3,ICT,
     > FVAL,IER)

      IMPLICIT NONE

! argument declarations
      REAL*8 XGET
      REAL*8 YGET
      REAL*8 ZGET
      INTEGER NX
      INTEGER NY
      INTEGER NZ
      INTEGER ILINX
      INTEGER ILINY
      INTEGER ILINZ
      INTEGER INF2
      INTEGER INF3
      INTEGER IER
      REAL*8 X(NX)
      REAL*8 Y(NY)
      REAL*8 Z(NZ)
      REAL*8 F(0:7,INF2,INF3,NZ)
      INTEGER ICT(10)
      REAL*8 FVAL(*)

      end subroutine R8EVTRICUB
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  R8FVTRICUB
!
       INTERFACE R8FVTRICUB

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8FVTRICUB ... for meaning of arguments see the documentation

      SUBROUTINE    R8FVTRICUB(
     > ICT,IVEC,IVECD,FVAL,II,JJ,KK,XPARAM,YPARAM,ZPARAM,HX,HXI,HY,HYI,
     > HZ,HZI,FIN,INF2,INF3,NZ)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVECD
      INTEGER INF2
      INTEGER INF3
      INTEGER NZ
      INTEGER ICT(10)
      REAL*8 FVAL(IVECD,*)
      INTEGER II(IVEC)
      INTEGER JJ(IVEC)
      INTEGER KK(IVEC)
      REAL*8 XPARAM(IVEC)
      REAL*8 YPARAM(IVEC)
      REAL*8 ZPARAM(IVEC)
      REAL*8 HX(IVEC)
      REAL*8 HXI(IVEC)
      REAL*8 HY(IVEC)
      REAL*8 HYI(IVEC)
      REAL*8 HZ(IVEC)
      REAL*8 HZI(IVEC)
      REAL*8 FIN(0:7,INF2,INF3,NZ)

      end subroutine R8FVTRICUB
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  R8FVTRICUBX
!
       INTERFACE R8FVTRICUBX

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8FVTRICUBX ... for meaning of arguments see the documentation

      SUBROUTINE    R8FVTRICUBX(
     > ICT,IVEC,IVECD,FVAL,II,JJ,KK,XPARAM,YPARAM,ZPARAM,HX,HXI,HY,HYI,
     > HZ,HZI,FIN,INF2,INF3,NZ)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVECD
      INTEGER JJ
      INTEGER KK
      REAL*8 YPARAM
      REAL*8 ZPARAM
      REAL*8 HY
      REAL*8 HYI
      REAL*8 HZ
      REAL*8 HZI
      INTEGER INF2
      INTEGER INF3
      INTEGER NZ
      INTEGER ICT(10)
      REAL*8 FVAL(IVECD,*)
      INTEGER II(IVEC)
      REAL*8 XPARAM(IVEC)
      REAL*8 HX(IVEC)
      REAL*8 HXI(IVEC)
      REAL*8 FIN(0:7,INF2,INF3,NZ)

      end subroutine R8FVTRICUBX
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8F2TEST
!
       INTERFACE R8F2TEST

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8F2TEST ... for meaning of arguments see the documentation

      SUBROUTINE    R8F2TEST(
     > FUN1,FUN2,INUMP,XMIN,XMAX,YMIN,YMAX,NAME,NAMEX,NAMEY)

      IMPLICIT NONE

! argument declarations
      EXTERNAL FUN1
      EXTERNAL FUN2
      INTEGER INUMP
      REAL*8 XMIN
      REAL*8 XMAX
      REAL*8 YMIN
      REAL*8 YMAX
      CHARACTER*(*) NAME
      CHARACTER*(*) NAMEX
      CHARACTER*(*) NAMEY

      end subroutine R8F2TEST
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8F3TEST
!
       INTERFACE R8F3TEST

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8F3TEST ... for meaning of arguments see the documentation

      SUBROUTINE    R8F3TEST(
     > FUN1,FUN2,ID,INUMP,XMIN,XMAX,YMIN,YMAX,ZMIN,ZMAX,NAME,NAMEX,
     > NAMEY,NAMEZ)

      IMPLICIT NONE

! argument declarations
      EXTERNAL FUN1
      EXTERNAL FUN2
      INTEGER ID
      INTEGER INUMP
      REAL*8 XMIN
      REAL*8 XMAX
      REAL*8 YMIN
      REAL*8 YMAX
      REAL*8 ZMIN
      REAL*8 ZMAX
      CHARACTER*(*) NAME
      CHARACTER*(*) NAMEX
      CHARACTER*(*) NAMEY
      CHARACTER*(*) NAMEZ

      end subroutine R8F3TEST
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8GENXPKG
!
       INTERFACE R8GENXPKG

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8GENXPKG ... for meaning of arguments see the documentation

      SUBROUTINE    R8GENXPKG(
     > NX,X,XPKG,IPER,IMSG,ITOL,ZTOL,IALG,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX
      INTEGER IPER
      INTEGER IMSG
      INTEGER ITOL
      REAL*8 ZTOL
      INTEGER IALG
      INTEGER IER
      REAL*8 X(NX)
      REAL*8 XPKG(NX,4)

      end subroutine R8GENXPKG
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8GRIDBICUB
!
       INTERFACE R8GRIDBICUB

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8GRIDBICUB ... for meaning of arguments see the documentation

      SUBROUTINE    R8GRIDBICUB(
     > X_NEWGRID,NX_NEW,Y_NEWGRID,NY_NEW,F_NEW,IF1,NX,XPKG,NY,YPKG,FSPL,
     > INF3,IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX_NEW
      INTEGER NY_NEW
      INTEGER IF1
      INTEGER NX
      INTEGER NY
      INTEGER INF3
      INTEGER IWARN
      INTEGER IER
      REAL*8 X_NEWGRID(NX_NEW)
      REAL*8 Y_NEWGRID(NY_NEW)
      REAL*8 F_NEW(IF1,NY_NEW)
      REAL*8 XPKG(NX,4)
      REAL*8 YPKG(NY,4)
      REAL*8 FSPL(4,INF3,NY)

      end subroutine R8GRIDBICUB
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8GRIDHERM1
!
       INTERFACE R8GRIDHERM1

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8GRIDHERM1 ... for meaning of arguments see the documentation

      SUBROUTINE    R8GRIDHERM1(
     > X_NEWGRID,NX_NEW,F_NEW,NX,XPKG,FSPL,IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX_NEW
      INTEGER NX
      INTEGER IWARN
      INTEGER IER
      REAL*8 X_NEWGRID(NX_NEW)
      REAL*8 F_NEW(NX_NEW)
      REAL*8 XPKG(NX,4)
      REAL*8 FSPL(NX,2)

      end subroutine R8GRIDHERM1
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8GRIDHERM2
!
       INTERFACE R8GRIDHERM2

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8GRIDHERM2 ... for meaning of arguments see the documentation

      SUBROUTINE    R8GRIDHERM2(
     > X_NEWGRID,NX_NEW,Y_NEWGRID,NY_NEW,F_NEW,IF1,NX,XPKG,NY,YPKG,FSPL,
     > INF2,IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX_NEW
      INTEGER NY_NEW
      INTEGER IF1
      INTEGER NX
      INTEGER NY
      INTEGER INF2
      INTEGER IWARN
      INTEGER IER
      REAL*8 X_NEWGRID(NX_NEW)
      REAL*8 Y_NEWGRID(NY_NEW)
      REAL*8 F_NEW(IF1,NY_NEW)
      REAL*8 XPKG(NX,4)
      REAL*8 YPKG(NY,4)
      REAL*8 FSPL(0:3,INF2,NY)

      end subroutine R8GRIDHERM2
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8GRIDHERM3
!
       INTERFACE R8GRIDHERM3

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8GRIDHERM3 ... for meaning of arguments see the documentation

      SUBROUTINE    R8GRIDHERM3(
     > X_NEWGRID,NX_NEW,Y_NEWGRID,NY_NEW,Z_NEWGRID,NZ_NEW,F_NEW,IF1,IF2,
     > NX,XPKG,NY,YPKG,NZ,ZPKG,FSPL,INF2,INF3,IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX_NEW
      INTEGER NY_NEW
      INTEGER NZ_NEW
      INTEGER IF1
      INTEGER IF2
      INTEGER NX
      INTEGER NY
      INTEGER NZ
      INTEGER INF2
      INTEGER INF3
      INTEGER IWARN
      INTEGER IER
      REAL*8 X_NEWGRID(NX_NEW)
      REAL*8 Y_NEWGRID(NY_NEW)
      REAL*8 Z_NEWGRID(NZ_NEW)
      REAL*8 F_NEW(IF1,IF2,NZ_NEW)
      REAL*8 XPKG(NX,4)
      REAL*8 YPKG(NY,4)
      REAL*8 ZPKG(NZ,4)
      REAL*8 FSPL(0:7,INF2,INF3,NZ)

      end subroutine R8GRIDHERM3
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8GRIDINTRP2D
!
       INTERFACE R8GRIDINTRP2D

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8GRIDINTRP2D ... for meaning of arguments see the documentation

      SUBROUTINE    R8GRIDINTRP2D(
     > X_NEWGRID,NX_NEW,Y_NEWGRID,NY_NEW,F_NEW,IF1,NX,XPKG,NY,YPKG,
     > JSPLINE,FSPL,ICOEFF,IXDIM,IYDIM,IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX_NEW
      INTEGER NY_NEW
      INTEGER IF1
      INTEGER NX
      INTEGER NY
      INTEGER ICOEFF
      INTEGER IXDIM
      INTEGER IYDIM
      INTEGER IWARN
      INTEGER IER
      REAL*8 X_NEWGRID(NX_NEW)
      REAL*8 Y_NEWGRID(NY_NEW)
      REAL*8 F_NEW(IF1,NY_NEW)
      REAL*8 XPKG(NX,4)
      REAL*8 YPKG(NY,4)
      INTEGER JSPLINE(2)
      REAL*8 FSPL(ICOEFF,IXDIM,IYDIM)

      end subroutine R8GRIDINTRP2D
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8GRIDINTRP3D
!
       INTERFACE R8GRIDINTRP3D

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8GRIDINTRP3D ... for meaning of arguments see the documentation

      SUBROUTINE    R8GRIDINTRP3D(
     > X_NEWGRID,NX_NEW,Y_NEWGRID,NY_NEW,Z_NEWGRID,NZ_NEW,F_NEW,IF1,IF2,
     > NX,XPKG,NY,YPKG,NZ,ZPKG,JSPLINE,FSPL,ICOEFF,IXDIM,IYDIM,IZDIM,
     > IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX_NEW
      INTEGER NY_NEW
      INTEGER NZ_NEW
      INTEGER IF1
      INTEGER IF2
      INTEGER NX
      INTEGER NY
      INTEGER NZ
      INTEGER ICOEFF
      INTEGER IXDIM
      INTEGER IYDIM
      INTEGER IZDIM
      INTEGER IWARN
      INTEGER IER
      REAL*8 X_NEWGRID(NX_NEW)
      REAL*8 Y_NEWGRID(NY_NEW)
      REAL*8 Z_NEWGRID(NZ_NEW)
      REAL*8 F_NEW(IF1,IF2,NZ_NEW)
      REAL*8 XPKG(NX,4)
      REAL*8 YPKG(NY,4)
      REAL*8 ZPKG(NZ,4)
      INTEGER JSPLINE(3)
      REAL*8 FSPL(ICOEFF,IXDIM,IYDIM,IZDIM)

      end subroutine R8GRIDINTRP3D
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8GRIDPC1
!
       INTERFACE R8GRIDPC1

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8GRIDPC1 ... for meaning of arguments see the documentation

      SUBROUTINE    R8GRIDPC1(
     > X_NEWGRID,NX_NEW,F_NEW,NX,XPKG,FSPL,IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX_NEW
      INTEGER NX
      INTEGER IWARN
      INTEGER IER
      REAL*8 X_NEWGRID(NX_NEW)
      REAL*8 F_NEW(NX_NEW)
      REAL*8 XPKG(NX,4)
      REAL*8 FSPL(NX)

      end subroutine R8GRIDPC1
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8GRIDPC2
!
       INTERFACE R8GRIDPC2

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8GRIDPC2 ... for meaning of arguments see the documentation

      SUBROUTINE    R8GRIDPC2(
     > X_NEWGRID,NX_NEW,Y_NEWGRID,NY_NEW,F_NEW,IF1,NX,XPKG,NY,YPKG,FSPL,
     > INF1,IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX_NEW
      INTEGER NY_NEW
      INTEGER IF1
      INTEGER NX
      INTEGER NY
      INTEGER INF1
      INTEGER IWARN
      INTEGER IER
      REAL*8 X_NEWGRID(NX_NEW)
      REAL*8 Y_NEWGRID(NY_NEW)
      REAL*8 F_NEW(IF1,NY_NEW)
      REAL*8 XPKG(NX,4)
      REAL*8 YPKG(NY,4)
      REAL*8 FSPL(INF1,NY)

      end subroutine R8GRIDPC2
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8GRIDPC3
!
       INTERFACE R8GRIDPC3

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8GRIDPC3 ... for meaning of arguments see the documentation

      SUBROUTINE    R8GRIDPC3(
     > X_NEWGRID,NX_NEW,Y_NEWGRID,NY_NEW,Z_NEWGRID,NZ_NEW,F_NEW,IF1,IF2,
     > NX,XPKG,NY,YPKG,NZ,ZPKG,FSPL,INF2,INF3,IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX_NEW
      INTEGER NY_NEW
      INTEGER NZ_NEW
      INTEGER IF1
      INTEGER IF2
      INTEGER NX
      INTEGER NY
      INTEGER NZ
      INTEGER INF2
      INTEGER INF3
      INTEGER IWARN
      INTEGER IER
      REAL*8 X_NEWGRID(NX_NEW)
      REAL*8 Y_NEWGRID(NY_NEW)
      REAL*8 Z_NEWGRID(NZ_NEW)
      REAL*8 F_NEW(IF1,IF2,NZ_NEW)
      REAL*8 XPKG(NX,4)
      REAL*8 YPKG(NY,4)
      REAL*8 ZPKG(NZ,4)
      REAL*8 FSPL(INF2,INF3,NZ)

      end subroutine R8GRIDPC3
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8GRIDSPLINE
!
       INTERFACE R8GRIDSPLINE

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8GRIDSPLINE ... for meaning of arguments see the documentation

      SUBROUTINE    R8GRIDSPLINE(
     > X_NEWGRID,NX_NEW,F_NEW,NX,XPKG,FSPL,IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX_NEW
      INTEGER NX
      INTEGER IWARN
      INTEGER IER
      REAL*8 X_NEWGRID(NX_NEW)
      REAL*8 F_NEW(NX_NEW)
      REAL*8 XPKG(NX,4)
      REAL*8 FSPL(NX,2)

      end subroutine R8GRIDSPLINE
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8GRIDTRICUB
!
       INTERFACE R8GRIDTRICUB

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8GRIDTRICUB ... for meaning of arguments see the documentation

      SUBROUTINE    R8GRIDTRICUB(
     > X_NEWGRID,NX_NEW,Y_NEWGRID,NY_NEW,Z_NEWGRID,NZ_NEW,F_NEW,IF1,IF2,
     > NX,XPKG,NY,YPKG,NZ,ZPKG,FSPL,INF4,INF5,IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX_NEW
      INTEGER NY_NEW
      INTEGER NZ_NEW
      INTEGER IF1
      INTEGER IF2
      INTEGER NX
      INTEGER NY
      INTEGER NZ
      INTEGER INF4
      INTEGER INF5
      INTEGER IWARN
      INTEGER IER
      REAL*8 X_NEWGRID(NX_NEW)
      REAL*8 Y_NEWGRID(NY_NEW)
      REAL*8 Z_NEWGRID(NZ_NEW)
      REAL*8 F_NEW(IF1,IF2,NZ_NEW)
      REAL*8 XPKG(NX,4)
      REAL*8 YPKG(NY,4)
      REAL*8 ZPKG(NZ,4)
      REAL*8 FSPL(8,INF4,INF5,NZ)

      end subroutine R8GRIDTRICUB
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8HERM1EV
!
       INTERFACE R8HERM1EV

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8HERM1EV ... for meaning of arguments see the documentation

      SUBROUTINE    R8HERM1EV(
     > XGET,X,NX,ILINX,F,ICT,FVAL,IER)

      IMPLICIT NONE

! argument declarations
      REAL*8 XGET
      INTEGER NX
      INTEGER ILINX
      INTEGER IER
      REAL*8 X(NX)
      REAL*8 F(0:1,NX)
      INTEGER ICT(2)
      REAL*8 FVAL(*)

      end subroutine R8HERM1EV
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  R8HERM1X
!
       INTERFACE R8HERM1X

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8HERM1X ... for meaning of arguments see the documentation

      SUBROUTINE    R8HERM1X(
     > XGET,X,NX,ILINX,I,XPARAM,HX,HXI,IER)

      IMPLICIT NONE

! argument declarations
      REAL*8 XGET
      INTEGER NX
      INTEGER ILINX
      INTEGER I
      REAL*8 XPARAM
      REAL*8 HX
      REAL*8 HXI
      INTEGER IER
      REAL*8 X(NX)

      end subroutine R8HERM1X
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  R8HERM1FCN
!
       INTERFACE R8HERM1FCN

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8HERM1FCN ... for meaning of arguments see the documentation

      SUBROUTINE    R8HERM1FCN(
     > ICT,IVEC,IVECD,FVAL,II,XPARAM,HX,HXI,FIN,NX)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVECD
      INTEGER NX
      INTEGER ICT(2)
      REAL*8 FVAL(IVECD,*)
      INTEGER II(IVEC)
      REAL*8 XPARAM(IVEC)
      REAL*8 HX(IVEC)
      REAL*8 HXI(IVEC)
      REAL*8 FIN(0:1,NX)

      end subroutine R8HERM1FCN
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8HERM2EV
!
       INTERFACE R8HERM2EV

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8HERM2EV ... for meaning of arguments see the documentation

      SUBROUTINE    R8HERM2EV(
     > XGET,YGET,X,NX,Y,NY,ILINX,ILINY,F,INF2,ICT,FVAL,IER)

      IMPLICIT NONE

! argument declarations
      REAL*8 XGET
      REAL*8 YGET
      INTEGER NX
      INTEGER NY
      INTEGER ILINX
      INTEGER ILINY
      INTEGER INF2
      INTEGER IER
      REAL*8 X(NX)
      REAL*8 Y(NY)
      REAL*8 F(0:3,INF2,NY)
      INTEGER ICT(4)
      REAL*8 FVAL(*)

      end subroutine R8HERM2EV
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  R8HERM2XY
!
       INTERFACE R8HERM2XY

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8HERM2XY ... for meaning of arguments see the documentation

      SUBROUTINE    R8HERM2XY(
     > XGET,YGET,X,NX,Y,NY,ILINX,ILINY,I,J,XPARAM,YPARAM,HX,HXI,HY,HYI,
     > IER)

      IMPLICIT NONE

! argument declarations
      REAL*8 XGET
      REAL*8 YGET
      INTEGER NX
      INTEGER NY
      INTEGER ILINX
      INTEGER ILINY
      INTEGER I
      INTEGER J
      REAL*8 XPARAM
      REAL*8 YPARAM
      REAL*8 HX
      REAL*8 HXI
      REAL*8 HY
      REAL*8 HYI
      INTEGER IER
      REAL*8 X(NX)
      REAL*8 Y(NY)

      end subroutine R8HERM2XY
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  R8HERM2FCN
!
       INTERFACE R8HERM2FCN

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8HERM2FCN ... for meaning of arguments see the documentation

      SUBROUTINE    R8HERM2FCN(
     > ICT,IVEC,IVECD,FVAL,II,JJ,XPARAM,YPARAM,HX,HXI,HY,HYI,FIN,INF2,
     > NY)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVECD
      INTEGER INF2
      INTEGER NY
      INTEGER ICT(4)
      REAL*8 FVAL(IVECD,*)
      INTEGER II(IVEC)
      INTEGER JJ(IVEC)
      REAL*8 XPARAM(IVEC)
      REAL*8 YPARAM(IVEC)
      REAL*8 HX(IVEC)
      REAL*8 HXI(IVEC)
      REAL*8 HY(IVEC)
      REAL*8 HYI(IVEC)
      REAL*8 FIN(0:3,INF2,NY)

      end subroutine R8HERM2FCN
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  R8HERM2FCNX
!
       INTERFACE R8HERM2FCNX

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8HERM2FCNX ... for meaning of arguments see the documentation

      SUBROUTINE    R8HERM2FCNX(
     > ICT,IVEC,IVECD,FVAL,II,JJ,XPARAM,YPARAM,HX,HXI,HY,HYI,FIN,INF2,
     > NY)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVECD
      INTEGER JJ
      REAL*8 YPARAM
      REAL*8 HY
      REAL*8 HYI
      INTEGER INF2
      INTEGER NY
      INTEGER ICT(4)
      REAL*8 FVAL(IVECD,*)
      INTEGER II(IVEC)
      REAL*8 XPARAM(IVEC)
      REAL*8 HX(IVEC)
      REAL*8 HXI(IVEC)
      REAL*8 FIN(0:3,INF2,NY)

      end subroutine R8HERM2FCNX
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8HERM3EV
!
       INTERFACE R8HERM3EV

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8HERM3EV ... for meaning of arguments see the documentation

      SUBROUTINE    R8HERM3EV(
     > XGET,YGET,ZGET,X,NX,Y,NY,Z,NZ,ILINX,ILINY,ILINZ,F,INF2,INF3,ICT,
     > FVAL,IER)

      IMPLICIT NONE

! argument declarations
      REAL*8 XGET
      REAL*8 YGET
      REAL*8 ZGET
      INTEGER NX
      INTEGER NY
      INTEGER NZ
      INTEGER ILINX
      INTEGER ILINY
      INTEGER ILINZ
      INTEGER INF2
      INTEGER INF3
      INTEGER IER
      REAL*8 X(NX)
      REAL*8 Y(NY)
      REAL*8 Z(NZ)
      REAL*8 F(0:7,INF2,INF3,NZ)
      INTEGER ICT(8)
      REAL*8 FVAL(*)

      end subroutine R8HERM3EV
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  R8HERM3XYZ
!
       INTERFACE R8HERM3XYZ

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8HERM3XYZ ... for meaning of arguments see the documentation

      SUBROUTINE    R8HERM3XYZ(
     > XGET,YGET,ZGET,X,NX,Y,NY,Z,NZ,ILINX,ILINY,ILINZ,I,J,K,XPARAM,
     > YPARAM,ZPARAM,HX,HXI,HY,HYI,HZ,HZI,IER)

      IMPLICIT NONE

! argument declarations
      REAL*8 XGET
      REAL*8 YGET
      REAL*8 ZGET
      INTEGER NX
      INTEGER NY
      INTEGER NZ
      INTEGER ILINX
      INTEGER ILINY
      INTEGER ILINZ
      INTEGER I
      INTEGER J
      INTEGER K
      REAL*8 XPARAM
      REAL*8 YPARAM
      REAL*8 ZPARAM
      REAL*8 HX
      REAL*8 HXI
      REAL*8 HY
      REAL*8 HYI
      REAL*8 HZ
      REAL*8 HZI
      INTEGER IER
      REAL*8 X(NX)
      REAL*8 Y(NY)
      REAL*8 Z(NZ)

      end subroutine R8HERM3XYZ
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  R8HERM3FCN
!
       INTERFACE R8HERM3FCN

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8HERM3FCN ... for meaning of arguments see the documentation

      SUBROUTINE    R8HERM3FCN(
     > ICT,IVEC,IVECD,FVAL,II,JJ,KK,XPARAM,YPARAM,ZPARAM,HX,HXI,HY,HYI,
     > HZ,HZI,FIN,INF2,INF3,NZ)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVECD
      INTEGER INF2
      INTEGER INF3
      INTEGER NZ
      INTEGER ICT(8)
      REAL*8 FVAL(IVECD,*)
      INTEGER II(IVEC)
      INTEGER JJ(IVEC)
      INTEGER KK(IVEC)
      REAL*8 XPARAM(IVEC)
      REAL*8 YPARAM(IVEC)
      REAL*8 ZPARAM(IVEC)
      REAL*8 HX(IVEC)
      REAL*8 HXI(IVEC)
      REAL*8 HY(IVEC)
      REAL*8 HYI(IVEC)
      REAL*8 HZ(IVEC)
      REAL*8 HZI(IVEC)
      REAL*8 FIN(0:7,INF2,INF3,NZ)

      end subroutine R8HERM3FCN
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  R8HERM3FCNX
!
       INTERFACE R8HERM3FCNX

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8HERM3FCNX ... for meaning of arguments see the documentation

      SUBROUTINE    R8HERM3FCNX(
     > ICT,IVEC,IVECD,FVAL,II,JJ,KK,XPARAM,YPARAM,ZPARAM,HX,HXI,HY,HYI,
     > HZ,HZI,FIN,INF2,INF3,NZ)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVECD
      INTEGER JJ
      INTEGER KK
      REAL*8 YPARAM
      REAL*8 ZPARAM
      REAL*8 HY
      REAL*8 HYI
      REAL*8 HZ
      REAL*8 HZI
      INTEGER INF2
      INTEGER INF3
      INTEGER NZ
      INTEGER ICT(8)
      REAL*8 FVAL(IVECD,*)
      INTEGER II(IVEC)
      REAL*8 XPARAM(IVEC)
      REAL*8 HX(IVEC)
      REAL*8 HXI(IVEC)
      REAL*8 FIN(0:7,INF2,INF3,NZ)

      end subroutine R8HERM3FCNX
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8MKBICUB
!
       INTERFACE R8MKBICUB

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8MKBICUB ... for meaning of arguments see the documentation

      SUBROUTINE    R8MKBICUB(
     > X,NX,Y,NY,F,NF2,IBCXMIN,BCXMIN,IBCXMAX,BCXMAX,IBCYMIN,BCYMIN,
     > IBCYMAX,BCYMAX,ILINX,ILINY,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX
      INTEGER NY
      INTEGER NF2
      INTEGER IBCXMIN
      INTEGER IBCXMAX
      INTEGER IBCYMIN
      INTEGER IBCYMAX
      INTEGER ILINX
      INTEGER ILINY
      INTEGER IER
      REAL*8 X(NX)
      REAL*8 Y(NY)
      REAL*8 F(4,NF2,NY)
      REAL*8 BCXMIN(NY)
      REAL*8 BCXMAX(NY)
      REAL*8 BCYMIN(NX)
      REAL*8 BCYMAX(NX)

      end subroutine R8MKBICUB
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8MKBICUBW
!
       INTERFACE R8MKBICUBW

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8MKBICUBW ... for meaning of arguments see the documentation

      SUBROUTINE    R8MKBICUBW(
     > X,NX,Y,NY,F,NF2,IBCXMIN,BCXMIN,IBCXMAX,BCXMAX,IBCYMIN,BCYMIN,
     > IBCYMAX,BCYMAX,WK,NWK,ILINX,ILINY,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX
      INTEGER NY
      INTEGER NF2
      INTEGER IBCXMIN
      INTEGER IBCXMAX
      INTEGER IBCYMIN
      INTEGER IBCYMAX
      INTEGER NWK
      INTEGER ILINX
      INTEGER ILINY
      INTEGER IER
      REAL*8 X(NX)
      REAL*8 Y(NY)
      REAL*8 F(4,NF2,NY)
      REAL*8 BCXMIN(NY)
      REAL*8 BCXMAX(NY)
      REAL*8 BCYMIN(NX)
      REAL*8 BCYMAX(NX)
      REAL*8 WK(NWK)

      end subroutine R8MKBICUBW
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  R8MKBICOP
!
       INTERFACE R8MKBICOP

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8MKBICOP ... for meaning of arguments see the documentation

      SUBROUTINE    R8MKBICOP(
     > FIN,NF2,FWK,NX,NY)

      IMPLICIT NONE

! argument declarations
      INTEGER NF2
      INTEGER NX
      INTEGER NY
      REAL*8 FIN(4,NF2,NY)
      REAL*8 FWK(4,4,NX,NY)

      end subroutine R8MKBICOP
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  R8MKBICON
!
       INTERFACE R8MKBICON

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8MKBICON ... for meaning of arguments see the documentation

      SUBROUTINE    R8MKBICON(
     > FIN,NF2,FWK,NX,NY,HXLAST,HYLAST)

      IMPLICIT NONE

! argument declarations
      INTEGER NF2
      INTEGER NX
      INTEGER NY
      REAL*8 HXLAST
      REAL*8 HYLAST
      REAL*8 FIN(4,NF2,NY)
      REAL*8 FWK(4,4,NX,NY)

      end subroutine R8MKBICON
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8MKHERM1
!
       INTERFACE R8MKHERM1

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8MKHERM1 ... for meaning of arguments see the documentation

      SUBROUTINE    R8MKHERM1(
     > FUN,X,NX,FHERM)

      IMPLICIT NONE

! argument declarations
      REAL*8 FUN
      EXTERNAL FUN
      INTEGER NX
      REAL*8 X(NX)
      REAL*8 FHERM(0:1,NX)

      end subroutine R8MKHERM1
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8MKHERM2
!
       INTERFACE R8MKHERM2

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8MKHERM2 ... for meaning of arguments see the documentation

      SUBROUTINE    R8MKHERM2(
     > FUN,X,NX,Y,NY,FHERM)

      IMPLICIT NONE

! argument declarations
      REAL*8 FUN
      EXTERNAL FUN
      INTEGER NX
      INTEGER NY
      REAL*8 X(NX)
      REAL*8 Y(NY)
      REAL*8 FHERM(0:3,NX,NY)

      end subroutine R8MKHERM2
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8MKHERM3
!
       INTERFACE R8MKHERM3

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8MKHERM3 ... for meaning of arguments see the documentation

      SUBROUTINE    R8MKHERM3(
     > FUN,X,NX,Y,NY,Z,NZ,FHERM)

      IMPLICIT NONE

! argument declarations
      REAL*8 FUN
      EXTERNAL FUN
      INTEGER NX
      INTEGER NY
      INTEGER NZ
      REAL*8 X(NX)
      REAL*8 Y(NY)
      REAL*8 Z(NZ)
      REAL*8 FHERM(0:7,NX,NY,NZ)

      end subroutine R8MKHERM3
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8MKINTRP2D
!
       INTERFACE R8MKINTRP2D

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8MKINTRP2D ... for meaning of arguments see the documentation

      SUBROUTINE    R8MKINTRP2D(
     > X,NX,Y,NY,JSPLINE,F,ICOEFF,IXDIM,IYDIM,IBCXMIN,BCXMIN,IBCXMAX,
     > BCXMAX,IBCYMIN,BCYMIN,IBCYMAX,BCYMAX,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX
      INTEGER NY
      INTEGER ICOEFF
      INTEGER IXDIM
      INTEGER IYDIM
      INTEGER IBCXMIN
      INTEGER IBCXMAX
      INTEGER IBCYMIN
      INTEGER IBCYMAX
      INTEGER IER
      REAL*8 X(NX)
      REAL*8 Y(NY)
      INTEGER JSPLINE(2)
      REAL*8 F(ICOEFF,IXDIM,IYDIM)
      REAL*8 BCXMIN(IYDIM)
      REAL*8 BCXMAX(IYDIM)
      REAL*8 BCYMIN(IXDIM)
      REAL*8 BCYMAX(IXDIM)

      end subroutine R8MKINTRP2D
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8MKINTRP3D
!
       INTERFACE R8MKINTRP3D

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8MKINTRP3D ... for meaning of arguments see the documentation

      SUBROUTINE    R8MKINTRP3D(
     > X,NX,Y,NY,Z,NZ,JSPLINE,F,ICOEFF,IXDIM,IYDIM,IZDIM,IBCXMIN,BCXMIN,
     > IBCXMAX,BCXMAX,IBCYMIN,BCYMIN,IBCYMAX,BCYMAX,IBCZMIN,BCZMIN,
     > IBCZMAX,BCZMAX,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX
      INTEGER NY
      INTEGER NZ
      INTEGER ICOEFF
      INTEGER IXDIM
      INTEGER IYDIM
      INTEGER IZDIM
      INTEGER IBCXMIN
      INTEGER IBCXMAX
      INTEGER IBCYMIN
      INTEGER IBCYMAX
      INTEGER IBCZMIN
      INTEGER IBCZMAX
      INTEGER IER
      REAL*8 X(NX)
      REAL*8 Y(NY)
      REAL*8 Z(NZ)
      INTEGER JSPLINE(3)
      REAL*8 F(ICOEFF,IXDIM,IYDIM,IZDIM)
      REAL*8 BCXMIN(IYDIM,IZDIM)
      REAL*8 BCXMAX(IYDIM,IZDIM)
      REAL*8 BCYMIN(IXDIM,IZDIM)
      REAL*8 BCYMAX(IXDIM,IZDIM)
      REAL*8 BCZMIN(IXDIM,IYDIM)
      REAL*8 BCZMAX(IXDIM,IYDIM)

      end subroutine R8MKINTRP3D
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8MKSPL2PB
!
       INTERFACE R8MKSPL2PB

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8MKSPL2PB ... for meaning of arguments see the documentation

      SUBROUTINE    R8MKSPL2PB(
     > FUN,X,NX,TH,NTH,FSPL,NF3,IBCXMIN,BCXMIN,IBCXMAX,BCXMAX,WK,INWK,
     > ILINX,ILINTH,IER)

      IMPLICIT NONE

! argument declarations
      REAL*8 FUN
      EXTERNAL FUN
      INTEGER NX
      INTEGER NTH
      INTEGER NF3
      INTEGER IBCXMIN
      INTEGER IBCXMAX
      INTEGER INWK
      INTEGER ILINX
      INTEGER ILINTH
      INTEGER IER
      REAL*8 X(NX)
      REAL*8 TH(NTH)
      REAL*8 FSPL(4,4,NF3,NTH)
      REAL*8 BCXMIN(NTH)
      REAL*8 BCXMAX(NTH)
      REAL*8 WK(INWK)

      end subroutine R8MKSPL2PB
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8MKSPL2P
!
       INTERFACE R8MKSPL2P

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8MKSPL2P ... for meaning of arguments see the documentation

      SUBROUTINE    R8MKSPL2P(
     > FUN,X,NX,TH,NTH,FSPL,NF3,WK,INWK,ILINX,ILINTH,IER)

      IMPLICIT NONE

! argument declarations
      REAL*8 FUN
      EXTERNAL FUN
      INTEGER NX
      INTEGER NTH
      INTEGER NF3
      INTEGER INWK
      INTEGER ILINX
      INTEGER ILINTH
      INTEGER IER
      REAL*8 X(NX)
      REAL*8 TH(NTH)
      REAL*8 FSPL(4,4,NF3,NTH)
      REAL*8 WK(INWK)

      end subroutine R8MKSPL2P
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8MKSPL2ZB
!
       INTERFACE R8MKSPL2ZB

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8MKSPL2ZB ... for meaning of arguments see the documentation

      SUBROUTINE    R8MKSPL2ZB(
     > FUN,X,NX,TH,NTH,FSPL,NF2,IBCXMIN,BCXMIN,IBCXMAX,BCXMAX,WK,INWK,
     > ILINX,ILINTH,IER)

      IMPLICIT NONE

! argument declarations
      REAL*8 FUN
      EXTERNAL FUN
      INTEGER NX
      INTEGER NTH
      INTEGER NF2
      INTEGER IBCXMIN
      INTEGER IBCXMAX
      INTEGER INWK
      INTEGER ILINX
      INTEGER ILINTH
      INTEGER IER
      REAL*8 X(NX)
      REAL*8 TH(NTH)
      REAL*8 FSPL(4,NF2,NTH)
      REAL*8 BCXMIN(NTH)
      REAL*8 BCXMAX(NTH)
      REAL*8 WK(INWK)

      end subroutine R8MKSPL2ZB
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8MKSPL2Z
!
       INTERFACE R8MKSPL2Z

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8MKSPL2Z ... for meaning of arguments see the documentation

      SUBROUTINE    R8MKSPL2Z(
     > FUN,X,NX,TH,NTH,FSPL,NF2,WK,INWK,ILINX,ILINTH,IER)

      IMPLICIT NONE

! argument declarations
      REAL*8 FUN
      EXTERNAL FUN
      INTEGER NX
      INTEGER NTH
      INTEGER NF2
      INTEGER INWK
      INTEGER ILINX
      INTEGER ILINTH
      INTEGER IER
      REAL*8 X(NX)
      REAL*8 TH(NTH)
      REAL*8 FSPL(4,NF2,NTH)
      REAL*8 WK(INWK)

      end subroutine R8MKSPL2Z
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8MKSPL3PB
!
       INTERFACE R8MKSPL3PB

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8MKSPL3PB ... for meaning of arguments see the documentation

      SUBROUTINE    R8MKSPL3PB(
     > FUN,X,NX,TH,NTH,PH,NPH,FSPL,NF4,NF5,IBCXMIN,BCXMIN,IBCXMAX,
     > BCXMAX,NB1,WK,INWK,ILINX,ILINTH,ILINPH,IER)

      IMPLICIT NONE

! argument declarations
      REAL*8 FUN
      EXTERNAL FUN
      INTEGER NX
      INTEGER NTH
      INTEGER NPH
      INTEGER NF4
      INTEGER NF5
      INTEGER IBCXMIN
      INTEGER IBCXMAX
      INTEGER NB1
      INTEGER INWK
      INTEGER ILINX
      INTEGER ILINTH
      INTEGER ILINPH
      INTEGER IER
      REAL*8 X(NX)
      REAL*8 TH(NTH)
      REAL*8 PH(NPH)
      REAL*8 FSPL(4,4,4,NF4,NF5,NPH)
      REAL*8 BCXMIN(NB1,NPH)
      REAL*8 BCXMAX(NB1,NPH)
      REAL*8 WK(INWK)

      end subroutine R8MKSPL3PB
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8MKSPL3ZB
!
       INTERFACE R8MKSPL3ZB

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8MKSPL3ZB ... for meaning of arguments see the documentation

      SUBROUTINE    R8MKSPL3ZB(
     > FUN,X,NX,TH,NTH,PH,NPH,FSPL,NF2,NF3,IBCXMIN,BCXMIN,IBCXMAX,
     > BCXMAX,NB1,WK,INWK,ILINX,ILINTH,ILINPH,IER)

      IMPLICIT NONE

! argument declarations
      REAL*8 FUN
      EXTERNAL FUN
      INTEGER NX
      INTEGER NTH
      INTEGER NPH
      INTEGER NF2
      INTEGER NF3
      INTEGER IBCXMIN
      INTEGER IBCXMAX
      INTEGER NB1
      INTEGER INWK
      INTEGER ILINX
      INTEGER ILINTH
      INTEGER ILINPH
      INTEGER IER
      REAL*8 X(NX)
      REAL*8 TH(NTH)
      REAL*8 PH(NPH)
      REAL*8 FSPL(8,NF2,NF3,NPH)
      REAL*8 BCXMIN(NB1,NPH)
      REAL*8 BCXMAX(NB1,NPH)
      REAL*8 WK(INWK)

      end subroutine R8MKSPL3ZB
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8MKSPLINE
!
       INTERFACE R8MKSPLINE

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8MKSPLINE ... for meaning of arguments see the documentation

      SUBROUTINE    R8MKSPLINE(
     > X,NX,FSPL,IBCXMIN,BCXMIN,IBCXMAX,BCXMAX,ILINX,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX
      INTEGER IBCXMIN
      REAL*8 BCXMIN
      INTEGER IBCXMAX
      REAL*8 BCXMAX
      INTEGER ILINX
      INTEGER IER
      REAL*8 X(NX)
      REAL*8 FSPL(2,NX)

      end subroutine R8MKSPLINE
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8MKTRICUB
!
       INTERFACE R8MKTRICUB

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8MKTRICUB ... for meaning of arguments see the documentation

      SUBROUTINE    R8MKTRICUB(
     > X,NX,Y,NY,Z,NZ,F,NF2,NF3,IBCXMIN,BCXMIN,IBCXMAX,BCXMAX,INB1X,
     > IBCYMIN,BCYMIN,IBCYMAX,BCYMAX,INB1Y,IBCZMIN,BCZMIN,IBCZMAX,
     > BCZMAX,INB1Z,ILINX,ILINY,ILINZ,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX
      INTEGER NY
      INTEGER NZ
      INTEGER NF2
      INTEGER NF3
      INTEGER IBCXMIN
      INTEGER IBCXMAX
      INTEGER INB1X
      INTEGER IBCYMIN
      INTEGER IBCYMAX
      INTEGER INB1Y
      INTEGER IBCZMIN
      INTEGER IBCZMAX
      INTEGER INB1Z
      INTEGER ILINX
      INTEGER ILINY
      INTEGER ILINZ
      INTEGER IER
      REAL*8 X(NX)
      REAL*8 Y(NY)
      REAL*8 Z(NZ)
      REAL*8 F(8,NF2,NF3,NZ)
      REAL*8 BCXMIN(INB1X,NZ)
      REAL*8 BCXMAX(INB1X,NZ)
      REAL*8 BCYMIN(INB1Y,NZ)
      REAL*8 BCYMAX(INB1Y,NZ)
      REAL*8 BCZMIN(INB1Z,NY)
      REAL*8 BCZMAX(INB1Z,NY)

      end subroutine R8MKTRICUB
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8MKTRICUBW
!
       INTERFACE R8MKTRICUBW

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8MKTRICUBW ... for meaning of arguments see the documentation

      SUBROUTINE    R8MKTRICUBW(
     > X,NX,Y,NY,Z,NZ,F,NF2,NF3,IBCXMIN,BCXMIN,IBCXMAX,BCXMAX,INB1X,
     > IBCYMIN,BCYMIN,IBCYMAX,BCYMAX,INB1Y,IBCZMIN,BCZMIN,IBCZMAX,
     > BCZMAX,INB1Z,WK,NWK,ILINX,ILINY,ILINZ,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX
      INTEGER NY
      INTEGER NZ
      INTEGER NF2
      INTEGER NF3
      INTEGER IBCXMIN
      INTEGER IBCXMAX
      INTEGER INB1X
      INTEGER IBCYMIN
      INTEGER IBCYMAX
      INTEGER INB1Y
      INTEGER IBCZMIN
      INTEGER IBCZMAX
      INTEGER INB1Z
      INTEGER NWK
      INTEGER ILINX
      INTEGER ILINY
      INTEGER ILINZ
      INTEGER IER
      REAL*8 X(NX)
      REAL*8 Y(NY)
      REAL*8 Z(NZ)
      REAL*8 F(8,NF2,NF3,NZ)
      REAL*8 BCXMIN(INB1X,NZ)
      REAL*8 BCXMAX(INB1X,NZ)
      REAL*8 BCYMIN(INB1Y,NZ)
      REAL*8 BCYMAX(INB1Y,NZ)
      REAL*8 BCZMIN(INB1Z,NY)
      REAL*8 BCZMAX(INB1Z,NY)
      REAL*8 WK(NWK)

      end subroutine R8MKTRICUBW
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  R8MKTRICOP
!
       INTERFACE R8MKTRICOP

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8MKTRICOP ... for meaning of arguments see the documentation

      SUBROUTINE    R8MKTRICOP(
     > FIN,NF2,NF3,FWK,NX,NY,NZ)

      IMPLICIT NONE

! argument declarations
      INTEGER NF2
      INTEGER NF3
      INTEGER NX
      INTEGER NY
      INTEGER NZ
      REAL*8 FIN(8,NF2,NF3,NZ)
      REAL*8 FWK(4,4,4,NX,NY,NZ)

      end subroutine R8MKTRICOP
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  R8MKTRICON
!
       INTERFACE R8MKTRICON

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8MKTRICON ... for meaning of arguments see the documentation

      SUBROUTINE    R8MKTRICON(
     > FIN,NF2,NF3,FWK,NX,NY,NZ,HXLAST,HYLAST,HZLAST)

      IMPLICIT NONE

! argument declarations
      INTEGER NF2
      INTEGER NF3
      INTEGER NX
      INTEGER NY
      INTEGER NZ
      REAL*8 HXLAST
      REAL*8 HYLAST
      REAL*8 HZLAST
      REAL*8 FIN(8,NF2,NF3,NZ)
      REAL*8 FWK(4,4,4,NX,NY,NZ)

      end subroutine R8MKTRICON
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8NSPLINE
!
       INTERFACE R8NSPLINE

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8NSPLINE ... for meaning of arguments see the documentation

      SUBROUTINE    R8NSPLINE(
     > N,X,Y,B,C,D)

      IMPLICIT NONE

! argument declarations
      INTEGER N
      REAL*8 X(N)
      REAL*8 Y(N)
      REAL*8 B(N)
      REAL*8 C(N)
      REAL*8 D(N)

      end subroutine R8NSPLINE
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8PC1EV
!
       INTERFACE R8PC1EV

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8PC1EV ... for meaning of arguments see the documentation

      SUBROUTINE    R8PC1EV(
     > XGET,X,NX,ILINX,F,ICT,FVAL,IER)

      IMPLICIT NONE

! argument declarations
      REAL*8 XGET
      INTEGER NX
      INTEGER ILINX
      INTEGER IER
      REAL*8 X(NX)
      REAL*8 F(NX)
      INTEGER ICT(2)
      REAL*8 FVAL(*)

      end subroutine R8PC1EV
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  R8PC1FCN
!
       INTERFACE R8PC1FCN

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8PC1FCN ... for meaning of arguments see the documentation

      SUBROUTINE    R8PC1FCN(
     > ICT,IVEC,IVECD,FVAL,II,XPARAM,HX,HXI,FIN,NX)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVECD
      INTEGER NX
      INTEGER ICT(2)
      REAL*8 FVAL(IVECD,*)
      INTEGER II(IVEC)
      REAL*8 XPARAM(IVEC)
      REAL*8 HX(IVEC)
      REAL*8 HXI(IVEC)
      REAL*8 FIN(NX)

      end subroutine R8PC1FCN
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8PC2EV
!
       INTERFACE R8PC2EV

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8PC2EV ... for meaning of arguments see the documentation

      SUBROUTINE    R8PC2EV(
     > XGET,YGET,X,NX,Y,NY,ILINX,ILINY,F,INF2,ICT,FVAL,IER)

      IMPLICIT NONE

! argument declarations
      REAL*8 XGET
      REAL*8 YGET
      INTEGER NX
      INTEGER NY
      INTEGER ILINX
      INTEGER ILINY
      INTEGER INF2
      INTEGER IER
      REAL*8 X(NX)
      REAL*8 Y(NY)
      REAL*8 F(INF2,NY)
      INTEGER ICT(4)
      REAL*8 FVAL(*)

      end subroutine R8PC2EV
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  R8PC2FCN
!
       INTERFACE R8PC2FCN

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8PC2FCN ... for meaning of arguments see the documentation

      SUBROUTINE    R8PC2FCN(
     > ICT,IVEC,IVECD,FVAL,II,JJ,XPARAM,YPARAM,HX,HXI,HY,HYI,FIN,INF2,
     > NY)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVECD
      INTEGER INF2
      INTEGER NY
      INTEGER ICT(4)
      REAL*8 FVAL(IVECD,*)
      INTEGER II(IVEC)
      INTEGER JJ(IVEC)
      REAL*8 XPARAM(IVEC)
      REAL*8 YPARAM(IVEC)
      REAL*8 HX(IVEC)
      REAL*8 HXI(IVEC)
      REAL*8 HY(IVEC)
      REAL*8 HYI(IVEC)
      REAL*8 FIN(INF2,NY)

      end subroutine R8PC2FCN
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  R8PC2FCNX
!
       INTERFACE R8PC2FCNX

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8PC2FCNX ... for meaning of arguments see the documentation

      SUBROUTINE    R8PC2FCNX(
     > ICT,IVEC,IVECD,FVAL,II,JJ,XPARAM,YPARAM,HX,HXI,HY,HYI,FIN,INF2,
     > NY)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVECD
      INTEGER JJ
      REAL*8 YPARAM
      REAL*8 HY
      REAL*8 HYI
      INTEGER INF2
      INTEGER NY
      INTEGER ICT(4)
      REAL*8 FVAL(IVECD,*)
      INTEGER II(IVEC)
      REAL*8 XPARAM(IVEC)
      REAL*8 HX(IVEC)
      REAL*8 HXI(IVEC)
      REAL*8 FIN(INF2,NY)

      end subroutine R8PC2FCNX
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8PC3EV
!
       INTERFACE R8PC3EV

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8PC3EV ... for meaning of arguments see the documentation

      SUBROUTINE    R8PC3EV(
     > XGET,YGET,ZGET,X,NX,Y,NY,Z,NZ,ILINX,ILINY,ILINZ,F,INF2,INF3,ICT,
     > FVAL,IER)

      IMPLICIT NONE

! argument declarations
      REAL*8 XGET
      REAL*8 YGET
      REAL*8 ZGET
      INTEGER NX
      INTEGER NY
      INTEGER NZ
      INTEGER ILINX
      INTEGER ILINY
      INTEGER ILINZ
      INTEGER INF2
      INTEGER INF3
      INTEGER IER
      REAL*8 X(NX)
      REAL*8 Y(NY)
      REAL*8 Z(NZ)
      REAL*8 F(INF2,INF3,NZ)
      INTEGER ICT(8)
      REAL*8 FVAL(*)

      end subroutine R8PC3EV
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  R8PC3FCN
!
       INTERFACE R8PC3FCN

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8PC3FCN ... for meaning of arguments see the documentation

      SUBROUTINE    R8PC3FCN(
     > ICT,IVEC,IVECD,FVAL,II,JJ,KK,XPARAM,YPARAM,ZPARAM,HX,HXI,HY,HYI,
     > HZ,HZI,FIN,INF2,INF3,NZ)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVECD
      INTEGER INF2
      INTEGER INF3
      INTEGER NZ
      INTEGER ICT(8)
      REAL*8 FVAL(IVECD,*)
      INTEGER II(IVEC)
      INTEGER JJ(IVEC)
      INTEGER KK(IVEC)
      REAL*8 XPARAM(IVEC)
      REAL*8 YPARAM(IVEC)
      REAL*8 ZPARAM(IVEC)
      REAL*8 HX(IVEC)
      REAL*8 HXI(IVEC)
      REAL*8 HY(IVEC)
      REAL*8 HYI(IVEC)
      REAL*8 HZ(IVEC)
      REAL*8 HZI(IVEC)
      REAL*8 FIN(INF2,INF3,NZ)

      end subroutine R8PC3FCN
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  R8PC3FCNX
!
       INTERFACE R8PC3FCNX

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8PC3FCNX ... for meaning of arguments see the documentation

      SUBROUTINE    R8PC3FCNX(
     > ICT,IVEC,IVECD,FVAL,II,JJ,KK,XPARAM,YPARAM,ZPARAM,HX,HXI,HY,HYI,
     > HZ,HZI,FIN,INF2,INF3,NZ)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVECD
      INTEGER JJ
      INTEGER KK
      REAL*8 YPARAM
      REAL*8 ZPARAM
      REAL*8 HY
      REAL*8 HYI
      REAL*8 HZ
      REAL*8 HZI
      INTEGER INF2
      INTEGER INF3
      INTEGER NZ
      INTEGER ICT(8)
      REAL*8 FVAL(IVECD,*)
      INTEGER II(IVEC)
      REAL*8 XPARAM(IVEC)
      REAL*8 HX(IVEC)
      REAL*8 HXI(IVEC)
      REAL*8 FIN(INF2,INF3,NZ)

      end subroutine R8PC3FCNX
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8PSPLINE
!
       INTERFACE R8PSPLINE

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8PSPLINE ... for meaning of arguments see the documentation

      SUBROUTINE    R8PSPLINE(
     > N,X,Y,B,C,D,WK)

      IMPLICIT NONE

! argument declarations
      INTEGER N
      REAL*8 X(N)
      REAL*8 Y(N)
      REAL*8 B(N)
      REAL*8 C(N)
      REAL*8 D(N)
      REAL*8 WK(N)

      end subroutine R8PSPLINE
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8SEVAL2
!
       INTERFACE R8SEVAL2

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8SEVAL2 ... for meaning of arguments see the documentation

      REAL*8 FUNCTION    R8SEVAL2(
     > N,U,X,Y,B,C,D,DERIV)

      IMPLICIT NONE

! argument declarations
      INTEGER N
      REAL*8 U
      REAL*8 DERIV
      REAL*8 X(N)
      REAL*8 Y(N)
      REAL*8 B(N)
      REAL*8 C(N)
      REAL*8 D(N)

      end function R8SEVAL2
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8SEVAL3
!
       INTERFACE R8SEVAL3

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8SEVAL3 ... for meaning of arguments see the documentation

      REAL*8 FUNCTION    R8SEVAL3(
     > N,U,X,Y,B,C,D,DERIV,DERIV2)

      IMPLICIT NONE

! argument declarations
      INTEGER N
      REAL*8 U
      REAL*8 DERIV
      REAL*8 DERIV2
      REAL*8 X(N)
      REAL*8 Y(N)
      REAL*8 B(N)
      REAL*8 C(N)
      REAL*8 D(N)

      end function R8SEVAL3
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8SEVAL
!
       INTERFACE R8SEVAL

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8SEVAL ... for meaning of arguments see the documentation

      REAL*8 FUNCTION    R8SEVAL(
     > N,U,X,Y,B,C,D)

      IMPLICIT NONE

! argument declarations
      INTEGER N
      REAL*8 U
      REAL*8 X(N)
      REAL*8 Y(N)
      REAL*8 B(N)
      REAL*8 C(N)
      REAL*8 D(N)

      end function R8SEVAL
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8SPEVAL
!
       INTERFACE R8SPEVAL

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8SPEVAL ... for meaning of arguments see the documentation

      REAL*8 FUNCTION    R8SPEVAL(
     > N,U,X,Y,B,C,D)

      IMPLICIT NONE

! argument declarations
      INTEGER N
      REAL*8 U
      REAL*8 X(N)
      REAL*8 Y(N)
      REAL*8 B(N)
      REAL*8 C(N)
      REAL*8 D(N)

      end function R8SPEVAL
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8SPGRID
!
       INTERFACE R8SPGRID

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8SPGRID ... for meaning of arguments see the documentation

      SUBROUTINE    R8SPGRID(
     > X_NEWGRID,NX_NEW,F_NEW,NX,XPKG,FSPL,IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX_NEW
      INTEGER NX
      INTEGER IWARN
      INTEGER IER
      REAL*8 X_NEWGRID(NX_NEW)
      REAL*8 F_NEW(NX_NEW)
      REAL*8 XPKG(NX,4)
      REAL*8 FSPL(4,NX)

      end subroutine R8SPGRID
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8SPLAAN
!
       INTERFACE R8SPLAAN

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8SPLAAN ... for meaning of arguments see the documentation

      SUBROUTINE    R8SPLAAN(
     > N,X,Y,B,C,D)

      IMPLICIT NONE

! argument declarations
      INTEGER N
      REAL*8 X(N)
      REAL*8 Y(N)
      REAL*8 B(N)
      REAL*8 C(N)
      REAL*8 D(N)

      end subroutine R8SPLAAN
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8SPLBRK
!
       INTERFACE R8SPLBRK

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8SPLBRK ... for meaning of arguments see the documentation

      SUBROUTINE    R8SPLBRK(
     > IOPT,N,NBRK,X,Y,B,C,D)

      IMPLICIT NONE

! argument declarations
      INTEGER IOPT
      INTEGER N
      INTEGER NBRK
      REAL*8 X(N)
      REAL*8 Y(N)
      REAL*8 B(N)
      REAL*8 C(N)
      REAL*8 D(N)

      end subroutine R8SPLBRK
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8SPLEEN
!
       INTERFACE R8SPLEEN

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8SPLEEN ... for meaning of arguments see the documentation

      SUBROUTINE    R8SPLEEN(
     > N,X,Y,B,C,D)

      IMPLICIT NONE

! argument declarations
      INTEGER N
      REAL*8 X(N)
      REAL*8 Y(N)
      REAL*8 B(N)
      REAL*8 C(N)
      REAL*8 D(N)

      end subroutine R8SPLEEN
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8SPLINCK
!
       INTERFACE R8SPLINCK

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8SPLINCK ... for meaning of arguments see the documentation

      SUBROUTINE    R8SPLINCK(
     > X,INX,ILINX,ZTOL,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER INX
      INTEGER ILINX
      REAL*8 ZTOL
      INTEGER IER
      REAL*8 X(INX)

      end subroutine R8SPLINCK
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8SPLINE
!
       INTERFACE R8SPLINE

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8SPLINE ... for meaning of arguments see the documentation

      SUBROUTINE    R8SPLINE(
     > N,X,Y,B,C,D)

      IMPLICIT NONE

! argument declarations
      INTEGER N
      REAL*8 X(N)
      REAL*8 Y(N)
      REAL*8 B(N)
      REAL*8 C(N)
      REAL*8 D(N)

      end subroutine R8SPLINE
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8SPVEC
!
       INTERFACE R8SPVEC

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8SPVEC ... for meaning of arguments see the documentation

      SUBROUTINE    R8SPVEC(
     > ICT,IVEC,XVEC,IVD,FVAL,NX,XPKG,FSPL,IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVD
      INTEGER NX
      INTEGER IWARN
      INTEGER IER
      INTEGER ICT(3)
      REAL*8 XVEC(IVEC)
      REAL*8 FVAL(IVD,*)
      REAL*8 XPKG(NX,4)
      REAL*8 FSPL(4,NX)

      end subroutine R8SPVEC
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8TCSPEVAL
!
       INTERFACE R8TCSPEVAL

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8TCSPEVAL ... for meaning of arguments see the documentation

      SUBROUTINE    R8TCSPEVAL(
     > XGET,YGET,ZGET,ISELECT,FVAL,X,NX,Y,NY,Z,NZ,ILINX,ILINY,ILINZ,F,
     > INF4,INF5,IER)

      IMPLICIT NONE

! argument declarations
      REAL*8 XGET
      REAL*8 YGET
      REAL*8 ZGET
      INTEGER NX
      INTEGER NY
      INTEGER NZ
      INTEGER ILINX
      INTEGER ILINY
      INTEGER ILINZ
      INTEGER INF4
      INTEGER INF5
      INTEGER IER
      INTEGER ISELECT(10)
      REAL*8 FVAL(*)
      REAL*8 X(NX)
      REAL*8 Y(NY)
      REAL*8 Z(NZ)
      REAL*8 F(4,4,4,INF4,INF5,NZ)

      end subroutine R8TCSPEVAL
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  R8TCSPEVXYZ
!
       INTERFACE R8TCSPEVXYZ

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8TCSPEVXYZ ... for meaning of arguments see the documentation

      SUBROUTINE    R8TCSPEVXYZ(
     > XGET,YGET,ZGET,X,NX,Y,NY,Z,NZ,ILINX,ILINY,ILINZ,I,J,K,DX,DY,DZ,
     > IER)

      IMPLICIT NONE

! argument declarations
      REAL*8 XGET
      REAL*8 YGET
      REAL*8 ZGET
      INTEGER NX
      INTEGER NY
      INTEGER NZ
      INTEGER ILINX
      INTEGER ILINY
      INTEGER ILINZ
      INTEGER I
      INTEGER J
      INTEGER K
      REAL*8 DX
      REAL*8 DY
      REAL*8 DZ
      INTEGER IER
      REAL*8 X(NX)
      REAL*8 Y(NY)
      REAL*8 Z(NZ)

      end subroutine R8TCSPEVXYZ
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  R8TCSPEVFN
!
       INTERFACE R8TCSPEVFN

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8TCSPEVFN ... for meaning of arguments see the documentation

      SUBROUTINE    R8TCSPEVFN(
     > ICT,IVEC,IVD,FVAL,IV,JV,KV,DXV,DYV,DZV,F,INF4,INF5,NZ)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVD
      INTEGER INF4
      INTEGER INF5
      INTEGER NZ
      INTEGER ICT(10)
      REAL*8 FVAL(IVD,*)
      INTEGER IV(IVEC)
      INTEGER JV(IVEC)
      INTEGER KV(IVEC)
      REAL*8 DXV(IVEC)
      REAL*8 DYV(IVEC)
      REAL*8 DZV(IVEC)
      REAL*8 F(4,4,4,INF4,INF5,NZ)

      end subroutine R8TCSPEVFN
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8TCSPGRID
!
       INTERFACE R8TCSPGRID

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8TCSPGRID ... for meaning of arguments see the documentation

      SUBROUTINE    R8TCSPGRID(
     > X_NEWGRID,NX_NEW,Y_NEWGRID,NY_NEW,Z_NEWGRID,NZ_NEW,F_NEW,IF1,IF2,
     > NX,XPKG,NY,YPKG,NZ,ZPKG,FSPL,INF4,INF5,IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX_NEW
      INTEGER NY_NEW
      INTEGER NZ_NEW
      INTEGER IF1
      INTEGER IF2
      INTEGER NX
      INTEGER NY
      INTEGER NZ
      INTEGER INF4
      INTEGER INF5
      INTEGER IWARN
      INTEGER IER
      REAL*8 X_NEWGRID(NX_NEW)
      REAL*8 Y_NEWGRID(NY_NEW)
      REAL*8 Z_NEWGRID(NZ_NEW)
      REAL*8 F_NEW(IF1,IF2,NZ_NEW)
      REAL*8 XPKG(NX,4)
      REAL*8 YPKG(NY,4)
      REAL*8 ZPKG(NZ,4)
      REAL*8 FSPL(4,4,4,INF4,INF5,NZ)

      end subroutine R8TCSPGRID
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8TCSPLINE
!
       INTERFACE R8TCSPLINE

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8TCSPLINE ... for meaning of arguments see the documentation

      SUBROUTINE    R8TCSPLINE(
     > X,INX,TH,INTH,PH,INPH,FSPL,INF4,INF5,IBCXMIN,BCXMIN,IBCXMAX,
     > BCXMAX,INB1X,IBCTHMIN,BCTHMIN,IBCTHMAX,BCTHMAX,INB1TH,IBCPHMIN,
     > BCPHMIN,IBCPHMAX,BCPHMAX,INB1PH,WK,NWK,ILINX,ILINTH,ILINPH,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER INX
      INTEGER INTH
      INTEGER INPH
      INTEGER INF4
      INTEGER INF5
      INTEGER IBCXMIN
      INTEGER IBCXMAX
      INTEGER INB1X
      INTEGER IBCTHMIN
      INTEGER IBCTHMAX
      INTEGER INB1TH
      INTEGER IBCPHMIN
      INTEGER IBCPHMAX
      INTEGER INB1PH
      INTEGER NWK
      INTEGER ILINX
      INTEGER ILINTH
      INTEGER ILINPH
      INTEGER IER
      REAL*8 X(INX)
      REAL*8 TH(INTH)
      REAL*8 PH(INPH)
      REAL*8 FSPL(4,4,4,INF4,INF5,INPH)
      REAL*8 BCXMIN(INB1X,*)
      REAL*8 BCXMAX(INB1X,*)
      REAL*8 BCTHMIN(INB1TH,*)
      REAL*8 BCTHMAX(INB1TH,*)
      REAL*8 BCPHMIN(INB1PH,*)
      REAL*8 BCPHMAX(INB1PH,*)
      REAL*8 WK(NWK)

      end subroutine R8TCSPLINE
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  R8TCSPCORR
!
       INTERFACE R8TCSPCORR

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8TCSPCORR ... for meaning of arguments see the documentation

      SUBROUTINE    R8TCSPCORR(
     > X,INX,TH,INTH,PH,INPH,FSPL,INF4,INF5,IBCXMIN,IBCXMAX,IBCTHMIN,
     > IBCTHMAX,IBCPHMIN,BCPH1,IBCPHMAX,BCPH2,CCORR,WK,NWK)

      IMPLICIT NONE

! argument declarations
      INTEGER INX
      INTEGER INTH
      INTEGER INPH
      INTEGER INF4
      INTEGER INF5
      INTEGER IBCXMIN
      INTEGER IBCXMAX
      INTEGER IBCTHMIN
      INTEGER IBCTHMAX
      INTEGER IBCPHMIN
      INTEGER IBCPHMAX
      INTEGER NWK
      REAL*8 X(INX)
      REAL*8 TH(INTH)
      REAL*8 PH(INPH)
      REAL*8 FSPL(4,4,4,INF4,INF5,INPH)
      REAL*8 BCPH1(INX,INTH)
      REAL*8 BCPH2(INX,INTH)
      REAL*8 CCORR(3,4,INX,INTH,INPH)
      REAL*8 WK(NWK)

      end subroutine R8TCSPCORR
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  R8TCSP23
!
       INTERFACE R8TCSP23

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8TCSP23 ... for meaning of arguments see the documentation

      SUBROUTINE    R8TCSP23(
     > X,INX,TH,INTH,FSPL,INF4,IBCXMIN,BCXMIN,IBCXMAX,BCXMAX,IBCTHMIN,
     > BCTHMIN,IBCTHMAX,BCTHMAX,FSPL2,WK,NWK,ILINX,ILINTH,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER INX
      INTEGER INTH
      INTEGER INF4
      INTEGER IBCXMIN
      INTEGER IBCXMAX
      INTEGER IBCTHMIN
      INTEGER IBCTHMAX
      INTEGER NWK
      INTEGER ILINX
      INTEGER ILINTH
      INTEGER IER
      REAL*8 X(INX)
      REAL*8 TH(INTH)
      REAL*8 FSPL(4,4,4,INF4,INTH)
      REAL*8 BCXMIN(INTH)
      REAL*8 BCXMAX(INTH)
      REAL*8 BCTHMIN(INX)
      REAL*8 BCTHMAX(INX)
      REAL*8 FSPL2(4,4,INX,INTH)
      REAL*8 WK(NWK)

      end subroutine R8TCSP23
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8TCSPVEC
!
       INTERFACE R8TCSPVEC

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8TCSPVEC ... for meaning of arguments see the documentation

      SUBROUTINE    R8TCSPVEC(
     > ICT,IVEC,XVEC,YVEC,ZVEC,IVD,FVAL,NX,XPKG,NY,YPKG,NZ,ZPKG,FSPL,
     > INF4,INF5,IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVD
      INTEGER NX
      INTEGER NY
      INTEGER NZ
      INTEGER INF4
      INTEGER INF5
      INTEGER IWARN
      INTEGER IER
      INTEGER ICT(10)
      REAL*8 XVEC(IVEC)
      REAL*8 YVEC(IVEC)
      REAL*8 ZVEC(IVEC)
      REAL*8 FVAL(IVD,*)
      REAL*8 XPKG(NX,4)
      REAL*8 YPKG(NY,4)
      REAL*8 ZPKG(NZ,4)
      REAL*8 FSPL(4,4,4,INF4,INF5,NZ)

      end subroutine R8TCSPVEC
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8TPSPLINB
!
       INTERFACE R8TPSPLINB

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8TPSPLINB ... for meaning of arguments see the documentation

      SUBROUTINE    R8TPSPLINB(
     > X,INX,TH,INTH,PH,INPH,FSPL,INF4,INF5,IBCXMIN,BCXMIN,IBCXMAX,
     > BCXMAX,INB1,WK,NWK,ILINX,ILINTH,ILINPH,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER INX
      INTEGER INTH
      INTEGER INPH
      INTEGER INF4
      INTEGER INF5
      INTEGER IBCXMIN
      INTEGER IBCXMAX
      INTEGER INB1
      INTEGER NWK
      INTEGER ILINX
      INTEGER ILINTH
      INTEGER ILINPH
      INTEGER IER
      REAL*8 X(INX)
      REAL*8 TH(INTH)
      REAL*8 PH(INPH)
      REAL*8 FSPL(4,4,4,INF4,INF5,INPH)
      REAL*8 BCXMIN(INB1,INPH)
      REAL*8 BCXMAX(INB1,INPH)
      REAL*8 WK(NWK)

      end subroutine R8TPSPLINB
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8TPSPLINE
!
       INTERFACE R8TPSPLINE

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8TPSPLINE ... for meaning of arguments see the documentation

      SUBROUTINE    R8TPSPLINE(
     > X,INX,TH,INTH,PH,INPH,FSPL,INF4,INF5,WK,NWK,ILINX,ILINTH,ILINPH,
     > IER)

      IMPLICIT NONE

! argument declarations
      INTEGER INX
      INTEGER INTH
      INTEGER INPH
      INTEGER INF4
      INTEGER INF5
      INTEGER NWK
      INTEGER ILINX
      INTEGER ILINTH
      INTEGER ILINPH
      INTEGER IER
      REAL*8 X(INX)
      REAL*8 TH(INTH)
      REAL*8 PH(INPH)
      REAL*8 FSPL(4,4,4,INF4,INF5,INPH)
      REAL*8 WK(NWK)

      end subroutine R8TPSPLINE
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8UTIL_BCHERM1
!
       INTERFACE R8UTIL_BCHERM1

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8UTIL_BCHERM1 ... for meaning of arguments see the documentation

      SUBROUTINE    R8UTIL_BCHERM1(
     > FHERM,IDIMX1,JBCXA,JBCXB,ZBCXA,ZBCXB,X1)

      IMPLICIT NONE

! argument declarations
      INTEGER IDIMX1
      INTEGER JBCXA
      INTEGER JBCXB
      REAL*8 ZBCXA
      REAL*8 ZBCXB
      REAL*8 FHERM(0:1,IDIMX1)
      REAL*8 X1(IDIMX1)

      end subroutine R8UTIL_BCHERM1
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8UTIL_BCHERM2
!
       INTERFACE R8UTIL_BCHERM2

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8UTIL_BCHERM2 ... for meaning of arguments see the documentation

      SUBROUTINE    R8UTIL_BCHERM2(
     > FHERM,IDIMX1,IDIMX2,JBCX1A,JBCX1B,JBCX2A,JBCX2B,ZBCX1A,ZBCX1B,
     > ZBCX2A,ZBCX2B,X1,X2)

      IMPLICIT NONE

! argument declarations
      INTEGER IDIMX1
      INTEGER IDIMX2
      INTEGER JBCX1A
      INTEGER JBCX1B
      INTEGER JBCX2A
      INTEGER JBCX2B
      REAL*8 FHERM(0:3,IDIMX1,IDIMX2)
      REAL*8 ZBCX1A(IDIMX2)
      REAL*8 ZBCX1B(IDIMX2)
      REAL*8 ZBCX2A(IDIMX1)
      REAL*8 ZBCX2B(IDIMX1)
      REAL*8 X1(IDIMX1)
      REAL*8 X2(IDIMX2)

      end subroutine R8UTIL_BCHERM2
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8UTIL_BCHERM3
!
       INTERFACE R8UTIL_BCHERM3

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8UTIL_BCHERM3 ... for meaning of arguments see the documentation

      SUBROUTINE    R8UTIL_BCHERM3(
     > FHERM,IDIMX1,IDIMX2,IDIMX3,JBCX1A,JBCX1B,JBCX2A,JBCX2B,JBCX3A,
     > JBCX3B,ZBCX1A,ZBCX1B,ZBCX2A,ZBCX2B,ZBCX3A,ZBCX3B,X1,X2,X3)

      IMPLICIT NONE

! argument declarations
      INTEGER IDIMX1
      INTEGER IDIMX2
      INTEGER IDIMX3
      INTEGER JBCX1A
      INTEGER JBCX1B
      INTEGER JBCX2A
      INTEGER JBCX2B
      INTEGER JBCX3A
      INTEGER JBCX3B
      REAL*8 FHERM(0:7,IDIMX1,IDIMX2,IDIMX3)
      REAL*8 ZBCX1A(IDIMX2,IDIMX3)
      REAL*8 ZBCX1B(IDIMX2,IDIMX3)
      REAL*8 ZBCX2A(IDIMX1,IDIMX3)
      REAL*8 ZBCX2B(IDIMX1,IDIMX3)
      REAL*8 ZBCX3A(IDIMX2,IDIMX3)
      REAL*8 ZBCX3B(IDIMX2,IDIMX3)
      REAL*8 X1(IDIMX1)
      REAL*8 X2(IDIMX2)
      REAL*8 X3(IDIMX3)

      end subroutine R8UTIL_BCHERM3
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8VECBICUB
!
       INTERFACE R8VECBICUB

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8VECBICUB ... for meaning of arguments see the documentation

      SUBROUTINE    R8VECBICUB(
     > ICT,IVEC,XVEC,YVEC,IVD,FVAL,NX,XPKG,NY,YPKG,FSPL,INF2,IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVD
      INTEGER NX
      INTEGER NY
      INTEGER INF2
      INTEGER IWARN
      INTEGER IER
      INTEGER ICT(6)
      REAL*8 XVEC(IVEC)
      REAL*8 YVEC(IVEC)
      REAL*8 FVAL(IVD,*)
      REAL*8 XPKG(NX,4)
      REAL*8 YPKG(NY,4)
      REAL*8 FSPL(0:3,INF2,NY)

      end subroutine R8VECBICUB
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8VECHERM1
!
       INTERFACE R8VECHERM1

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8VECHERM1 ... for meaning of arguments see the documentation

      SUBROUTINE    R8VECHERM1(
     > ICT,IVEC,XVEC,IVD,FVAL,NX,XPKG,FSPL,IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVD
      INTEGER NX
      INTEGER IWARN
      INTEGER IER
      INTEGER ICT(2)
      REAL*8 XVEC(IVEC)
      REAL*8 FVAL(IVD,*)
      REAL*8 XPKG(NX,4)
      REAL*8 FSPL(2,NX)

      end subroutine R8VECHERM1
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8VECHERM2
!
       INTERFACE R8VECHERM2

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8VECHERM2 ... for meaning of arguments see the documentation

      SUBROUTINE    R8VECHERM2(
     > ICT,IVEC,XVEC,YVEC,IVD,FVAL,NX,XPKG,NY,YPKG,FSPL,INF2,IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVD
      INTEGER NX
      INTEGER NY
      INTEGER INF2
      INTEGER IWARN
      INTEGER IER
      INTEGER ICT(4)
      REAL*8 XVEC(IVEC)
      REAL*8 YVEC(IVEC)
      REAL*8 FVAL(IVD,*)
      REAL*8 XPKG(NX,4)
      REAL*8 YPKG(NY,4)
      REAL*8 FSPL(0:3,INF2,NY)

      end subroutine R8VECHERM2
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8VECHERM3
!
       INTERFACE R8VECHERM3

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8VECHERM3 ... for meaning of arguments see the documentation

      SUBROUTINE    R8VECHERM3(
     > ICT,IVEC,XVEC,YVEC,ZVEC,IVD,FVAL,NX,XPKG,NY,YPKG,NZ,ZPKG,FSPL,
     > INF2,INF3,IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVD
      INTEGER NX
      INTEGER NY
      INTEGER NZ
      INTEGER INF2
      INTEGER INF3
      INTEGER IWARN
      INTEGER IER
      INTEGER ICT(10)
      REAL*8 XVEC(IVEC)
      REAL*8 YVEC(IVEC)
      REAL*8 ZVEC(IVEC)
      REAL*8 FVAL(IVD,*)
      REAL*8 XPKG(NX,4)
      REAL*8 YPKG(NY,4)
      REAL*8 ZPKG(NZ,4)
      REAL*8 FSPL(0:7,INF2,INF3,NZ)

      end subroutine R8VECHERM3
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8VECINTRP2D
!
       INTERFACE R8VECINTRP2D

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8VECINTRP2D ... for meaning of arguments see the documentation

      SUBROUTINE    R8VECINTRP2D(
     > ICT,IVEC,XVEC,YVEC,IVD,FVAL,NX,XPKG,NY,YPKG,JSPLINE,FSPL,ICOEFF,
     > IXDIM,IYDIM,IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVD
      INTEGER NX
      INTEGER NY
      INTEGER ICOEFF
      INTEGER IXDIM
      INTEGER IYDIM
      INTEGER IWARN
      INTEGER IER
      INTEGER ICT(6)
      REAL*8 XVEC(IVEC)
      REAL*8 YVEC(IVEC)
      REAL*8 FVAL(IVD,*)
      REAL*8 XPKG(NX,4)
      REAL*8 YPKG(NY,4)
      INTEGER JSPLINE(2)
      REAL*8 FSPL(ICOEFF,IXDIM,IYDIM)

      end subroutine R8VECINTRP2D
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8VECINTRP3D
!
       INTERFACE R8VECINTRP3D

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8VECINTRP3D ... for meaning of arguments see the documentation

      SUBROUTINE    R8VECINTRP3D(
     > ICT,IVEC,XVEC,YVEC,ZVEC,IVD,FVAL,NX,XPKG,NY,YPKG,NZ,ZPKG,JSPLINE,
     > FSPL,ICOEFF,IXDIM,IYDIM,IZDIM,IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVD
      INTEGER NX
      INTEGER NY
      INTEGER NZ
      INTEGER ICOEFF
      INTEGER IXDIM
      INTEGER IYDIM
      INTEGER IZDIM
      INTEGER IWARN
      INTEGER IER
      INTEGER ICT(10)
      REAL*8 XVEC(IVEC)
      REAL*8 YVEC(IVEC)
      REAL*8 ZVEC(IVEC)
      REAL*8 FVAL(IVD,*)
      REAL*8 XPKG(NX,4)
      REAL*8 YPKG(NY,4)
      REAL*8 ZPKG(NZ,4)
      INTEGER JSPLINE(3)
      REAL*8 FSPL(ICOEFF,IXDIM,IYDIM,IZDIM)

      end subroutine R8VECINTRP3D
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8VECPC1
!
       INTERFACE R8VECPC1

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8VECPC1 ... for meaning of arguments see the documentation

      SUBROUTINE    R8VECPC1(
     > ICT,IVEC,XVEC,IVD,FVAL,NX,XPKG,FSPL,IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVD
      INTEGER NX
      INTEGER IWARN
      INTEGER IER
      INTEGER ICT(2)
      REAL*8 XVEC(IVEC)
      REAL*8 FVAL(IVD,*)
      REAL*8 XPKG(NX,4)
      REAL*8 FSPL(NX)

      end subroutine R8VECPC1
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8VECPC2
!
       INTERFACE R8VECPC2

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8VECPC2 ... for meaning of arguments see the documentation

      SUBROUTINE    R8VECPC2(
     > ICT,IVEC,XVEC,YVEC,IVD,FVAL,NX,XPKG,NY,YPKG,FSPL,INF1,IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVD
      INTEGER NX
      INTEGER NY
      INTEGER INF1
      INTEGER IWARN
      INTEGER IER
      INTEGER ICT(4)
      REAL*8 XVEC(IVEC)
      REAL*8 YVEC(IVEC)
      REAL*8 FVAL(IVD,*)
      REAL*8 XPKG(NX,4)
      REAL*8 YPKG(NY,4)
      REAL*8 FSPL(INF1,NY)

      end subroutine R8VECPC2
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8VECPC3
!
       INTERFACE R8VECPC3

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8VECPC3 ... for meaning of arguments see the documentation

      SUBROUTINE    R8VECPC3(
     > ICT,IVEC,XVEC,YVEC,ZVEC,IVD,FVAL,NX,XPKG,NY,YPKG,NZ,ZPKG,FLIN,
     > INF1,INF2,IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVD
      INTEGER NX
      INTEGER NY
      INTEGER NZ
      INTEGER INF1
      INTEGER INF2
      INTEGER IWARN
      INTEGER IER
      INTEGER ICT(10)
      REAL*8 XVEC(IVEC)
      REAL*8 YVEC(IVEC)
      REAL*8 ZVEC(IVEC)
      REAL*8 FVAL(IVD,*)
      REAL*8 XPKG(NX,4)
      REAL*8 YPKG(NY,4)
      REAL*8 ZPKG(NZ,4)
      REAL*8 FLIN(INF1,INF2,NZ)

      end subroutine R8VECPC3
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8VECSPLINE
!
       INTERFACE R8VECSPLINE

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8VECSPLINE ... for meaning of arguments see the documentation

      SUBROUTINE    R8VECSPLINE(
     > ICT,IVEC,XVEC,IVD,FVAL,NX,XPKG,FSPL,IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVD
      INTEGER NX
      INTEGER IWARN
      INTEGER IER
      INTEGER ICT(3)
      REAL*8 XVEC(IVEC)
      REAL*8 FVAL(IVD,*)
      REAL*8 XPKG(NX,4)
      REAL*8 FSPL(2,NX)

      end subroutine R8VECSPLINE
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8VECTRICUB
!
       INTERFACE R8VECTRICUB

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8VECTRICUB ... for meaning of arguments see the documentation

      SUBROUTINE    R8VECTRICUB(
     > ICT,IVEC,XVEC,YVEC,ZVEC,IVD,FVAL,NX,XPKG,NY,YPKG,NZ,ZPKG,FSPL,
     > INF4,INF5,IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVD
      INTEGER NX
      INTEGER NY
      INTEGER NZ
      INTEGER INF4
      INTEGER INF5
      INTEGER IWARN
      INTEGER IER
      INTEGER ICT(10)
      REAL*8 XVEC(IVEC)
      REAL*8 YVEC(IVEC)
      REAL*8 ZVEC(IVEC)
      REAL*8 FVAL(IVD,*)
      REAL*8 XPKG(NX,4)
      REAL*8 YPKG(NY,4)
      REAL*8 ZPKG(NZ,4)
      REAL*8 FSPL(8,INF4,INF5,NZ)

      end subroutine R8VECTRICUB
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8V_SPLINE
!
       INTERFACE R8V_SPLINE

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8V_SPLINE ... for meaning of arguments see the documentation

      SUBROUTINE    R8V_SPLINE(
     > K_BC1,K_BCN,N,X,F,WK)

      IMPLICIT NONE

! argument declarations
      INTEGER K_BC1
      INTEGER K_BCN
      INTEGER N
      REAL*8 X(*)
      REAL*8 F(4,*)
      REAL*8 WK(*)

      end subroutine R8V_SPLINE
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8XLOOKUP
!
       INTERFACE R8XLOOKUP

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8XLOOKUP ... for meaning of arguments see the documentation

      SUBROUTINE    R8XLOOKUP(
     > IVEC,XVEC,NX,XPKG,IMODE,IV,DXN,HV,HIV,IWARN)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER NX
      INTEGER IMODE
      INTEGER IWARN
      REAL*8 XVEC(IVEC)
      REAL*8 XPKG(NX,4)
      INTEGER IV(IVEC)
      REAL*8 DXN(IVEC)
      REAL*8 HV(IVEC)
      REAL*8 HIV(IVEC)

      end subroutine R8XLOOKUP
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  R8ZONFIND
!
       INTERFACE R8ZONFIND

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  R8ZONFIND ... for meaning of arguments see the documentation

      SUBROUTINE    R8ZONFIND(
     > X,NX,ZXGET,I)

      IMPLICIT NONE

! argument declarations
      INTEGER NX
      REAL*8 ZXGET
      INTEGER I
      REAL*8 X(NX)

      end subroutine R8ZONFIND
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  SEVAL2
!
       INTERFACE SEVAL2

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  SEVAL2 ... for meaning of arguments see the documentation

      REAL FUNCTION    SEVAL2(
     > N,U,X,Y,B,C,D,DERIV)

      IMPLICIT NONE

! argument declarations
      INTEGER N
      REAL U
      REAL DERIV
      REAL X(N)
      REAL Y(N)
      REAL B(N)
      REAL C(N)
      REAL D(N)

      end function SEVAL2
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  SEVAL3
!
       INTERFACE SEVAL3

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  SEVAL3 ... for meaning of arguments see the documentation

      REAL FUNCTION    SEVAL3(
     > N,U,X,Y,B,C,D,DERIV,DERIV2)

      IMPLICIT NONE

! argument declarations
      INTEGER N
      REAL U
      REAL DERIV
      REAL DERIV2
      REAL X(N)
      REAL Y(N)
      REAL B(N)
      REAL C(N)
      REAL D(N)

      end function SEVAL3
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  SEVAL
!
       INTERFACE SEVAL

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  SEVAL ... for meaning of arguments see the documentation

      REAL FUNCTION    SEVAL(
     > N,U,X,Y,B,C,D)

      IMPLICIT NONE

! argument declarations
      INTEGER N
      REAL U
      REAL X(N)
      REAL Y(N)
      REAL B(N)
      REAL C(N)
      REAL D(N)

      end function SEVAL
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  SPEVAL
!
       INTERFACE SPEVAL

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  SPEVAL ... for meaning of arguments see the documentation

      REAL FUNCTION    SPEVAL(
     > N,U,X,Y,B,C,D)

      IMPLICIT NONE

! argument declarations
      INTEGER N
      REAL U
      REAL X(N)
      REAL Y(N)
      REAL B(N)
      REAL C(N)
      REAL D(N)

      end function SPEVAL
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  SPGRID
!
       INTERFACE SPGRID

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  SPGRID ... for meaning of arguments see the documentation

      SUBROUTINE    SPGRID(
     > X_NEWGRID,NX_NEW,F_NEW,NX,XPKG,FSPL,IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX_NEW
      INTEGER NX
      INTEGER IWARN
      INTEGER IER
      REAL X_NEWGRID(NX_NEW)
      REAL F_NEW(NX_NEW)
      REAL XPKG(NX,4)
      REAL FSPL(4,NX)

      end subroutine SPGRID
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  SPLAAN
!
       INTERFACE SPLAAN

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  SPLAAN ... for meaning of arguments see the documentation

      SUBROUTINE    SPLAAN(
     > N,X,Y,B,C,D)

      IMPLICIT NONE

! argument declarations
      INTEGER N
      REAL X(N)
      REAL Y(N)
      REAL B(N)
      REAL C(N)
      REAL D(N)

      end subroutine SPLAAN
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  SPLBRK
!
       INTERFACE SPLBRK

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  SPLBRK ... for meaning of arguments see the documentation

      SUBROUTINE    SPLBRK(
     > IOPT,N,NBRK,X,Y,B,C,D)

      IMPLICIT NONE

! argument declarations
      INTEGER IOPT
      INTEGER N
      INTEGER NBRK
      REAL X(N)
      REAL Y(N)
      REAL B(N)
      REAL C(N)
      REAL D(N)

      end subroutine SPLBRK
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  SPLEEN
!
       INTERFACE SPLEEN

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  SPLEEN ... for meaning of arguments see the documentation

      SUBROUTINE    SPLEEN(
     > N,X,Y,B,C,D)

      IMPLICIT NONE

! argument declarations
      INTEGER N
      REAL X(N)
      REAL Y(N)
      REAL B(N)
      REAL C(N)
      REAL D(N)

      end subroutine SPLEEN
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  SPLINCK
!
       INTERFACE SPLINCK

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  SPLINCK ... for meaning of arguments see the documentation

      SUBROUTINE    SPLINCK(
     > X,INX,ILINX,ZTOL,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER INX
      INTEGER ILINX
      REAL ZTOL
      INTEGER IER
      REAL X(INX)

      end subroutine SPLINCK
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  SPLINE
!
       INTERFACE SPLINE

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  SPLINE ... for meaning of arguments see the documentation

      SUBROUTINE    SPLINE(
     > N,X,Y,B,C,D)

      IMPLICIT NONE

! argument declarations
      INTEGER N
      REAL X(N)
      REAL Y(N)
      REAL B(N)
      REAL C(N)
      REAL D(N)

      end subroutine SPLINE
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  SPVEC
!
       INTERFACE SPVEC

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  SPVEC ... for meaning of arguments see the documentation

      SUBROUTINE    SPVEC(
     > ICT,IVEC,XVEC,IVD,FVAL,NX,XPKG,FSPL,IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVD
      INTEGER NX
      INTEGER IWARN
      INTEGER IER
      INTEGER ICT(3)
      REAL XVEC(IVEC)
      REAL FVAL(IVD,*)
      REAL XPKG(NX,4)
      REAL FSPL(4,NX)

      end subroutine SPVEC
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  TCSPEVAL
!
       INTERFACE TCSPEVAL

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  TCSPEVAL ... for meaning of arguments see the documentation

      SUBROUTINE    TCSPEVAL(
     > XGET,YGET,ZGET,ISELECT,FVAL,X,NX,Y,NY,Z,NZ,ILINX,ILINY,ILINZ,F,
     > INF4,INF5,IER)

      IMPLICIT NONE

! argument declarations
      REAL XGET
      REAL YGET
      REAL ZGET
      INTEGER NX
      INTEGER NY
      INTEGER NZ
      INTEGER ILINX
      INTEGER ILINY
      INTEGER ILINZ
      INTEGER INF4
      INTEGER INF5
      INTEGER IER
      INTEGER ISELECT(10)
      REAL FVAL(*)
      REAL X(NX)
      REAL Y(NY)
      REAL Z(NZ)
      REAL F(4,4,4,INF4,INF5,NZ)

      end subroutine TCSPEVAL
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  TCSPEVXYZ
!
       INTERFACE TCSPEVXYZ

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  TCSPEVXYZ ... for meaning of arguments see the documentation

      SUBROUTINE    TCSPEVXYZ(
     > XGET,YGET,ZGET,X,NX,Y,NY,Z,NZ,ILINX,ILINY,ILINZ,I,J,K,DX,DY,DZ,
     > IER)

      IMPLICIT NONE

! argument declarations
      REAL XGET
      REAL YGET
      REAL ZGET
      INTEGER NX
      INTEGER NY
      INTEGER NZ
      INTEGER ILINX
      INTEGER ILINY
      INTEGER ILINZ
      INTEGER I
      INTEGER J
      INTEGER K
      REAL DX
      REAL DY
      REAL DZ
      INTEGER IER
      REAL X(NX)
      REAL Y(NY)
      REAL Z(NZ)

      end subroutine TCSPEVXYZ
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  TCSPEVFN
!
       INTERFACE TCSPEVFN

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  TCSPEVFN ... for meaning of arguments see the documentation

      SUBROUTINE    TCSPEVFN(
     > ICT,IVEC,IVD,FVAL,IV,JV,KV,DXV,DYV,DZV,F,INF4,INF5,NZ)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVD
      INTEGER INF4
      INTEGER INF5
      INTEGER NZ
      INTEGER ICT(10)
      REAL FVAL(IVD,*)
      INTEGER IV(IVEC)
      INTEGER JV(IVEC)
      INTEGER KV(IVEC)
      REAL DXV(IVEC)
      REAL DYV(IVEC)
      REAL DZV(IVEC)
      REAL F(4,4,4,INF4,INF5,NZ)

      end subroutine TCSPEVFN
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  TCSPGRID
!
       INTERFACE TCSPGRID

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  TCSPGRID ... for meaning of arguments see the documentation

      SUBROUTINE    TCSPGRID(
     > X_NEWGRID,NX_NEW,Y_NEWGRID,NY_NEW,Z_NEWGRID,NZ_NEW,F_NEW,IF1,IF2,
     > NX,XPKG,NY,YPKG,NZ,ZPKG,FSPL,INF4,INF5,IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER NX_NEW
      INTEGER NY_NEW
      INTEGER NZ_NEW
      INTEGER IF1
      INTEGER IF2
      INTEGER NX
      INTEGER NY
      INTEGER NZ
      INTEGER INF4
      INTEGER INF5
      INTEGER IWARN
      INTEGER IER
      REAL X_NEWGRID(NX_NEW)
      REAL Y_NEWGRID(NY_NEW)
      REAL Z_NEWGRID(NZ_NEW)
      REAL F_NEW(IF1,IF2,NZ_NEW)
      REAL XPKG(NX,4)
      REAL YPKG(NY,4)
      REAL ZPKG(NZ,4)
      REAL FSPL(4,4,4,INF4,INF5,NZ)

      end subroutine TCSPGRID
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  TCSPLINE
!
       INTERFACE TCSPLINE

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  TCSPLINE ... for meaning of arguments see the documentation

      SUBROUTINE    TCSPLINE(
     > X,INX,TH,INTH,PH,INPH,FSPL,INF4,INF5,IBCXMIN,BCXMIN,IBCXMAX,
     > BCXMAX,INB1X,IBCTHMIN,BCTHMIN,IBCTHMAX,BCTHMAX,INB1TH,IBCPHMIN,
     > BCPHMIN,IBCPHMAX,BCPHMAX,INB1PH,WK,NWK,ILINX,ILINTH,ILINPH,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER INX
      INTEGER INTH
      INTEGER INPH
      INTEGER INF4
      INTEGER INF5
      INTEGER IBCXMIN
      INTEGER IBCXMAX
      INTEGER INB1X
      INTEGER IBCTHMIN
      INTEGER IBCTHMAX
      INTEGER INB1TH
      INTEGER IBCPHMIN
      INTEGER IBCPHMAX
      INTEGER INB1PH
      INTEGER NWK
      INTEGER ILINX
      INTEGER ILINTH
      INTEGER ILINPH
      INTEGER IER
      REAL X(INX)
      REAL TH(INTH)
      REAL PH(INPH)
      REAL FSPL(4,4,4,INF4,INF5,INPH)
      REAL BCXMIN(INB1X,*)
      REAL BCXMAX(INB1X,*)
      REAL BCTHMIN(INB1TH,*)
      REAL BCTHMAX(INB1TH,*)
      REAL BCPHMIN(INB1PH,*)
      REAL BCPHMAX(INB1PH,*)
      REAL WK(NWK)

      end subroutine TCSPLINE
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  TCSPCORR
!
       INTERFACE TCSPCORR

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  TCSPCORR ... for meaning of arguments see the documentation

      SUBROUTINE    TCSPCORR(
     > X,INX,TH,INTH,PH,INPH,FSPL,INF4,INF5,IBCXMIN,IBCXMAX,IBCTHMIN,
     > IBCTHMAX,IBCPHMIN,BCPH1,IBCPHMAX,BCPH2,CCORR,WK,NWK)

      IMPLICIT NONE

! argument declarations
      INTEGER INX
      INTEGER INTH
      INTEGER INPH
      INTEGER INF4
      INTEGER INF5
      INTEGER IBCXMIN
      INTEGER IBCXMAX
      INTEGER IBCTHMIN
      INTEGER IBCTHMAX
      INTEGER IBCPHMIN
      INTEGER IBCPHMAX
      INTEGER NWK
      REAL X(INX)
      REAL TH(INTH)
      REAL PH(INPH)
      REAL FSPL(4,4,4,INF4,INF5,INPH)
      REAL BCPH1(INX,INTH)
      REAL BCPH2(INX,INTH)
      REAL CCORR(3,4,INX,INTH,INPH)
      REAL WK(NWK)

      end subroutine TCSPCORR
!
         END INTERFACE
!==============================================================
!  iface -- generated interface body module:  TCSP23
!
       INTERFACE TCSP23

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  TCSP23 ... for meaning of arguments see the documentation

      SUBROUTINE    TCSP23(
     > X,INX,TH,INTH,FSPL,INF4,IBCXMIN,BCXMIN,IBCXMAX,BCXMAX,IBCTHMIN,
     > BCTHMIN,IBCTHMAX,BCTHMAX,FSPL2,WK,NWK,ILINX,ILINTH,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER INX
      INTEGER INTH
      INTEGER INF4
      INTEGER IBCXMIN
      INTEGER IBCXMAX
      INTEGER IBCTHMIN
      INTEGER IBCTHMAX
      INTEGER NWK
      INTEGER ILINX
      INTEGER ILINTH
      INTEGER IER
      REAL X(INX)
      REAL TH(INTH)
      REAL FSPL(4,4,4,INF4,INTH)
      REAL BCXMIN(INTH)
      REAL BCXMAX(INTH)
      REAL BCTHMIN(INX)
      REAL BCTHMAX(INX)
      REAL FSPL2(4,4,INX,INTH)
      REAL WK(NWK)

      end subroutine TCSP23
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  TCSPVEC
!
       INTERFACE TCSPVEC

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  TCSPVEC ... for meaning of arguments see the documentation

      SUBROUTINE    TCSPVEC(
     > ICT,IVEC,XVEC,YVEC,ZVEC,IVD,FVAL,NX,XPKG,NY,YPKG,NZ,ZPKG,FSPL,
     > INF4,INF5,IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVD
      INTEGER NX
      INTEGER NY
      INTEGER NZ
      INTEGER INF4
      INTEGER INF5
      INTEGER IWARN
      INTEGER IER
      INTEGER ICT(10)
      REAL XVEC(IVEC)
      REAL YVEC(IVEC)
      REAL ZVEC(IVEC)
      REAL FVAL(IVD,*)
      REAL XPKG(NX,4)
      REAL YPKG(NY,4)
      REAL ZPKG(NZ,4)
      REAL FSPL(4,4,4,INF4,INF5,NZ)

      end subroutine TCSPVEC
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  TPSPLINB
!
       INTERFACE TPSPLINB

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  TPSPLINB ... for meaning of arguments see the documentation

      SUBROUTINE    TPSPLINB(
     > X,INX,TH,INTH,PH,INPH,FSPL,INF4,INF5,IBCXMIN,BCXMIN,IBCXMAX,
     > BCXMAX,INB1,WK,NWK,ILINX,ILINTH,ILINPH,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER INX
      INTEGER INTH
      INTEGER INPH
      INTEGER INF4
      INTEGER INF5
      INTEGER IBCXMIN
      INTEGER IBCXMAX
      INTEGER INB1
      INTEGER NWK
      INTEGER ILINX
      INTEGER ILINTH
      INTEGER ILINPH
      INTEGER IER
      REAL X(INX)
      REAL TH(INTH)
      REAL PH(INPH)
      REAL FSPL(4,4,4,INF4,INF5,INPH)
      REAL BCXMIN(INB1,INPH)
      REAL BCXMAX(INB1,INPH)
      REAL WK(NWK)

      end subroutine TPSPLINB
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  TPSPLINE
!
       INTERFACE TPSPLINE

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  TPSPLINE ... for meaning of arguments see the documentation

      SUBROUTINE    TPSPLINE(
     > X,INX,TH,INTH,PH,INPH,FSPL,INF4,INF5,WK,NWK,ILINX,ILINTH,ILINPH,
     > IER)

      IMPLICIT NONE

! argument declarations
      INTEGER INX
      INTEGER INTH
      INTEGER INPH
      INTEGER INF4
      INTEGER INF5
      INTEGER NWK
      INTEGER ILINX
      INTEGER ILINTH
      INTEGER ILINPH
      INTEGER IER
      REAL X(INX)
      REAL TH(INTH)
      REAL PH(INPH)
      REAL FSPL(4,4,4,INF4,INF5,INPH)
      REAL WK(NWK)

      end subroutine TPSPLINE
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  UTIL_BCHERM1
!
       INTERFACE UTIL_BCHERM1

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  UTIL_BCHERM1 ... for meaning of arguments see the documentation

      SUBROUTINE    UTIL_BCHERM1(
     > FHERM,IDIMX1,JBCXA,JBCXB,ZBCXA,ZBCXB,X1)

      IMPLICIT NONE

! argument declarations
      INTEGER IDIMX1
      INTEGER JBCXA
      INTEGER JBCXB
      REAL ZBCXA
      REAL ZBCXB
      REAL FHERM(0:1,IDIMX1)
      REAL X1(IDIMX1)

      end subroutine UTIL_BCHERM1
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  UTIL_BCHERM2
!
       INTERFACE UTIL_BCHERM2

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  UTIL_BCHERM2 ... for meaning of arguments see the documentation

      SUBROUTINE    UTIL_BCHERM2(
     > FHERM,IDIMX1,IDIMX2,JBCX1A,JBCX1B,JBCX2A,JBCX2B,ZBCX1A,ZBCX1B,
     > ZBCX2A,ZBCX2B,X1,X2)

      IMPLICIT NONE

! argument declarations
      INTEGER IDIMX1
      INTEGER IDIMX2
      INTEGER JBCX1A
      INTEGER JBCX1B
      INTEGER JBCX2A
      INTEGER JBCX2B
      REAL FHERM(0:3,IDIMX1,IDIMX2)
      REAL ZBCX1A(IDIMX2)
      REAL ZBCX1B(IDIMX2)
      REAL ZBCX2A(IDIMX1)
      REAL ZBCX2B(IDIMX1)
      REAL X1(IDIMX1)
      REAL X2(IDIMX2)

      end subroutine UTIL_BCHERM2
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  UTIL_BCHERM3
!
       INTERFACE UTIL_BCHERM3

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  UTIL_BCHERM3 ... for meaning of arguments see the documentation

      SUBROUTINE    UTIL_BCHERM3(
     > FHERM,IDIMX1,IDIMX2,IDIMX3,JBCX1A,JBCX1B,JBCX2A,JBCX2B,JBCX3A,
     > JBCX3B,ZBCX1A,ZBCX1B,ZBCX2A,ZBCX2B,ZBCX3A,ZBCX3B,X1,X2,X3)

      IMPLICIT NONE

! argument declarations
      INTEGER IDIMX1
      INTEGER IDIMX2
      INTEGER IDIMX3
      INTEGER JBCX1A
      INTEGER JBCX1B
      INTEGER JBCX2A
      INTEGER JBCX2B
      INTEGER JBCX3A
      INTEGER JBCX3B
      REAL FHERM(0:7,IDIMX1,IDIMX2,IDIMX3)
      REAL ZBCX1A(IDIMX2,IDIMX3)
      REAL ZBCX1B(IDIMX2,IDIMX3)
      REAL ZBCX2A(IDIMX1,IDIMX3)
      REAL ZBCX2B(IDIMX1,IDIMX3)
      REAL ZBCX3A(IDIMX2,IDIMX3)
      REAL ZBCX3B(IDIMX2,IDIMX3)
      REAL X1(IDIMX1)
      REAL X2(IDIMX2)
      REAL X3(IDIMX3)

      end subroutine UTIL_BCHERM3
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  VECBICUB
!
       INTERFACE VECBICUB

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  VECBICUB ... for meaning of arguments see the documentation

      SUBROUTINE    VECBICUB(
     > ICT,IVEC,XVEC,YVEC,IVD,FVAL,NX,XPKG,NY,YPKG,FSPL,INF2,IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVD
      INTEGER NX
      INTEGER NY
      INTEGER INF2
      INTEGER IWARN
      INTEGER IER
      INTEGER ICT(6)
      REAL XVEC(IVEC)
      REAL YVEC(IVEC)
      REAL FVAL(IVD,*)
      REAL XPKG(NX,4)
      REAL YPKG(NY,4)
      REAL FSPL(0:3,INF2,NY)

      end subroutine VECBICUB
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  VECHERM1
!
       INTERFACE VECHERM1

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  VECHERM1 ... for meaning of arguments see the documentation

      SUBROUTINE    VECHERM1(
     > ICT,IVEC,XVEC,IVD,FVAL,NX,XPKG,FSPL,IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVD
      INTEGER NX
      INTEGER IWARN
      INTEGER IER
      INTEGER ICT(2)
      REAL XVEC(IVEC)
      REAL FVAL(IVD,*)
      REAL XPKG(NX,4)
      REAL FSPL(2,NX)

      end subroutine VECHERM1
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  VECHERM2
!
       INTERFACE VECHERM2

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  VECHERM2 ... for meaning of arguments see the documentation

      SUBROUTINE    VECHERM2(
     > ICT,IVEC,XVEC,YVEC,IVD,FVAL,NX,XPKG,NY,YPKG,FSPL,INF2,IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVD
      INTEGER NX
      INTEGER NY
      INTEGER INF2
      INTEGER IWARN
      INTEGER IER
      INTEGER ICT(4)
      REAL XVEC(IVEC)
      REAL YVEC(IVEC)
      REAL FVAL(IVD,*)
      REAL XPKG(NX,4)
      REAL YPKG(NY,4)
      REAL FSPL(0:3,INF2,NY)

      end subroutine VECHERM2
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  VECHERM3
!
       INTERFACE VECHERM3

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  VECHERM3 ... for meaning of arguments see the documentation

      SUBROUTINE    VECHERM3(
     > ICT,IVEC,XVEC,YVEC,ZVEC,IVD,FVAL,NX,XPKG,NY,YPKG,NZ,ZPKG,FSPL,
     > INF2,INF3,IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVD
      INTEGER NX
      INTEGER NY
      INTEGER NZ
      INTEGER INF2
      INTEGER INF3
      INTEGER IWARN
      INTEGER IER
      INTEGER ICT(10)
      REAL XVEC(IVEC)
      REAL YVEC(IVEC)
      REAL ZVEC(IVEC)
      REAL FVAL(IVD,*)
      REAL XPKG(NX,4)
      REAL YPKG(NY,4)
      REAL ZPKG(NZ,4)
      REAL FSPL(0:7,INF2,INF3,NZ)

      end subroutine VECHERM3
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  VECIN2D_ARGCHK
!
       INTERFACE VECIN2D_ARGCHK

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  VECIN2D_ARGCHK ... for meaning of arguments see the documentation

      SUBROUTINE    VECIN2D_ARGCHK(
     > SUBNAME,JSPLINE,ICOEFF,NX,NY,IXDIM,IYDIM,IER)

      IMPLICIT NONE

! argument declarations
      CHARACTER*(*) SUBNAME
      INTEGER ICOEFF
      INTEGER NX
      INTEGER NY
      INTEGER IXDIM
      INTEGER IYDIM
      INTEGER IER
      INTEGER JSPLINE(2)

      end subroutine VECIN2D_ARGCHK
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  VECIN3D_ARGCHK
!
       INTERFACE VECIN3D_ARGCHK

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  VECIN3D_ARGCHK ... for meaning of arguments see the documentation

      SUBROUTINE    VECIN3D_ARGCHK(
     > SUBNAME,JSPLINE,ICOEFF,NX,NY,NZ,IXDIM,IYDIM,IZDIM,IER)

      IMPLICIT NONE

! argument declarations
      CHARACTER*(*) SUBNAME
      INTEGER ICOEFF
      INTEGER NX
      INTEGER NY
      INTEGER NZ
      INTEGER IXDIM
      INTEGER IYDIM
      INTEGER IZDIM
      INTEGER IER
      INTEGER JSPLINE(3)

      end subroutine VECIN3D_ARGCHK
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  VECINTRP2D
!
       INTERFACE VECINTRP2D

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  VECINTRP2D ... for meaning of arguments see the documentation

      SUBROUTINE    VECINTRP2D(
     > ICT,IVEC,XVEC,YVEC,IVD,FVAL,NX,XPKG,NY,YPKG,JSPLINE,FSPL,ICOEFF,
     > IXDIM,IYDIM,IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVD
      INTEGER NX
      INTEGER NY
      INTEGER ICOEFF
      INTEGER IXDIM
      INTEGER IYDIM
      INTEGER IWARN
      INTEGER IER
      INTEGER ICT(6)
      REAL XVEC(IVEC)
      REAL YVEC(IVEC)
      REAL FVAL(IVD,*)
      REAL XPKG(NX,4)
      REAL YPKG(NY,4)
      INTEGER JSPLINE(2)
      REAL FSPL(ICOEFF,IXDIM,IYDIM)

      end subroutine VECINTRP2D
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  VECINTRP3D
!
       INTERFACE VECINTRP3D

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  VECINTRP3D ... for meaning of arguments see the documentation

      SUBROUTINE    VECINTRP3D(
     > ICT,IVEC,XVEC,YVEC,ZVEC,IVD,FVAL,NX,XPKG,NY,YPKG,NZ,ZPKG,JSPLINE,
     > FSPL,ICOEFF,IXDIM,IYDIM,IZDIM,IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVD
      INTEGER NX
      INTEGER NY
      INTEGER NZ
      INTEGER ICOEFF
      INTEGER IXDIM
      INTEGER IYDIM
      INTEGER IZDIM
      INTEGER IWARN
      INTEGER IER
      INTEGER ICT(10)
      REAL XVEC(IVEC)
      REAL YVEC(IVEC)
      REAL ZVEC(IVEC)
      REAL FVAL(IVD,*)
      REAL XPKG(NX,4)
      REAL YPKG(NY,4)
      REAL ZPKG(NZ,4)
      INTEGER JSPLINE(3)
      REAL FSPL(ICOEFF,IXDIM,IYDIM,IZDIM)

      end subroutine VECINTRP3D
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  VECPC1
!
       INTERFACE VECPC1

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  VECPC1 ... for meaning of arguments see the documentation

      SUBROUTINE    VECPC1(
     > ICT,IVEC,XVEC,IVD,FVAL,NX,XPKG,FSPL,IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVD
      INTEGER NX
      INTEGER IWARN
      INTEGER IER
      INTEGER ICT(2)
      REAL XVEC(IVEC)
      REAL FVAL(IVD,*)
      REAL XPKG(NX,4)
      REAL FSPL(NX)

      end subroutine VECPC1
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  VECPC2
!
       INTERFACE VECPC2

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  VECPC2 ... for meaning of arguments see the documentation

      SUBROUTINE    VECPC2(
     > ICT,IVEC,XVEC,YVEC,IVD,FVAL,NX,XPKG,NY,YPKG,FSPL,INF1,IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVD
      INTEGER NX
      INTEGER NY
      INTEGER INF1
      INTEGER IWARN
      INTEGER IER
      INTEGER ICT(4)
      REAL XVEC(IVEC)
      REAL YVEC(IVEC)
      REAL FVAL(IVD,*)
      REAL XPKG(NX,4)
      REAL YPKG(NY,4)
      REAL FSPL(INF1,NY)

      end subroutine VECPC2
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  VECPC3
!
       INTERFACE VECPC3

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  VECPC3 ... for meaning of arguments see the documentation

      SUBROUTINE    VECPC3(
     > ICT,IVEC,XVEC,YVEC,ZVEC,IVD,FVAL,NX,XPKG,NY,YPKG,NZ,ZPKG,FLIN,
     > INF1,INF2,IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVD
      INTEGER NX
      INTEGER NY
      INTEGER NZ
      INTEGER INF1
      INTEGER INF2
      INTEGER IWARN
      INTEGER IER
      INTEGER ICT(10)
      REAL XVEC(IVEC)
      REAL YVEC(IVEC)
      REAL ZVEC(IVEC)
      REAL FVAL(IVD,*)
      REAL XPKG(NX,4)
      REAL YPKG(NY,4)
      REAL ZPKG(NZ,4)
      REAL FLIN(INF1,INF2,NZ)

      end subroutine VECPC3
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  VECSPLINE
!
       INTERFACE VECSPLINE

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  VECSPLINE ... for meaning of arguments see the documentation

      SUBROUTINE    VECSPLINE(
     > ICT,IVEC,XVEC,IVD,FVAL,NX,XPKG,FSPL,IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVD
      INTEGER NX
      INTEGER IWARN
      INTEGER IER
      INTEGER ICT(3)
      REAL XVEC(IVEC)
      REAL FVAL(IVD,*)
      REAL XPKG(NX,4)
      REAL FSPL(2,NX)

      end subroutine VECSPLINE
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  VECTRICUB
!
       INTERFACE VECTRICUB

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  VECTRICUB ... for meaning of arguments see the documentation

      SUBROUTINE    VECTRICUB(
     > ICT,IVEC,XVEC,YVEC,ZVEC,IVD,FVAL,NX,XPKG,NY,YPKG,NZ,ZPKG,FSPL,
     > INF4,INF5,IWARN,IER)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER IVD
      INTEGER NX
      INTEGER NY
      INTEGER NZ
      INTEGER INF4
      INTEGER INF5
      INTEGER IWARN
      INTEGER IER
      INTEGER ICT(10)
      REAL XVEC(IVEC)
      REAL YVEC(IVEC)
      REAL ZVEC(IVEC)
      REAL FVAL(IVD,*)
      REAL XPKG(NX,4)
      REAL YPKG(NY,4)
      REAL ZPKG(NZ,4)
      REAL FSPL(8,INF4,INF5,NZ)

      end subroutine VECTRICUB
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  V_SPLINE
!
       INTERFACE V_SPLINE

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  V_SPLINE ... for meaning of arguments see the documentation

      SUBROUTINE    V_SPLINE(
     > K_BC1,K_BCN,N,X,F,WK)

      IMPLICIT NONE

! argument declarations
      INTEGER K_BC1
      INTEGER K_BCN
      INTEGER N
      REAL X(*)
      REAL F(4,*)
      REAL WK(*)

      end subroutine V_SPLINE
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  XLOOKUP
!
       INTERFACE XLOOKUP

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  XLOOKUP ... for meaning of arguments see the documentation

      SUBROUTINE    XLOOKUP(
     > IVEC,XVEC,NX,XPKG,IMODE,IV,DXN,HV,HIV,IWARN)

      IMPLICIT NONE

! argument declarations
      INTEGER IVEC
      INTEGER NX
      INTEGER IMODE
      INTEGER IWARN
      REAL XVEC(IVEC)
      REAL XPKG(NX,4)
      INTEGER IV(IVEC)
      REAL DXN(IVEC)
      REAL HV(IVEC)
      REAL HIV(IVEC)

      end subroutine XLOOKUP
!
         END INTERFACE
 ! block file generated by iface.for -- 25Apr2007
!==============================================================
!  iface -- generated interface body module:  ZONFIND
!
       INTERFACE ZONFIND

!----------------------------------------------------------
!  iface:  interface block generated segment for subroutine
!  ZONFIND ... for meaning of arguments see the documentation

      SUBROUTINE    ZONFIND(
     > X,NX,ZXGET,I)

      IMPLICIT NONE

! argument declarations
      INTEGER NX
      REAL ZXGET
      INTEGER I
      REAL X(NX)

      end subroutine ZONFIND
!
         END INTERFACE
!
      END MODULE pspline_calls