Source t208x.f

### PROGRAM PROB5_4DIM ( )

> Description
>        ftnchek test file: t208x.f, Mon Mar 13 14:13:16 1995
>        Adapted from a benchmark program at the University of Utah, with
>        code bodies and most comments eliminated.  ftnchek's -makedcls
>        option and the dcl2inc program have been subsequently used on
>        the original copy of this program to replace all in-line COMMON
>        blocks with INCLUDE statements and separate include files.

>     Modified Sat Feb  3 10:07:52 EST 2001 by R. Moniot to include a
>     NAMELIST declaration to improve it as a test of ftnchek.  The
>     declarations were excerpted from the PLOT79 grfgg3.sf3 file.

> Source file: | t208x.f

> Parameter Variables Used
>     INTEGER            l2ng               (l2ng = 6)
>     INTEGER            ng                 (ng = 2**l2ng)
>     INTEGER            nb                 (nb = ng+2)
>     INTEGER            nbp1               (nbp1 = nb+1)
>     INTEGER            nr                 (nr = 32)
>     INTEGER            nt                 (nt = 16)
>     INTEGER            nr2                (nr2 = nr+2)
>     INTEGER            nt1                (nt1 = nt+1)
>     INTEGER            nw                 (nw = 2*nt+15)
>     INTEGER            mmax               (mmax = 200)

### SUBROUTINE UINIT ( )

> Source file: | t208x.f

> Parameter Variables Used
>     INTEGER            l2ng               (l2ng = 6)
>     INTEGER            ng                 (ng = 2**l2ng)
>     INTEGER            nb                 (nb = ng+2)
>     INTEGER            nbp1               (nbp1 = nb+1)
>     INTEGER            nr                 (nr = 32)
>     INTEGER            nt                 (nt = 16)
>     INTEGER            nr2                (nr2 = nr+2)
>     INTEGER            nt1                (nt1 = nt+1)
>     INTEGER            mmax               (mmax = 200)

### SUBROUTINE XINIT ( )

> Source file: | t208x.f

> Parameter Variables Used
>     INTEGER            l2ng               (l2ng = 6)
>     INTEGER            ng                 (ng = 2**l2ng)
>     INTEGER            nb                 (nb = ng+2)
>     INTEGER            nbp1               (nbp1 = nb+1)

### SUBROUTINE NAVS2D ( )

> Source file: | t208x.f

> Parameter Variables Used
>     INTEGER            l2ng               (l2ng = 6)
>     INTEGER            ng                 (ng = 2**l2ng)
>     INTEGER            nb                 (nb = ng+2)
>     INTEGER            nbp1               (nbp1 = nb+1)

### SUBROUTINE TRIDGX ( A, B, C, W, Y )

> Argument Definitions (+ indicates altered content)
>     DOUBLE PRECISION   a,          b(0:nbp1,0:nbp1)
>     DOUBLE PRECISION   c(0:nbp1,0:nbp1),       w(0:nbp1,0:nbp1)
>     DOUBLE PRECISION   y(0:nbp1,0:nbp1)

> Source file: | t208x.f

> Parameter Variables Used
>     INTEGER            l2ng               (l2ng = 6)
>     INTEGER            ng                 (ng = 2**l2ng)
>     INTEGER            nb                 (nb = ng+2)
>     INTEGER            n                  (n = ng-1)
>     INTEGER            nbp1               (nbp1 = nb+1)

### SUBROUTINE TRIDGY ( A, B, C, W, Y )

> Argument Definitions (+ indicates altered content)
>     DOUBLE PRECISION   a,          b(0:nbp1,0:nbp1)
>     DOUBLE PRECISION   c(0:nbp1,0:nbp1),       w(0:nbp1,0:nbp1)
>     DOUBLE PRECISION   y(0:nbp1,0:nbp1)

> Source file: | t208x.f

> Parameter Variables Used
>     INTEGER            l2ng               (l2ng = 6)
>     INTEGER            ng                 (ng = 2**l2ng)
>     INTEGER            nb                 (nb = ng+2)
>     INTEGER            n                  (n = ng-1)
>     INTEGER            nbp1               (nbp1 = nb+1)

