1 |
|
1729 |
SUBROUTINE convmas (pbaru, pbarv, convm) |
2 |
|
|
! |
3 |
|
|
!------------------------------------------------------------------------------- |
4 |
|
|
! Authors: P. Le Van , Fr. Hourdin. |
5 |
|
|
!------------------------------------------------------------------------------- |
6 |
|
|
! Purpose: Compute mass flux convergence at p levels. |
7 |
|
|
IMPLICIT NONE |
8 |
|
|
include "dimensions.h" |
9 |
|
|
include "paramet.h" |
10 |
|
|
include "comgeom.h" |
11 |
|
|
!=============================================================================== |
12 |
|
|
! Arguments: |
13 |
|
|
REAL, INTENT(IN) :: pbaru(ip1jmp1,llm) |
14 |
|
|
REAL, INTENT(IN) :: pbarv(ip1jm ,llm) |
15 |
|
|
REAL, INTENT(OUT) :: convm(ip1jmp1,llm) |
16 |
|
|
!=============================================================================== |
17 |
|
|
! Method used: Computation from top to bottom. |
18 |
|
|
! Mass convergence at level llm is equal to zero and is not stored in convm. |
19 |
|
|
!=============================================================================== |
20 |
|
|
! Local variables: |
21 |
|
|
INTEGER :: l |
22 |
|
|
!=============================================================================== |
23 |
|
|
|
24 |
|
|
!--- Computation of - (d(pbaru)/dx + d(pbarv)/dy ) |
25 |
|
1729 |
CALL convflu( pbaru, pbarv, llm, convm ) |
26 |
|
|
|
27 |
|
|
!--- Filter |
28 |
|
1729 |
CALL filtreg( convm, jjp1, llm, 2, 2, .TRUE., 1 ) |
29 |
|
|
|
30 |
|
|
!--- Mass convergence is integrated from top to bottom |
31 |
✓✓ |
67431 |
DO l=llmm1,1,-1 |
32 |
✓✓ |
71616909 |
convm(:,l) = convm(:,l) + convm(:,l+1) |
33 |
|
|
END DO |
34 |
|
|
|
35 |
|
1729 |
END SUBROUTINE convmas |