--- trunk/Sources/filtrez/acc.f 2015/04/29 15:47:56 134 +++ trunk/Sources/filtrez/acc.f 2015/06/09 14:32:46 143 @@ -1,22 +1,24 @@ +module acc_m -! $Header: /home/cvsroot/LMDZ4/libf/filtrez/acc.F,v 1.1.1.1 2004/05/19 -! 12:53:09 lmdzadmin Exp $ - -SUBROUTINE acc(vec, d, im) implicit none - integer im, i, j - real vec(im, im), d(im) - real sum, ssum - - DO j = 1, im - DO i = 1, im - d(i) = vec(i, j)*vec(i, j) - END DO - sum = ssum(im, d, 1) - sum = sqrt(sum) - DO i = 1, im - vec(i, j) = vec(i, j)/sum - END DO - END DO - RETURN -END SUBROUTINE acc + +contains + + SUBROUTINE acc(vec) + + ! From LMDZ4/libf/filtrez/acc.F, v 1.1.1.1 2004/05/19 12:53:09 + + ! Normalize each column of vec. + + real, intent(inout):: vec(:, :) + + ! Local: + integer j + + !-------------------------------------------------- + + forall (j = 1:size(vec, 2)) vec(:, j) = vec(:, j) / sqrt(sum(vec(:, j)**2)) + + END SUBROUTINE acc + +end module acc_m