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