--- trunk/dyn3d/vitvert.f 2014/03/05 14:57:53 82 +++ trunk/Sources/dyn3d/vitvert.f 2015/04/29 15:47:56 134 @@ -1,30 +1,36 @@ -SUBROUTINE vitvert(convm , w) +module vitvert_m - ! From libf/dyn3d/vitvert.F, version 1.1.1.1 2004/05/19 12:53:05 - ! Authors: P. Le Van , F. Hourdin + IMPLICIT NONE - ! Objet : calcul de la vitesse verticale aux niveaux sigma +contains - ! La vitesse verticale est orientee de haut en bas . - ! au sol, au niveau sigma(1), w(i, j, 1) = 0. - ! au sommet, au niveau sigma(llm+1) , la vit.verticale est aussi - ! egale a 0. et n'est pas stockee dans le tableau w . + SUBROUTINE vitvert(convm, w) - USE dimens_m, ONLY : llm - USE paramet_m, ONLY : ip1jmp1 - USE disvert_m, ONLY : bp + ! From libf/dyn3d/vitvert.F, version 1.1.1.1, 2004/05/19 12:53:05 + ! Authors: P. Le Van, F. Hourdin - IMPLICIT NONE + ! Objet : calcul de la vitesse verticale aux niveaux sigma + + ! La vitesse verticale est orientée de haut en bas. Au sol, au + ! niveau sigma(1), w(i, j, 1) = 0. Au sommet, au niveau + ! sigma(llm+1), la vitesse verticale est aussi égale à 0 et n'est + ! pas stockée dans le tableau w. + + USE dimens_m, ONLY : llm + USE disvert_m, ONLY : bp + USE paramet_m, ONLY : ip1jmp1 + + real, intent(in):: convm(ip1jmp1, llm) + REAL, intent(out):: w(ip1jmp1, llm) - real, intent(in):: convm(ip1jmp1, llm) - REAL, intent(out):: w(ip1jmp1, llm) + ! Local: + INTEGER l - ! Local: - INTEGER l + !------------------------------------------------------ - !------------------------------------------------------ + forall (l = 2: llm) w(:, l) = convm(:, l) - bp(l) * convm(:, 1) + w(:, 1) = 0. - forall (l = 2: llm) w(:, l) = convm(:, l) - bp(l) * convm(:, 1) - w(:, 1) = 0. + END SUBROUTINE vitvert -END SUBROUTINE vitvert +end module vitvert_m