/[lmdze]/trunk/libf/dyn3d/Dissipation/divgrad2.f
ViewVC logotype

Contents of /trunk/libf/dyn3d/Dissipation/divgrad2.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 61 - (show annotations)
Fri Apr 20 14:58:43 2012 UTC (12 years ago) by guez
File size: 2150 byte(s)
No more included file in LMDZE, not even "netcdf.inc".

Created a variable containing the list of common source files in
GNUmakefile. So we now also see clearly files that are specific to
each program.

Split module "histcom". Assembled resulting files in directory
"Histcom".

Removed aliasing in calls to "laplacien".

1 !
2 ! $Header: /home/cvsroot/LMDZ4/libf/dyn3d/divgrad2.F,v 1.1.1.1 2004/05/19 12:53:06 lmdzadmin Exp $
3 !
4 SUBROUTINE divgrad2 ( klevel, h, deltapres, lh, divgra, cdivh )
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 use dimens_m
16 use laplacien_m, only: laplacien
17 use paramet_m
18 use comgeom
19 IMPLICIT NONE
20 c
21
22 c ....... variables en arguments .......
23 c
24 INTEGER klevel
25 REAL, intent(in):: h( ip1jmp1,klevel ), deltapres( ip1jmp1,klevel)
26 REAL, intent(out):: divgra( ip1jmp1,klevel)
27 real, intent(in):: cdivh
28 c
29 c ....... variables locales ..........
30 c
31 REAL signe, nudivgrs, sqrtps( ip1jmp1,llm )
32 INTEGER l,ij,iter
33 integer, intent(in):: lh
34 c ...................................................................
35
36 c
37 signe = (-1.)**lh
38 nudivgrs = signe * cdivh
39 divgra = h
40
41 c
42 CALL laplacien( klevel, divgra )
43
44 DO l = 1, klevel
45 DO ij = 1, ip1jmp1
46 sqrtps( ij,l ) = SQRT( deltapres(ij,l) )
47 ENDDO
48 ENDDO
49 c
50 DO l = 1, klevel
51 DO ij = 1, ip1jmp1
52 divgra(ij,l) = divgra(ij,l) * sqrtps(ij,l)
53 ENDDO
54 ENDDO
55
56 c ........ Iteration de l'operateur laplacien_gam ........
57 c
58 DO iter = 1, lh - 2
59 CALL laplacien_gam ( klevel,cuvscvgam2,cvuscugam2,unsair_gam2,
60 * unsapolnga2, unsapolsga2, divgra, divgra )
61 ENDDO
62 c
63 c ...............................................................
64
65 DO l = 1, klevel
66 DO ij = 1, ip1jmp1
67 divgra(ij,l) = divgra(ij,l) * sqrtps(ij,l)
68 ENDDO
69 ENDDO
70 c
71 CALL laplacien ( klevel, divgra )
72 c
73 DO l = 1,klevel
74 DO ij = 1,ip1jmp1
75 divgra(ij,l) = nudivgrs * divgra(ij,l) / deltapres(ij,l)
76 ENDDO
77 ENDDO
78
79 RETURN
80 END

  ViewVC Help
Powered by ViewVC 1.1.21