/[lmdze]/trunk/Sources/dyn3d/massbar.f
ViewVC logotype

Contents of /trunk/Sources/dyn3d/massbar.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 164 - (show annotations)
Tue Jul 28 14:53:31 2015 UTC (8 years, 9 months ago) by guez
File size: 1237 byte(s)
In procedure inifilr, coefilu2 and coefilv2 were not used. coefilu and
coefilv were defined and used only at filtered latitudes so split them
into north and south arrays. Values in eignvl are necessarily
negative. Simplified the computation of eignft.

1 module massbar_m
2
3 IMPLICIT NONE
4
5 contains
6
7 SUBROUTINE massbar(masse, massebx, masseby)
8
9 ! From LMDZ4/libf/dyn3d/massbar.F, version 1.1.1.1, 2004/05/19 12:53:05
10 ! Authors: P. Le Van, F. Hourdin.
11
12 ! Calcule les moyennes en x et y de la masse d'air dans chaque
13 ! maille. Cf. "inigeom.txt" et "massbar.txt".
14
15 USE comgeom, ONLY: alpha1p2, alpha1p4, alpha2p3, alpha3p4
16 USE dimens_m, ONLY: iim, llm
17 USE paramet_m, ONLY: iip1, ip1jm, ip1jmp1
18
19 REAL, intent(in):: masse(ip1jmp1, llm)
20 real, intent(out):: massebx(ip1jmp1, llm), masseby(ip1jm, llm)
21
22 ! Local:
23 integer l, ij
24
25 !--------------------------------------------------------------
26
27 DO l = 1, llm
28 DO ij = 1, ip1jmp1 - 1
29 massebx(ij, l) = masse(ij, l) * alpha1p2(ij) + &
30 masse(ij+1, l) * alpha3p4(ij+1)
31 ENDDO
32
33 ! correction pour massebx(iip1, j)
34 ! massebx(iip1, j)= massebx(1, j)
35 DO ij = iip1, ip1jmp1, iip1
36 massebx(ij, l) = massebx(ij - iim, l)
37 ENDDO
38
39 DO ij = 1, ip1jm
40 masseby(ij, l) = masse(ij, l) * alpha2p3(ij) + &
41 masse(ij+iip1, l) * alpha1p4(ij+iip1)
42 ENDDO
43 end DO
44
45 END SUBROUTINE massbar
46
47 end module massbar_m

  ViewVC Help
Powered by ViewVC 1.1.21