1 |
module massbarxy_m |
2 |
|
3 |
IMPLICIT NONE |
4 |
|
5 |
contains |
6 |
|
7 |
SUBROUTINE massbarxy(masse, massebxy) |
8 |
|
9 |
! From LMDZ4/libf/dyn3d/massbarxy.F, version 1.1.1.1 2004/05/19 12:53:07 |
10 |
|
11 |
! Calcule les moyennes en x et y de la masse d'air dans chaque maille. |
12 |
! Authors: P. Le Van, F. Hourdin. |
13 |
|
14 |
USE comgeom, ONLY: alpha1, alpha2, alpha3, alpha4 |
15 |
USE dimensions, ONLY: iim, llm |
16 |
USE paramet_m, ONLY: iip1, iip2, ip1jm, ip1jmp1 |
17 |
|
18 |
REAL, intent(in):: masse(ip1jmp1, llm) |
19 |
real, intent(out):: massebxy(ip1jm, llm) |
20 |
|
21 |
! Local: |
22 |
integer l, ij |
23 |
|
24 |
!------------------------------------------------------------------- |
25 |
|
26 |
DO l = 1, llm |
27 |
DO ij = 1, ip1jm - 1 |
28 |
massebxy(ij, l) = masse(ij, l) * alpha2(ij) & |
29 |
+ masse(ij + 1, l) * alpha3(ij + 1) & |
30 |
+ masse(ij + iip1, l) * alpha1(ij + iip1) & |
31 |
+ masse(ij + iip2, l) * alpha4(ij + iip2) |
32 |
end DO |
33 |
|
34 |
! correction pour massebxy(iip1, j) |
35 |
DO ij = iip1, ip1jm, iip1 |
36 |
massebxy(ij, l) = massebxy(ij - iim, l) |
37 |
end DO |
38 |
end DO |
39 |
|
40 |
END SUBROUTINE massbarxy |
41 |
|
42 |
end module massbarxy_m |