*"表題   BARO 共通 時間フィルター  GCM5(BATFIL)
*
*"履歴   90/08/31 沼口  敦
*"       92/04/02 竹広真一
*"       96/09/24 竹広真一
*"       96/11/15 竹広真一
*
***********************************************************************
*"           << タイムフィルター >>
***********************************************************************
      SUBROUTINE TFILT
     M         ( GBU   , GBV   ,
     M           GBVOR ,
     I           GAU   , GAV   ,
     I           GAVOR  )
*
#if   SYS_IBMS
      INCLUDE   (ZCDIM)                  !" 格子点数, 波数
#else
#include        "zcdim.F"                    !" 格子点数, 波数
#endif
*
*  [MODIFY]
      REAL       GBU   ( IDIM*JDIM*KMAX )    !" 西風  ｕ(t-Δt)
      REAL       GBV   ( IDIM*JDIM*KMAX )    !" 南風  ｖ(t-Δt)
      REAL       GBVOR ( IDIM*JDIM*KMAX )    !" 渦度  ζ(t-Δt)
*
*  [INPUT]
      REAL       GAU   ( IDIM*JDIM*KMAX )    !" 西風  ｕ(t)
      REAL       GAV   ( IDIM*JDIM*KMAX )    !" 南風  ｖ(t)
      REAL       GAVOR ( IDIM*JDIM*KMAX )    !" 渦度  ζ(t)
*
      COMMON    /COMWRK/
     &           GBBU  , GBBV  , GBBVOR
      REAL       GBBU  ( IDIM*JDIM*KMAX )    !" 西風  ｕ セーブ値
      REAL       GBBV  ( IDIM*JDIM*KMAX )    !" 南風  ｖ セーブ値
      REAL       GBBVOR( IDIM*JDIM*KMAX )    !" 渦度  ζ セーブ値
*
*  [INTERNAL SAVE]
      LOGICAL    OFIRST
      DATA       OFIRST  /.TRUE./
      REAL       TFIL                        !" 時間フィルター係数
      REAL       TFILY                       !" 時間フィルター係数
      DATA       TFIL    / 0.05 /
*
      NAMELIST    /NMFILT/ TFIL
      SAVE       OFIRST, TFILY
*
      INTEGER    IFPAR, JFPAR
      INTEGER    IJK 
      REAL       TFIL1
*
*"          < 0.  パラメター読み込み >
*
      IF ( OFIRST )THEN
         OFIRST = .FALSE.
         CALL   REWNML ( IFPAR , JFPAR )
         READ   ( IFPAR, NMFILT, END=2190 )
 2190    WRITE  ( JFPAR, NMFILT )
         TFILY = TFIL
      ENDIF
*
*"          < 1.  (t-Δt)のデータをロード >
*
      CALL LOADGB
     O         ( GBBU  , GBBV  ,
     O           GBBVOR          )
*
*"          < 2. 時間フィルター >
*
      TFIL1 = 1. - 2.* TFILY
*
      DO 1100 IJK = 1, IDIM*JDIM*KMAX
         GBU  ( IJK ) = TFIL1 * GBU   ( IJK )
     &                + TFILY * GAU   ( IJK )
     &                + TFILY * GBBU  ( IJK )
         GBV  ( IJK ) = TFIL1 * GBV   ( IJK )
     &                + TFILY * GAV   ( IJK )
     &                + TFILY * GBBV  ( IJK )
         GBVOR( IJK ) = TFIL1 * GBVOR ( IJK )
     &                + TFILY * GAVOR ( IJK )
     &                + TFILY * GBBVOR( IJK )
 1100 CONTINUE
*
      RETURN
      END
