*" PACKAGE AKEANL !" $@1?F0%(%M%k%.!<@8@.;60o7W;;(J
*"                  ver 1.00                   94/01/25 takepiro
*"                  ver 1.01                   95/06/12 takepiro Bug fix
***********************************************************************
      PROGRAM AEDYFL                        !" $@%a%$%s%k!<%A%s(J
*
*"    Boussinesq $@A45e%b%G%k(J
*"      $@Hs@~7A9`$N7W;;(J, $@=PNO(J
*
*   [PARAM]
#ifdef SYS_IBMS
      INCLUDE   (ZCDIM)                      !" $@3J;RE@?t(J, $@GH?t(J
      INCLUDE   (ZHDIM)                      !" $@J8;zNsJ8;z?t(J
      INCLUDE   (ZCCOM)                      !" $@I8=`J*M}Dj?t(J
#else
#include        "zcdim.F"                    !" $@3J;RE@?t(J, $@GH?t(J
#include        "zhdim.F"                    !" $@J8;zNsJ8;z?t(J
#include        "zccom.F"                    !" $@I8=`J*M}Dj?t(J
#endif
*
*   [VAR]
      REAL       GAU   ( IDIM, JDIM, 0:KDIM )  !" $@@>Iw(J   $@#u(J
      REAL       GAV   ( IDIM, JDIM, 0:KDIM )  !" $@FnIw(J   $@#v(J
      REAL       GAW   ( IDIM, JDIM, 0:KDIM )  !" $@1tD>Iw(J $@#w(J
      REAL       GAT   ( IDIM, JDIM, 0:KDIM )  !" $@29EY(J   $@#T(J
      REAL       GATOR ( IDIM, JDIM, 0:KDIM )  !" $@%H%m%$%@%k(J $@&7(J
      REAL       GAPOR ( IDIM, JDIM, 0:KDIM )  !" $@%]%m%$%@%k(J $@&5(J
*"       : $@3J;RE@%G!<%?(J(t) <DYNMCS>  $@3J;RE@%G!<%?(J(t+$@&$(Jt)
*
      REAL       GEXX  ( IDIM, JDIM, 0:KDIM )  !" $@JQ7A%F%s%=%k(J e_xx
      REAL       GEYY  ( IDIM, JDIM, 0:KDIM )  !" $@JQ7A%F%s%=%k(J e_yy
      REAL       GEZZ  ( IDIM, JDIM, 0:KDIM )  !" $@JQ7A%F%s%=%k(J e_zz
      REAL       GEXY  ( IDIM, JDIM, 0:KDIM )  !" $@JQ7A%F%s%=%k(J e_xy
      REAL       GEYZ  ( IDIM, JDIM, 0:KDIM )  !" $@JQ7A%F%s%=%k(J e_yz
      REAL       GEZX  ( IDIM, JDIM, 0:KDIM )  !" $@JQ7A%F%s%=%k(J e_zx
*
      REAL       GKEGE  ( IDIM, JDIM, 0:KDIM )  !" $@1?F0%(%M%k%.!<@8@.(J
      REAL       GKEDS  ( IDIM, JDIM, 0:KDIM )  !" $@1?F0%(%M%k%.!<;60o(J
*
*"       : <DYNMCS> $@3J;RE@JQ2=9`(J(D)
*
      INTEGER    ISTEP                 !" $@DL$7%9%F%C%W?t(J
      INTEGER    ITA                   !" $@DL$7;~4V(J(t), $@I8=`;~4VC10L(J
c$$$      INTEGER    IDATEA( 6 )           !" $@;~9oG/7nF|;~J,IC(J($@%@%_!<(J)
*"       : $@;~9oEy(J
*
*   [ONCE]
      INTEGER    ITSTRT                !" $@7W;;3+;O;~9o(J($@I8=`;~4VC10L(J)
      INTEGER    ITEND                 !" $@7W;;=*N;;~9o(J($@I8=`;~4VC10L(J)
      INTEGER    IORSTR                !" $@=PNO4V3V!':F=PH/(J($@I8=`;~4VC10L(J)
*"       : $@<B834IM}%Q%i%a!<%?(J
*
      INTEGER    IDELT                 !" $@I8=`;~4V9o$_(J(SEC)
*"       : $@;~4V%9%F%C%W%Q%i%a!<%?(J
*
*"    COMMON /COMCON/ ( include ZCCOM )
*     REAL       ERI                          !" $@Fb7B(J
*     REAL       ERO                          !" $@307B(J
*     REAL       ETA                          !" $@Fb7B(J/$@307B(J
*"    COMMON /COMCON/ end
*"       : $@J*M}%Q%i%a!<%?(J
*
      REAL       ALAT  ( JDIM )        !" $@0^EY(J
      REAL       DLAT  ( JDIM )        !" $@0^EY2Y=E(J
      REAL       ALON  ( IDIM )        !" $@7PEY(J
      REAL       DLON  ( IDIM )        !" $@7PEY2Y=E(J
      REAL       ARAD  ( 0:KDIM )        !" $@#r%l%Y%k(J($@@0?t(J)
      REAL       DRAD  ( 0:KDIM )        !" $@&$#r(J($@@0?t(J)
*"       : $@:BI8CM(J
*
*   [WORK]
      COMMON    /COMWRK/ WORK
      REAL       WORK  ( NWORK )             !" $@%o!<%/NN0h(J
*
      INTEGER    IUNIT                 !" $@I8=`=PNOAuCVHV9f(J
*
c$$$      DATA      IDATEA / 1992, 12, 18, 0, 0, 0/
*
#ifdef DEBUG
      external common_handler
      integer i, ieee_handler
      i = ieee_handler("set","common",common_handler )
      if( i.ne. 0 ) print *, "Could not establish fp signal handler"
#endif
*
*" << SETPUP : $@=i4|@_Dj(J >>
*
      CALL GLPGET( 'MSGUNIT', IUNIT )
      WRITE ( IUNIT, * )' KINETIC ENERGY GENERATE/DISSIPATION AKEANL'
     &                   //NAME
     &                   //' ver.1.01, 95/06/12'
*
      CALL CLCSTR ( 'SETUP' )
      CALL YPREP                       !" $@%7%9%F%`A0=hM}(J 
*
      CALL SETPAR                      !" $@<B83%Q%i%a!<%?(J
     O         ( ITSTRT , ITEND , IORSTR ,
     O           IDELT                      )
*
      CALL SETCOR                      !" $@:BI8CM(J
     O         ( ALON  , DLON  ,
     O           ALAT  , DLAT  ,
     O           ARAD  , DRAD   )
*
      CALL RDSTRT                      !" $@=i4|CM$NFI$_9~$_$H:F@8@.(J
     O         ( GAU   , GAV   , GAW   , GAT   , 
     O           GATOR , GAPOR ,
     O           ITA   , ISTEP ,
     C           ITSTRT, ALAT  , DLAT  , ARAD  , DRAD     )
*
      CALL ADMXMN 
     I         ( GAU   , GAV   , GAW   , GAT   , 
     I           GATOR , GAPOR , ITA   , 'start GA'      )
*
      CALL AHSTRG                      !" $@=PNO@_Dj(J
*
      CALL SETTIM                      !" $@;~9o$r5-21(J 
     I         ( ITA-IDELT, ISTEP-1  )
*
      CALL HISTOU
*
      CALL SETTIM                      !" $@;~9o$r5-21(J 
     I         ( ITA   , ISTEP  )
*
*
*" << $@1?F0%(%M%k%.!<;60o7W;;(J >>
*
      CALL DKEANL
     O      (  GKEGE, GKEDS,
     O         GEXX , GEYY , GEZZ , 
     O         GEXY , GEYZ , GEZX , 
     I         GAU  , GAV  , GAW  , GAT  , 
     C         ALON , DLON , ALAT , DLAT , 
     C         ARAD , DRAD                 )
*
*"  << $@;60o9`$N=PNO(J >>
*
      CALL HISTIN ( GKEGE , 'KEGE' ) !" $@=PNONN0h$X(J
      CALL HISTIN ( GKEDS , 'KEDS' )
      CALL HISTIN ( GEXX  , 'EXX' ) 
      CALL HISTIN ( GEYY  , 'EYY' )
      CALL HISTIN ( GEZZ  , 'EZZ' )
      CALL HISTIN ( GEXY  , 'EXY' )
      CALL HISTIN ( GEYZ  , 'EYZ' )
      CALL HISTIN ( GEZX  , 'EZX' )
*
      CALL HISTOU
*
      CALL YFINE                       !" $@%7%9%F%`8e=hM}(J
*
      STOP
      END
***********************************************************************
      SUBROUTINE DKEANL                !" $@1?F0%(%M%k%.!<@8@.;60o9`7W;;(J
     O      (  GKEGE, GKEDS, 
     O         GEXX , GEYY , GEZZ , 
     O         GEXY , GEYZ , GEZX , 
     I         GDU  , GDV  , GDW  , GDT  , 
     C         ALON , DLON , ALAT , DLAT , 
     C         ARAD , DRAD                 )
*
*   [PARAM]
#ifdef SYS_IBMS
      INCLUDE   (ZCDIM)                      !" $@3J;RE@?t(J, $@GH?t(J
      INCLUDE   (ZHDIM)                      !" $@J8;zNsJ8;z?t(J
#else
#include        "zcdim.F"                    !" $@3J;RE@?t(J, $@GH?t(J
#include        "zhdim.F"                    !" $@J8;zNsJ8;z?t(J
#endif
*
*"  [OUTPUT]
      REAL       GKEGE ( IDIM*JDIM, 0:KDIM ) !" $@1?F0%(%M%k%.!<@8@.(J
      REAL       GKEDS ( IDIM*JDIM, 0:KDIM ) !" $@1?F0%(%M%k%.!<;60o(J
*
      REAL       GEXX  ( IDIM*JDIM, 0:KDIM ) !" $@JQ7A%F%s%=%k(J e_xx
      REAL       GEYY  ( IDIM*JDIM, 0:KDIM ) !" $@JQ7A%F%s%=%k(J e_yy
      REAL       GEZZ  ( IDIM*JDIM, 0:KDIM ) !" $@JQ7A%F%s%=%k(J e_zz
      REAL       GEXY  ( IDIM*JDIM, 0:KDIM ) !" $@JQ7A%F%s%=%k(J e_xy
      REAL       GEYZ  ( IDIM*JDIM, 0:KDIM ) !" $@JQ7A%F%s%=%k(J e_yz
      REAL       GEZX  ( IDIM*JDIM, 0:KDIM ) !" $@JQ7A%F%s%=%k(J e_zx
*
*"  [INPUT]
      REAL       GDU   ( IDIM*JDIM, 0:KDIM ) !" $@@>Iw(J   $@#u(J
      REAL       GDV   ( IDIM*JDIM, 0:KDIM ) !" $@FnIw(J   $@#v(J
      REAL       GDW   ( IDIM*JDIM, 0:KDIM ) !" $@1tD>Iw(J $@#w(J
      REAL       GDT   ( IDIM*JDIM, 0:KDIM ) !" $@29EY(J   $@#T(J
*
      REAL       ALAT  ( JDIM )              !" $@0^EY(J
      REAL       DLAT  ( JDIM )              !" $@0^EY2Y=E(J
      REAL       ALON  ( IDIM )              !" $@7PEY(J
      REAL       DLON  ( IDIM )              !" $@7PEY2Y=E(J
      REAL       ARAD  ( 0:KDIM )            !" $@#r%l%Y%k(J($@@0?t(J)
      REAL       DRAD  ( 0:KDIM )            !" $@&$#r(J($@@0?t(J)
*
*   [INTERNAL WORK]
      REAL       GDVDX ( IDIM*JDIM, 0:KDIM ) !" $@B.EY>l$N(J X $@HyJ,(J
      REAL       GDVDY ( IDIM*JDIM, 0:KDIM ) !" $@B.EY>l$N(J Y $@HyJ,(J
      REAL       GDVDZ ( IDIM*JDIM, 0:KDIM ) !" $@B.EY>l$N(J Z $@HyJ,(J
*
*   [INTERNAL ONCE]
      INTEGER    NMO   ( 2, 0:MMAX, 0:LMAX ) !" $@%9%Z%/%H%k$NE:;z=gHV(J
      REAL       FLAPLA( NMDIM  )            !" $@%i%W%i%7%"%s$N78?t(J
      REAL       EDEL  ( NMDIM  )            !" $@&F!$#D"*#U!$#V(J
      REAL       UVFACT ( IDIM, JDIM )       !" u$@"*(JU $@$N%U%!%/%?!<(J
      REAL       TANG   ( IDIM*JDIM )        !" tan($@&U(J)
*
      REAL       RAYL                        !" $@%l%$%j!<?t(J
      REAL       TAU                         !" $@"e%F%$%i!<?t(J
      REAL       PRND                        !" $@%W%i%s%I%k?t(J
      LOGICAL    ONONLN                      !" $@Hs@~7A7W;;%9%$%C%A(J($@%@%_!<(J)
*
      INTEGER    I, J, K, IJ
*
      LOGICAL    OFIRST
      DATA       OFIRST / .TRUE. /
      SAVE       OFIRST , 
     &           NMO  , FLAPLA , EDEL , UVFACT, TANG , 
     &           RAYL , TAU    , PRND
*
*" << 0. $@Dj?t@_Dj(J >>
*
      IF ( OFIRST ) THEN
         OFIRST = .FALSE. 
*
*"     < 0.1 $@%9%Z%/%H%kDj?t@_Dj(J >
*
         CALL DSETC
     O         ( NMO   , FLAPLA, EDEL  , UVFACT, 
     C           ALAT  , DLAT                      )
*
         IJ = 0
         DO 100 J = 1, JDIM
            DO 100 I = 1, IDIM
               IJ = IJ + 1
               TANG( IJ ) = TAN( ALAT( J ) )
 100     CONTINUE 
*
*"     < 0.2 $@NO3XDj?t@_Dj(J >
*
         CALL    DPARM                     !" $@%Q%i%a%?!<@_Dj(J
     O             ( RAYL   , TAU  , PRND  , 
     O               ONONLN                   )
*
         CALL HSPARM
     I          ( 'RAYLEIGH NUMBER', RAYL   )
         CALL HSPARM
     I          ( 'TAYLOR NUMBER'  , TAU**2 )
         CALL HSPARM
     I          ( 'PRANDTL NUMBER' , PRND   )
*
      ENDIF
*
*" << 1. $@JQ7A%F%s%=%k$N7W;;(J >>
*
      CALL RESET( GEXX , IDIM*JDIM*KMAX )
      CALL RESET( GEYY , IDIM*JDIM*KMAX )
      CALL RESET( GEZZ , IDIM*JDIM*KMAX )
      CALL RESET( GEXY , IDIM*JDIM*KMAX )
      CALL RESET( GEYZ , IDIM*JDIM*KMAX )
      CALL RESET( GEZX , IDIM*JDIM*KMAX )
*
*"     < 1.1 $@#u(J $@$NHyJ,(J > 
*
      CALL VDERIV
     O      ( GDVDX , GDVDY , GDVDZ , 
     I        GDU   ,
     D        ARAD  , DRAD  ,
     C        UVFACT        )
*
      DO 1100 K = 0, KDIM
         DO 1100 IJ = 1, IDIM*JDIM
            GEXX( IJ, K ) = GEXX( IJ, K ) 
     &                    + 2 * GDVDX( IJ, K )
     &                    - 2 * GDV ( IJ, K ) * TANG( IJ ) / ARAD( K )
     &                    + 2 * GDW ( IJ, K ) / ARAD( K )
            GEXY( IJ, K ) = GEXY( IJ, K ) 
     &                    + GDVDY( IJ, K ) 
     &                    + GDU( IJ, K ) * TANG( IJ ) / ARAD( K )
            GEZX( IJ, K ) = GEZX( IJ, K )
     &                    + GDVDZ( IJ, K ) 
     &                    - GDU( IJ,K ) / ARAD( K )
 1100 CONTINUE 
*
*"     < 1.2 $@#v(J $@$NHyJ,(J > 
*
      CALL VDERIV
     O      ( GDVDX , GDVDY , GDVDZ , 
     I        GDV   ,
     D        ARAD  , DRAD  ,
     C        UVFACT        )
*
      DO 1200 K = 0, KDIM
         DO 1200 IJ = 1, IDIM*JDIM
            GEXY( IJ, K ) = GEXY( IJ, K ) 
     &                    + GDVDX( IJ, K )
            GEYY( IJ, K ) = GEYY( IJ, K ) 
     &                    + 2 * GDVDY( IJ, K ) 
     &                    + 2 * GDW( IJ, K ) / ARAD( K )
            GEYZ( IJ, K ) = GEYZ( IJ, K ) 
     &                    + GDVDZ( IJ, K ) 
     &                    - GDV( IJ,K ) / ARAD( K )
 1200 CONTINUE 
*
*"     < 1.3 $@#w(J $@$NHyJ,(J > 
*
      CALL VDERIV
     O      ( GDVDX , GDVDY , GDVDZ , 
     I        GDW   ,
     D        ARAD  , DRAD  ,
     C        UVFACT        )
*
      DO 1300 K = 0, KDIM
         DO 1300 IJ = 1, IDIM*JDIM
            GEZX( IJ, K ) = GEZX( IJ, K ) 
     &                    + GDVDX( IJ, K )
            GEYZ( IJ, K ) = GEYZ( IJ, K ) 
     &                    + GDVDY( IJ, K ) 
            GEZZ( IJ, K ) = GEZZ( IJ, K ) 
     &                    + 2 * GDVDZ( IJ, K ) 
 1300 CONTINUE 
*
*" << 2. $@1?F0%(%M%k%.!<;60o$N7W;;(J >>
*
      DO 2000 K = 0, KDIM
         DO 2000 IJ = 1, IDIM*JDIM
            GKEDS( IJ, K ) = 
     &          0.5 * PRND *
     &            (       GEXX( IJ,K )**2  
     &              +     GEYY( IJ,K )**2 
     &              +     GEZZ( IJ,K )**2
     &              + 2 * GEXY( IJ,K )**2
     &              + 2 * GEYZ( IJ,K )**2
     &              + 2 * GEZX( IJ,K )**2   )
 2000 CONTINUE 
*
*" << 3. $@1?F0%(%M%k%.!<@8@.$N7W;;(J >>
*
      DO 3000 K = 0, KDIM
         DO 3000 IJ = 1, IDIM*JDIM
            GKEGE( IJ,K ) = RAYL * PRND 
     &                   * ARAD( K ) * GDT( IJ,K ) * GDW( IJ,K )
 3000 CONTINUE 
*
      RETURN
      END
***********************************************************************
      SUBROUTINE VDERIV                      !" $@B.EY>l$NHyJ,7W;;(J
     O      ( GDVDX , GDVDY , GDVDZ , 
     I        GDV   , 
     D        ARAD  , DRAD  ,
     C        UVFACT        )
*
*   [PARAM]
#ifdef SYS_IBMS
      INCLUDE   (ZCDIM)                      !" $@3J;RE@?t(J, $@GH?t(J
      INCLUDE   (ZHDIM)                      !" $@J8;zNsJ8;z?t(J
#else
#include        "zcdim.F"                    !" $@3J;RE@?t(J, $@GH?t(J
#include        "zhdim.F"                    !" $@J8;zNsJ8;z?t(J
#endif
*
*   [INPUT]
      REAL       GDV   ( IDIM*JDIM, 0:KDIM )  !" $@B.EY>l(J
*
      REAL       ARAD  ( 0:KDIM )             !" $@#r%l%Y%k(J($@@0?t(J)
      REAL       DRAD  ( 0:KDIM )             !" $@&$#r(J($@@0?t(J)
      REAL       UVFACT ( IDIM*JDIM )         !" u$@"*(JU $@$N%U%!%/%?!<(J
*
*   [OUTPUT]
      REAL       GDVDX ( IDIM*JDIM, 0:KDIM )  !" $@B.EY>l$N(J X $@HyJ,(J
      REAL       GDVDY ( IDIM*JDIM, 0:KDIM )  !" $@B.EY>l$N(J Y $@HyJ,(J
      REAL       GDVDZ ( IDIM*JDIM, 0:KDIM )  !" $@B.EY>l$N(J Z $@HyJ,(J
*
*   [INTERNAL WORK]
      REAL       WDV ( NMDIM, 0:KDIM  )      !"  $@B.EY>l%9%Z%/%H%k%G!<%?(J
      REAL       WORK( NMDIM, 0:KDIM  )      !"  
      INTEGER    IJ , K
*
*"  < 0. $@%9%Z%/%H%kJQ49(J >
*
      CALL G2W
     O     (  WDV   , 
     I        GDV   , 
     I        ' '   , '  ' , KMAX )
*
*"  < 1. X $@HyJ,(J >
*
      CALL W2G
     O     (  GDVDX , 
     I        WDV   , 
     I        'X'   , 'POS' , KMAX )
*
      DO 1100 K = 0, KDIM
         DO 1100 IJ = 1, IDIM*JDIM
            GDVDX( IJ, K ) = GDVDX( IJ, K ) 
     &                       / UVFACT( IJ ) / ARAD( K ) 
 1100 CONTINUE 
*
*"  < 2. Y $@HyJ,(J >
*
      CALL W2G
     O     (  GDVDY , 
     I        WDV   , 
     I        'Y'   , 'POS' , KMAX )
*
      DO 1200 K = 0, KDIM
         DO 1200 IJ = 1, IDIM*JDIM
            GDVDY( IJ, K ) = GDVDY( IJ, K ) 
     &                       / UVFACT( IJ ) / ARAD( K ) 
 1200 CONTINUE 
*
*"  < 3. Z $@HyJ,(J >
*
      CALL W2C
     O     (  WORK  , 
     I        WDV   , 
     I        ' '   , 'POS' , KMAX )
*
      CALL C2G
     O     (  GDVDZ , 
     I        WORK  , 
     I        'DR '   , 'POS' , KMAX )
*
      RETURN
      END
***********************************************************************
      SUBROUTINE AHSTRG                !" $@I8=`;~4VJ?6Q=PNO$NEPO?(J
*
*   [INTERN PARAM]
      INTEGER    ISTYPL
      DATA       ISTYPL / 1 /
      REAL       VMISS
*
      CALL GZDBGT ( 'MISS', VMISS )   !" $@7gB;CM(J
*
      CALL     HISTRG                  !" $@=PNO$NEPO?(J
     I       ( 'KEGE   ', 'k.energy generate   ' ,'W/m^3 ', 'ALEV',
     I           VMISS , VMISS , 0.1   , 0.5   , ISTYPL  ,
     I         '   '   , '   ' , 0     , 0     , ' '     ,'(F12.3)' )
*
      CALL     HISTRG
     I       ( 'KEDS   ', 'k.energy dissip     ' ,'W/m^3 ', 'ALEV',
     I           VMISS , VMISS , 0.1   , 0.5   , ISTYPL  ,
     I         '   '   , '   ' , 0     , 0     , ' '     ,'(F12.3)' )
*
      CALL     HISTRG
     I       ( 'EXX   ', 'xx-strain           ' ,'1/s   ', 'ALEV',
     I           VMISS , VMISS , 0.1   , 0.5   , ISTYPL  ,
     I         'CON'   , '   ' , 0     , 0     , ' '     ,'(F12.3)' )
*
      CALL     HISTRG                  !" $@=PNO$NEPO?(J
     I       ( 'EYY   ', 'yy-strain           ' ,'1/s   ', 'ALEV',
     I           VMISS , VMISS , 0.1   , 0.5   , ISTYPL  ,
     I         'CON'   , '   ' , 0     , 0     , ' '     ,'(F12.3)' )
*
      CALL     HISTRG                  !" $@=PNO$NEPO?(J
     I       ( 'EZZ   ', 'zz-strain           ' ,'1/s   ', 'ALEV',
     I           VMISS , VMISS , 0.1   , 0.5   , ISTYPL  ,
     I         'CON'   , '   ' , 0     , 0     , ' '     ,'(F12.3)' )
*
      CALL     HISTRG                  !" $@=PNO$NEPO?(J
     I       ( 'EXY   ', 'xy-strain           ' ,'1/s   ', 'ALEV',
     I           VMISS , VMISS , 0.1   , 0.5   , ISTYPL  ,
     I         'CON'   , '   ' , 0     , 0     , ' '     ,'(F12.3)' )
*
      CALL     HISTRG                  !" $@=PNO$NEPO?(J
     I       ( 'EYZ   ', 'yz-strain           ' ,'1/s   ', 'ALEV',
     I           VMISS , VMISS , 0.1   , 0.5   , ISTYPL  ,
     I         'CON'   , '   ' , 0     , 0     , ' '     ,'(F12.3)' )
*
      CALL     HISTRG                  !" $@=PNO$NEPO?(J
     I       ( 'EZX   ', 'zx-strain           ' ,'1/s   ', 'ALEV',
     I           VMISS , VMISS , 0.1   , 0.5   , ISTYPL  ,
     I         'CON'   , '   ' , 0     , 0     , ' '     ,'(F12.3)' )
*
      RETURN
      END
*************************************************************************
      SUBROUTINE ADMXMN        !" debug monitor
     I         ( GDU   , GDV   , GDW   , GDT   , 
     I           GDTOR , GDPOR , IT    , HLABEL          )
*
*   [PARAM]
#ifdef SYS_IBMS
      INCLUDE   (ZCDIM)                      !" $@3J;RE@?t(J, $@GH?t(J
#else
#include        "zcdim.F"                    !" $@3J;RE@?t(J, $@GH?t(J
#endif
*
*   [INPUT] 
      REAL       GDU   ( IDIM, JDIM, KMAX )  !" $@@>Iw(J   $@#u(J
      REAL       GDV   ( IDIM, JDIM, KMAX )  !" $@FnIw(J   $@#v(J
      REAL       GDW   ( IDIM, JDIM, KMAX )  !" $@1tD>Iw(J $@#w(J
      REAL       GDT   ( IDIM, JDIM, KMAX )  !" $@29EY(J   $@#T(J
      REAL       GDTOR ( IDIM, JDIM, KMAX )  !" $@%H%m%$%@%k(J $@&7(J
      REAL       GDPOR ( IDIM, JDIM, KMAX )  !" $@%]%m%$%@%k(J $@&5(J

*
      INTEGER    IT
      CHARACTER  HLABEL *(*)
*
      WRITE ( 6,* ) HLABEL, ' IT= ', IT
      CALL MAXMIN( GDU,   IDIM, JDIM, KMAX, IDIM, JDIM, 'U'   )
      CALL MAXMIN( GDV,   IDIM, JDIM, KMAX, IDIM, JDIM, 'V'   )
      CALL MAXMIN( GDW,   IDIM, JDIM, KMAX, IDIM, JDIM, 'W'   )
      CALL MAXMIN( GDT,   IDIM, JDIM, KMAX, IDIM, JDIM, 'T'   )
      CALL MAXMIN( GDTOR, IDIM, JDIM, KMAX, IDIM, JDIM, 'TOR' )
      CALL MAXMIN( GDPOR, IDIM, JDIM, KMAX, IDIM, JDIM, 'POR' )
*
      RETURN
      END
