1 |
SUBROUTINE vitvert(convm , w) |
module vitvert_m |
2 |
|
|
3 |
! From libf/dyn3d/vitvert.F, version 1.1.1.1 2004/05/19 12:53:05 |
IMPLICIT NONE |
|
! Authors: P. Le Van , F. Hourdin |
|
4 |
|
|
5 |
! Objet : calcul de la vitesse verticale aux niveaux sigma |
contains |
6 |
|
|
7 |
! La vitesse verticale est orientee de haut en bas . |
SUBROUTINE vitvert(convm, w) |
|
! 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 . |
|
8 |
|
|
9 |
USE dimens_m, ONLY : llm |
! From libf/dyn3d/vitvert.F, version 1.1.1.1, 2004/05/19 12:53:05 |
10 |
USE paramet_m, ONLY : ip1jmp1 |
! Authors: P. Le Van, F. Hourdin |
|
USE comvert, ONLY : bp |
|
11 |
|
|
12 |
IMPLICIT NONE |
! Objet : calcul de la vitesse verticale aux niveaux sigma |
13 |
|
|
14 |
|
! La vitesse verticale est orientée de haut en bas. Au sol, au |
15 |
|
! niveau sigma(1), w(i, j, 1) = 0. Au sommet, au niveau |
16 |
|
! sigma(llm+1), la vitesse verticale est aussi égale à 0 et n'est |
17 |
|
! pas stockée dans le tableau w. |
18 |
|
|
19 |
|
USE dimens_m, ONLY : llm |
20 |
|
USE disvert_m, ONLY : bp |
21 |
|
USE paramet_m, ONLY : ip1jmp1 |
22 |
|
|
23 |
|
real, intent(in):: convm(ip1jmp1, llm) |
24 |
|
REAL, intent(out):: w(ip1jmp1, llm) |
25 |
|
|
26 |
real, intent(in):: convm(ip1jmp1, llm) |
! Local: |
27 |
REAL, intent(out):: w(ip1jmp1, llm) |
INTEGER l |
28 |
|
|
29 |
! Local: |
!------------------------------------------------------ |
|
INTEGER l |
|
30 |
|
|
31 |
!------------------------------------------------------ |
forall (l = 2: llm) w(:, l) = convm(:, l) - bp(l) * convm(:, 1) |
32 |
|
w(:, 1) = 0. |
33 |
|
|
34 |
forall (l = 2: llm) w(:, l) = convm(:, l) - bp(l) * convm(:, 1) |
END SUBROUTINE vitvert |
|
w(:, 1) = 0. |
|
35 |
|
|
36 |
END SUBROUTINE vitvert |
end module vitvert_m |