/[lmdze]/trunk/dyn3d/massbar.f90
ViewVC logotype

Contents of /trunk/dyn3d/massbar.f90

Parent Directory Parent Directory | Revision Log Revision Log


Revision 328 - (show annotations)
Thu Jun 13 14:40:06 2019 UTC (4 years, 11 months ago) by guez
File size: 1239 byte(s)
Change all `.f` suffixes to `.f90`. (The opposite was done in revision
82.)  Because of change of philosopy in GNUmakefile: we already had a
rewritten rule for `.f`, so it does not make the makefile longer to
replace it by a rule for `.f90`. And it spares us options of
makedepf90 and of the compiler. Also we prepare the way for a simpler
`CMakeLists.txt`.

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 dimensions, 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