subroutine AsselinFilter(VarA, VarN, VarB)
!
! 時間フィルター; Asselin のタイムフィルターを利用
!
!暗黙の型宣言禁止
implicit none
!変数定義
real(DP), intent(in) :: VarA(DimXMin:DimXMax,DimYMin:DimYMax,DimZMin:DimZMax)
real(DP), intent(in) :: VarN(DimXMin:DimXMax,DimYMin:DimYMax,DimZMin:DimZMax)
real(DP), intent(inout) :: VarB(DimXMin:DimXMax,DimYMin:DimYMax,DimZMin:DimZMax)
real(DP) :: Var(DimXMin:DimXMax,DimYMin:DimYMax,DimZMin:DimZMax)
!時間フィルタ
Var = VarN + tfil * ( VarB - 2.0d0 * VarN + VarA )
VarN = Var
end subroutine AsselinFilter