1 |
guez |
3 |
|
2 |
guez |
81 |
! $Header: /home/cvsroot/LMDZ4/libf/dyn3d/convmas.F,v 1.1.1.1 2004/05/19 |
3 |
|
|
! 12:53:07 lmdzadmin Exp $ |
4 |
guez |
3 |
|
5 |
guez |
81 |
SUBROUTINE convmas(pbaru, pbarv, convm) |
6 |
guez |
3 |
|
7 |
guez |
81 |
USE dimens_m |
8 |
|
|
USE paramet_m |
9 |
|
|
USE disvert_m |
10 |
|
|
USE conf_gcm_m |
11 |
|
|
USE filtreg_m, ONLY: filtreg |
12 |
|
|
IMPLICIT NONE |
13 |
guez |
3 |
|
14 |
guez |
81 |
! ======================================================================= |
15 |
guez |
3 |
|
16 |
guez |
81 |
! Auteurs: P. Le Van , F. Hourdin . |
17 |
|
|
! ------- |
18 |
guez |
3 |
|
19 |
guez |
81 |
! Objet: |
20 |
|
|
! ------ |
21 |
guez |
3 |
|
22 |
guez |
81 |
! ******************************************************************** |
23 |
|
|
! .... calcul de la convergence du flux de masse aux niveaux p ... |
24 |
|
|
! ******************************************************************** |
25 |
guez |
3 |
|
26 |
|
|
|
27 |
guez |
81 |
! pbaru et pbarv sont des arguments d'entree pour le s-pg .... |
28 |
|
|
! ..... convm est un argument de sortie pour le s-pg .... |
29 |
guez |
3 |
|
30 |
guez |
81 |
! le calcul se fait de haut en bas, |
31 |
|
|
! la convergence de masse au niveau p(llm+1) est egale a 0. et |
32 |
|
|
! n'est pas stockee dans le tableau convm . |
33 |
|
|
|
34 |
|
|
|
35 |
|
|
! ======================================================================= |
36 |
|
|
|
37 |
|
|
! Declarations: |
38 |
|
|
! ------------- |
39 |
|
|
|
40 |
|
|
|
41 |
|
|
REAL, INTENT (IN) :: pbaru(ip1jmp1, llm), pbarv(ip1jm, llm) |
42 |
|
|
REAL, INTENT (OUT) :: convm(ip1jmp1, llm) |
43 |
|
|
INTEGER l, ij |
44 |
|
|
|
45 |
|
|
|
46 |
|
|
! ----------------------------------------------------------------------- |
47 |
|
|
! .... calcul de - (d(pbaru)/dx + d(pbarv)/dy ) ...... |
48 |
|
|
|
49 |
|
|
CALL convflu(pbaru, pbarv, llm, convm) |
50 |
|
|
|
51 |
|
|
! ----------------------------------------------------------------------- |
52 |
|
|
! filtrage: |
53 |
|
|
! --------- |
54 |
|
|
|
55 |
|
|
CALL filtreg(convm, jjp1, llm, 2, 2, .TRUE.) |
56 |
|
|
|
57 |
|
|
! integration de la convergence de masse de haut en bas ...... |
58 |
|
|
|
59 |
|
|
DO l = llmm1, 1, -1 |
60 |
|
|
DO ij = 1, ip1jmp1 |
61 |
|
|
convm(ij, l) = convm(ij, l) + convm(ij, l+1) |
62 |
|
|
END DO |
63 |
|
|
END DO |
64 |
|
|
|
65 |
|
|
RETURN |
66 |
|
|
END SUBROUTINE convmas |