LMDZ
massdair.F
Go to the documentation of this file.
1 !
2 ! $Header$
3 !
4  SUBROUTINE massdair( p, masse )
5 c
6 c *********************************************************************
7 c .... Calcule la masse d'air dans chaque maille ....
8 c *********************************************************************
9 c
10 c Auteurs : P. Le Van , Fr. Hourdin .
11 c ..........
12 c
13 c .. p est un argum. d'entree pour le s-pg ...
14 c .. masse est un argum.de sortie pour le s-pg ...
15 c
16 c .... p est defini aux interfaces des llm couches .....
17 c
18  IMPLICIT NONE
19 c
20 #include "dimensions.h"
21 #include "paramet.h"
22 #include "comconst.h"
23 #include "comgeom.h"
24 c
25 c ..... arguments ....
26 c
27  REAL p(ip1jmp1,llmp1), masse(ip1jmp1,llm)
28 
29 c .... Variables locales .....
30 
31  INTEGER l,ij
32  REAL massemoyn, massemoys
33 
34  REAL SSUM
35 c
36 c
37 c Methode pour calculer massebx et masseby .
38 c ----------------------------------------
39 c
40 c A chaque point scalaire P (i,j) est affecte 4 coefficients d'aires
41 c alpha1(i,j) calcule au point ( i+1/4,j-1/4 )
42 c alpha2(i,j) calcule au point ( i+1/4,j+1/4 )
43 c alpha3(i,j) calcule au point ( i-1/4,j+1/4 )
44 c alpha4(i,j) calcule au point ( i-1/4,j-1/4 )
45 c
46 c Avec alpha1(i,j) = aire(i+1/4,j-1/4)/ aire(i,j)
47 c
48 c N.B . Pour plus de details, voir s-pg ... iniconst ...
49 c
50 c
51 c
52 c alpha4 . . alpha1 . alpha4
53 c (i,j) (i,j) (i+1,j)
54 c
55 c P . U . . P
56 c (i,j) (i,j) (i+1,j)
57 c
58 c alpha3 . . alpha2 .alpha3
59 c (i,j) (i,j) (i+1,j)
60 c
61 c V . Z . . V
62 c (i,j)
63 c
64 c alpha4 . . alpha1 .alpha4
65 c (i,j+1) (i,j+1) (i+1,j+1)
66 c
67 c P . U . . P
68 c (i,j+1) (i+1,j+1)
69 c
70 c
71 c
72 c On a :
73 c
74 c massebx(i,j) = masse(i ,j) * ( alpha1(i ,j) + alpha2(i,j)) +
75 c masse(i+1,j) * ( alpha3(i+1,j) + alpha4(i+1,j) )
76 c localise au point ... U (i,j) ...
77 c
78 c masseby(i,j) = masse(i,j ) * ( alpha2(i,j ) + alpha3(i,j ) +
79 c masse(i,j+1) * ( alpha1(i,j+1) + alpha4(i,j+1)
80 c localise au point ... V (i,j) ...
81 c
82 c
83 c=======================================================================
84 
85  DO 100 l = 1 , llm
86 c
87  DO ij = 1, ip1jmp1
88  masse(ij,l) = airesurg(ij) * ( p(ij,l) - p(ij,l+1) )
89  ENDDO
90 c
91  DO ij = 1, ip1jmp1,iip1
92  masse(ij+ iim,l) = masse(ij,l)
93  ENDDO
94 c
95 c DO ij = 1, iim
96 c masse( ij ,l) = masse( ij ,l) * aire( ij )
97 c masse(ij+ip1jm,l) = masse(ij+ip1jm,l) * aire(ij+ip1jm)
98 c ENDDO
99 c massemoyn = SSUM(iim,masse( 1 ,l),1)/ apoln
100 c massemoys = SSUM(iim,masse(ip1jm+1,l),1)/ apols
101 c DO ij = 1, iip1
102 c masse( ij ,l ) = massemoyn
103 c masse(ij+ip1jm,l ) = massemoys
104 c ENDDO
105 
106 100 CONTINUE
107 c
108  RETURN
109  END
!$Header llmm1 INTEGER ip1jmp1
Definition: paramet.h:14
!$Header!CDK comgeom COMMON comgeom airesurg
Definition: comgeom.h:25
!$Header llmp1
Definition: paramet.h:14
!$Id Turb_fcg_gcssold get_uvd hqturb_gcssold endif!large scale llm day day1 day day1 *dt_toga endif!time annee_ref dt_toga u_toga vq_toga w_prof vq_prof llm day day1 day day1 *dt_dice endif!time annee_ref dt_dice swup_dice vg_dice omega_dice tg_prof vg_profd w_profd omega_profd!do llm!print llm l llm
c c zjulian c cym CALL iim cym klev iim
Definition: ini_bilKP_ave.h:24
subroutine massdair(p, masse)
Definition: massdair.F:5