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)