--- trunk/phylmd/CV3_routines/cv3_tracer.f 2014/03/05 14:57:53 82 +++ trunk/phylmd/CV3_routines/cv3_tracer.f 2014/04/25 14:58:31 97 @@ -1,28 +1,36 @@ -SUBROUTINE cv3_tracer(nloc, len, ncum, nd, na, ment, sij, da, phi) +module cv3_tracer_m implicit none - ! Inputs: - integer ncum, nd, na, nloc, len - real ment(nloc, na, na), sij(nloc, na, na) - - ! Ouputs: - real da(nloc, na), phi(nloc, na, na) - - ! Local variables: - integer i, j, k - - !------------------------------------------------------------ - - da = 0. - - do j = 1, na - do k = 1, na - do i = 1, ncum - da(i, j) = da(i, j)+(1.-sij(i, k, j))*ment(i, k, j) - phi(i, j, k) = sij(i, k, j) * ment(i, k, j) - end do - end do - end do +contains -end SUBROUTINE cv3_tracer + SUBROUTINE cv3_tracer(nloc, len, ncum, nd, na, ment, sij, da, phi) + + implicit none + + ! Inputs: + integer, intent(in):: ncum, nd, na, nloc, len + real ment(nloc, na, na), sij(nloc, na, na) + + ! Ouputs: + real da(nloc, na), phi(nloc, na, na) + + ! Local variables: + integer i, j, k + + !------------------------------------------------------------ + + da = 0. + + do j = 1, na + do k = 1, na + do i = 1, ncum + da(i, j) = da(i, j)+(1.-sij(i, k, j))*ment(i, k, j) + phi(i, j, k) = sij(i, k, j) * ment(i, k, j) + end do + end do + end do + + end SUBROUTINE cv3_tracer + +end module cv3_tracer_m