LMDZ
divgrad2.F
Go to the documentation of this file.
1 !
2 ! $Header$
3 !
4  SUBROUTINE divgrad2 ( klevel, h, deltapres, lh, divgra )
5 c
6 c P. Le Van
7 c
8 c ***************************************************************
9 c
10 c ..... calcul de (div( grad )) de ( pext * h ) .....
11 c ****************************************************************
12 c h ,klevel,lh et pext sont des arguments d'entree pour le s-prg
13 c divgra est un argument de sortie pour le s-prg
14 c
15  IMPLICIT NONE
16 c
17 #include "dimensions.h"
18 #include "paramet.h"
19 #include "comgeom2.h"
20 #include "comdissipn.h"
21 
22 c ....... variables en arguments .......
23 c
24  INTEGER klevel
25  REAL h( ip1jmp1,klevel ), deltapres( ip1jmp1,klevel )
26  REAL divgra( ip1jmp1,klevel)
27 c
28 c ....... variables locales ..........
29 c
30  REAL signe, nudivgrs, sqrtps( ip1jmp1,llm )
31  INTEGER l,ij,iter,lh
32 c ...................................................................
33 
34 c
35  signe = (-1.)**lh
36  nudivgrs = signe * cdivh
37 
38  CALL scopy ( ip1jmp1 * klevel, h, 1, divgra, 1 )
39 
40 c
41  CALL laplacien( klevel, divgra, divgra )
42 
43  DO l = 1, klevel
44  DO ij = 1, ip1jmp1
45  sqrtps( ij,l ) = sqrt( deltapres(ij,l) )
46  ENDDO
47  ENDDO
48 c
49  DO l = 1, klevel
50  DO ij = 1, ip1jmp1
51  divgra(ij,l) = divgra(ij,l) * sqrtps(ij,l)
52  ENDDO
53  ENDDO
54 
55 c ........ Iteration de l'operateur laplacien_gam ........
56 c
57  DO iter = 1, lh - 2
59  * unsapolnga2, unsapolsga2, divgra, divgra )
60  ENDDO
61 c
62 c ...............................................................
63 
64  DO l = 1, klevel
65  DO ij = 1, ip1jmp1
66  divgra(ij,l) = divgra(ij,l) * sqrtps(ij,l)
67  ENDDO
68  ENDDO
69 c
70  CALL laplacien ( klevel, divgra, divgra )
71 c
72  DO l = 1,klevel
73  DO ij = 1,ip1jmp1
74  divgra(ij,l) = nudivgrs * divgra(ij,l) / deltapres(ij,l)
75  ENDDO
76  ENDDO
77 
78  RETURN
79  END
!$Header llmm1 INTEGER ip1jmp1
Definition: paramet.h:14
subroutine divgrad2(klevel, h, deltapres, lh, divgra)
Definition: divgrad2.F:5
!$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
subroutine scopy(n, sx, incx, sy, incy)
Definition: cray.F:9
!$Header!CDK comgeom COMMON comgeom unsapolnga2
Definition: comgeom.h:19
!$Header!CDK comgeom COMMON comgeom unsapolnga2 unsair_gam2
Definition: comgeom.h:25
subroutine laplacien(klevel, teta, divgra)
Definition: laplacien.F:5
subroutine laplacien_gam(klevel, cuvsga, cvusga, unsaigam, unsapolnga, unsapolsga, teta, divgra)
Definition: laplacien_gam.F:6
!$Header!CDK comgeom COMMON comgeom cuvscvgam2
Definition: comgeom.h:25
!$Header!CDK comgeom COMMON comgeom unsapolsga2
Definition: comgeom.h:19
!$Header!CDK comgeom COMMON comgeom cvuscugam2
Definition: comgeom.h:25