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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 26 - (hide 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 guez 3 !
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 guez 26 use inidissip_m
22 guez 3 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 guez 26 INTEGER l,ij,iter
36     integer, intent(in):: ld
37 guez 3
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