### SUBROUTINE NEWU ( W2, P )

> Argument Definitions (+ indicates altered content)
>     DOUBLE PRECISION   p(0:nbp1,0:nbp1),       w2(0:nbp1,0:nbp1,2)

> Source file: | t208x.f

> Parameter Variables Used
>     INTEGER            l2ng               (l2ng = 6)
>     INTEGER            ng                 (ng = 2**l2ng)
>     INTEGER            nb                 (nb = ng+2)
>     INTEGER            nbp1               (nbp1 = nb+1)

### SUBROUTINE DIV ( S3, W2, D )

> Argument Definitions (+ indicates altered content)
>     DOUBLE PRECISION   d(0:nbp1,0:nbp1),       s3
>     DOUBLE PRECISION   w2(0:nbp1,0:nbp1,2)

> Source file: | t208x.f

> Parameter Variables Used
>     INTEGER            l2ng               (l2ng = 6)
>     INTEGER            ng                 (ng = 2**l2ng)
>     INTEGER            nb                 (nb = ng+2)
>     INTEGER            nbp1               (nbp1 = nb+1)

### SUBROUTINE FFT2D ( A, B, ISIGN )

> Argument Definitions (+ indicates altered content)
>     DOUBLE PRECISION   a(0:nbp1,0:nbp1),       b(0:nbp1,0:nbp1)
>     INTEGER            isign

> Source file: | t208x.f

> Parameter Variables Used
>     INTEGER            l2ng               (l2ng = 6)
>     INTEGER            ng                 (ng = 2**l2ng)
>     INTEGER            nb                 (nb = ng+2)
>     INTEGER            n                  (n = ng)
>     INTEGER            nbp1               (nbp1 = nb+1)

### SUBROUTINE PHIA2D ( N )

> Argument Definitions (+ indicates altered content)
>     INTEGER            n

> Source file: | t208x.f

> Parameter Variables Used
>     INTEGER            l2ng               (l2ng = 6)
>     INTEGER            ng                 (ng = 2**l2ng)
>     INTEGER            nb                 (nb = ng+2)
>     INTEGER            nbp1               (nbp1 = nb+1)

### SUBROUTINE ZAG2D ( N )

> Argument Definitions (+ indicates altered content)
>     INTEGER            n

> Source file: | t208x.f

> Parameter Variables Used
>     INTEGER            l2ng               (l2ng = 6)
>     INTEGER            ng                 (ng = 2**l2ng)
>     INTEGER            nb                 (nb = ng+2)
>     INTEGER            nbp1               (nbp1 = nb+1)

### SUBROUTINE PLOT ( TIME, N, U, F, PHIA, PHIN, C, ZAG, XM, ELF, NK )

> Argument Definitions (+ indicates altered content)
>     DOUBLE PRECISION   c(0:nbp1,0:nbp1)
>     DOUBLE PRECISION   elf(0:nbp1,0:nbp1,0:nr2,nt1)
>     DOUBLE PRECISION   f(0:nbp1,0:nbp1,2),     phia(0:nbp1,0:nbp1)
>     DOUBLE PRECISION   phin(0:nbp1,0:nbp1),    time
>     DOUBLE PRECISION   u(0:nbp1,0:nbp1,2),     xm(mmax,2)
>     DOUBLE PRECISION   zag(0:nbp1,0:nbp1)
>     INTEGER            n,          nk

> Description
>     prints out data(0:ng,0:ng) for subsequent plotting

> Source file: | t208x.f

> Parameter Variables Used
>     INTEGER            l2ng               (l2ng = 6)
>     INTEGER            ng                 (ng = 2**l2ng)
>     INTEGER            nb                 (nb = ng+2)
>     INTEGER            nbp1               (nbp1 = nb+1)
>     INTEGER            nr                 (nr = 32)
>     INTEGER            nt                 (nt = 16)
>     INTEGER            nr2                (nr2 = nr+2)
>     INTEGER            nt1                (nt1 = nt+1)
>     INTEGER            mmax               (mmax = 200)

