/[lmdze]/trunk/dyn3d/Dissipation/gradiv2.f
ViewVC logotype

Contents of /trunk/dyn3d/Dissipation/gradiv2.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 26 - (show annotations)
Tue Mar 9 15:27:15 2010 UTC (14 years, 2 months ago) by guez
Original Path: trunk/libf/dyn3d/gradiv2.f
File size: 2075 byte(s)
Moved variable "dtdiss" from module "comconst", variable "idissip"
from module "conf_gcm_m" and all variables from module "comdissipn" to
module "inidissip_m". "inidissip" creates file
"inidissip.csv". "idissip" is no longer read from a namelist. Removed
useless computation of "dtdiss" in procedure "iniconst".

1 !
2 ! $Header: /home/cvsroot/LMDZ4/libf/dyn3d/gradiv2.F,v 1.1.1.1 2004/05/19 12:53:07 lmdzadmin Exp $
3 !
4 SUBROUTINE gradiv2(klevel, xcov, ycov, ld, gdx, gdy )
5 c
6 c P. Le Van
7 c
8 c **********************************************************
9 c ld
10 c calcul de (grad (div) ) du vect. v ....
11 c
12 c xcov et ycov etant les composant.covariantes de v
13 c **********************************************************
14 c xcont , ycont et ld sont des arguments d'entree pour le s-prog
15 c gdx et gdy sont des arguments de sortie pour le s-prog
16 c
17 c
18 use dimens_m
19 use paramet_m
20 use comgeom
21 use inidissip_m
22 IMPLICIT NONE
23 c
24 c
25 c ........ variables en arguments ........
26
27 INTEGER klevel
28 REAL xcov( ip1jmp1,klevel ), ycov( ip1jm,klevel )
29 REAL gdx( ip1jmp1,klevel ), gdy( ip1jm,klevel )
30 c
31 c ........ variables locales .........
32 c
33 REAL div(ip1jmp1,llm)
34 REAL signe, nugrads
35 INTEGER l,ij,iter
36 integer, intent(in):: ld
37
38 c ........................................................
39 c
40 c
41 CALL SCOPY( ip1jmp1 * klevel, xcov, 1, gdx, 1 )
42 CALL SCOPY( ip1jm * klevel, ycov, 1, gdy, 1 )
43 c
44 c
45 signe = (-1.)**ld
46 nugrads = signe * cdivu
47 c
48
49
50 CALL divergf( klevel, gdx, gdy , div )
51
52 IF( ld.GT.1 ) THEN
53
54 CALL laplacien ( klevel, div, div )
55
56 c ...... Iteration de l'operateur laplacien_gam .......
57
58 DO iter = 1, ld -2
59 CALL laplacien_gam ( klevel,cuvscvgam1,cvuscugam1,unsair_gam1,
60 * unsapolnga1, unsapolsga1, div, div )
61 ENDDO
62
63 ENDIF
64
65
66 CALL filtreg( div , jjp1, klevel, 2, 1, .TRUE., 1 )
67 CALL grad ( klevel, div, gdx, gdy )
68
69 c
70 DO l = 1, klevel
71 DO ij = 1, ip1jmp1
72 gdx( ij,l ) = gdx( ij,l ) * nugrads
73 ENDDO
74 DO ij = 1, ip1jm
75 gdy( ij,l ) = gdy( ij,l ) * nugrads
76 ENDDO
77 ENDDO
78 c
79 RETURN
80 END

  ViewVC Help
Powered by ViewVC 1.1.21