MClimiter Subroutine

subroutine MClimiter(a, b, c, d)

Uses

  • proc~~mclimiter~~UsesGraph proc~mclimiter MClimiter module~fluxmod fluxmod proc~mclimiter->module~fluxmod module~basicmod basicmod module~fluxmod->module~basicmod module~config config module~basicmod->module~config

Arguments

Type IntentOptional Attributes Name
real(kind=8), intent(in), dimension(nhyd) :: a
real(kind=8), intent(in), dimension(nhyd) :: b
real(kind=8), intent(in), dimension(nhyd) :: c
real(kind=8), intent(out), dimension(nhyd) :: d

Source Code

      subroutine MClimiter(a,b,c,d)
!$acc routine seq
      use fluxmod, only : nhyd
      implicit none
      real(8),dimension(nhyd),intent(in)::a,b,c
      real(8),dimension(nhyd),intent(out)::d
      integer:: n

      do n=1,nhyd
         d(n) = sign(1.0d0,a(n))*max(0.0d0,min(abs(a(n))          &
     &                                  ,sign(1.0d0,a(n))*b(n)    &
     &                                  ,sign(1.0d0,a(n))*c(n)))
      enddo

      return
      end subroutine MClimiter