/[lmdze]/trunk/Sources/dyn3d/Dissipation/nxgraro2.f
ViewVC logotype

Annotation of /trunk/Sources/dyn3d/Dissipation/nxgraro2.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 27 - (hide annotations)
Thu Mar 25 14:29:07 2010 UTC (14 years, 1 month ago) by guez
Original Path: trunk/libf/dyn3d/nxgraro2.f
File size: 1913 byte(s)
"dyn3d" and "filtrez" do not contain any included file so make rules
have been updated.

"comdissip.f90" was useless, removed it.

"dynredem0" wrote undefined value in "controle(31)", that was
overwritten by "dynredem1". Now "dynredem0" just writes 0 to
"controle(31)".

Removed arguments of "inidissip". "inidissip" now accesses the
variables by use association.

In program "etat0_lim", "itaufin" is not defined so "dynredem1" wrote
undefined value to "controle(31)". Added argument "itau" of
"dynredem1" to correct that.

"itaufin" does not need to be a module variable (of "temps"), made it
a local variable of "leapfrog".

Removed calls to "diagedyn" from "leapfrog".

1 guez 3 !
2     ! $Header: /home/cvsroot/LMDZ4/libf/dyn3d/nxgraro2.F,v 1.1.1.1 2004/05/19 12:53:06 lmdzadmin Exp $
3     !
4     SUBROUTINE nxgraro2 (klevel,xcov, ycov, lr, grx, gry )
5     c
6     c P.Le Van .
7     c ***********************************************************
8     c lr
9     c calcul de ( nxgrad (rot) ) du vect. v ....
10     c
11     c xcov et ycov etant les compos. covariantes de v
12     c ***********************************************************
13     c xcov , ycov et lr sont des arguments d'entree pour le s-prog
14     c grx et gry sont des arguments de sortie pour le s-prog
15     c
16     c
17     use dimens_m
18     use paramet_m
19 guez 26 use inidissip_m
20 guez 27 use filtreg_m, only: filtreg
21 guez 3 IMPLICIT NONE
22     c
23     c
24     c ...... variables en arguments .......
25     c
26     INTEGER klevel
27     REAL xcov( ip1jmp1,klevel ), ycov( ip1jm,klevel )
28     REAL grx( ip1jmp1,klevel ), gry( ip1jm,klevel )
29     c
30     c ...... variables locales ........
31     c
32     REAL rot(ip1jm,llm) , signe, nugradrs
33 guez 26 INTEGER l,ij,iter
34     integer, intent(in):: lr
35 guez 3 c ........................................................
36     c
37     c
38     c
39     signe = (-1.)**lr
40     nugradrs = signe * crot
41     c
42     CALL SCOPY ( ip1jmp1* klevel, xcov, 1, grx, 1 )
43     CALL SCOPY ( ip1jm * klevel, ycov, 1, gry, 1 )
44     c
45     CALL rotatf ( klevel, grx, gry, rot )
46     c
47     CALL laplacien_rot ( klevel, rot, rot,grx,gry )
48    
49     c
50     c ..... Iteration de l'operateur laplacien_rotgam .....
51     c
52     DO iter = 1, lr -2
53     CALL laplacien_rotgam ( klevel, rot, rot )
54     ENDDO
55     c
56     c
57     CALL filtreg( rot, jjm, klevel, 2,1, .FALSE.,1)
58     CALL nxgrad ( klevel, rot, grx, gry )
59     c
60     DO l = 1, klevel
61     DO ij = 1, ip1jm
62     gry( ij,l ) = gry( ij,l ) * nugradrs
63     ENDDO
64     DO ij = 1, ip1jmp1
65     grx( ij,l ) = grx( ij,l ) * nugradrs
66     ENDDO
67     ENDDO
68     c
69     RETURN
70     END

  ViewVC Help
Powered by ViewVC 1.1.21