/[lmdze]/trunk/libf/dyn3d/nxgraro2.f
ViewVC logotype

Contents of /trunk/libf/dyn3d/nxgraro2.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 27 - (show annotations)
Thu Mar 25 14:29:07 2010 UTC (14 years, 2 months ago) by guez
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 !
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 use inidissip_m
20 use filtreg_m, only: filtreg
21 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 INTEGER l,ij,iter
34 integer, intent(in):: lr
35 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