### SUBROUTINE MARKERS ( )

> Source file: | t208x.f

> Parameter Variables Used
>     INTEGER            l2ng               (l2ng = 6)
>     INTEGER            ng                 (ng = 2**l2ng)
>     INTEGER            nb                 (nb = ng+2)
>     INTEGER            nbp1               (nbp1 = nb+1)
>     INTEGER            mmax               (mmax = 200)

### SUBROUTINE PHIN2D ( N )

> Argument Definitions (+ indicates altered content)
>     INTEGER            n

> Source file: | t208x.f

> Parameter Variables Used
>     INTEGER            l2ng               (l2ng = 6)
>     INTEGER            ng                 (ng = 2**l2ng)
>     INTEGER            nb                 (nb = ng+2)
>     INTEGER            nbp1               (nbp1 = nb+1)

### SUBROUTINE CHEM2D ( N )

> Argument Definitions (+ indicates altered content)
>     INTEGER            n

> Source file: | t208x.f

> Parameter Variables Used
>     INTEGER            l2ng               (l2ng = 6)
>     INTEGER            ng                 (ng = 2**l2ng)
>     INTEGER            nb                 (nb = ng+2)
>     INTEGER            nbp1               (nbp1 = nb+1)

### SUBROUTINE CHLFAC ( DIAG, SUBD, NN )

> Argument Definitions (+ indicates altered content)
>     DOUBLE PRECISION   diag(nn),   subd(nn)
>     INTEGER            nn

> Source file: | t208x.f

### SUBROUTINE CHLSLV ( DIAG, SUB, NM1, B, X )

> Argument Definitions (+ indicates altered content)
>     DOUBLE PRECISION   b(nm1+1),   diag(nm1),  sub(nm1),   x(nm1)
>     INTEGER            nm1

> Source file: | t208x.f

> Parameter Variables Used
>     INTEGER            l2ng               (l2ng = 6)
>     INTEGER            ng                 (ng = 2**l2ng)
>     INTEGER            nb                 (nb = ng+2)
>     INTEGER            nbp1               (nbp1 = nb+1)
>     INTEGER            max                (max = nbp1)

### SUBROUTINE PERIOD ( PH )

> Argument Definitions (+ indicates altered content)
>     DOUBLE PRECISION   ph(0:nbp1,0:nbp1)

> Description
>     extend ph periodically

> Source file: | t208x.f

> Parameter Variables Used
>     INTEGER            l2ng               (l2ng = 6)
>     INTEGER            ng                 (ng = 2**l2ng)
>     INTEGER            nb                 (nb = ng+2)
>     INTEGER            nbp1               (nbp1 = nb+1)

### DOUBLE PRECISION FUNCTION SOL ( V, L, R )

> Argument Definitions (+ indicates altered content)
>     DOUBLE PRECISION   l,          r,          v

> Source file: | t208x.f

### SUBROUTINE DIFFU ( PH, PHN, K1, ALPHA )

> Argument Definitions (+ indicates altered content)
>     DOUBLE PRECISION   alpha,      k1,         ph(0:nbp1,0:nbp1)
>     DOUBLE PRECISION   phn(0:nbp1,0:nbp1)

> Source file: | t208x.f

> Parameter Variables Used
>     INTEGER            l2ng               (l2ng = 6)
>     INTEGER            ng                 (ng = 2**l2ng)
>     INTEGER            nb                 (nb = ng+2)
>     INTEGER            nbp1               (nbp1 = nb+1)

### SUBROUTINE REACT ( )

> Source file: | t208x.f

> Parameter Variables Used
>     INTEGER            l2ng               (l2ng = 6)
>     INTEGER            ng                 (ng = 2**l2ng)
>     INTEGER            nb                 (nb = ng+2)
>     INTEGER            nbp1               (nbp1 = nb+1)
>     INTEGER            nr                 (nr = 32)
>     INTEGER            nt                 (nt = 16)
>     INTEGER            nr2                (nr2 = nr+2)
>     INTEGER            nt1                (nt1 = nt+1)