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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 56 - (show annotations)
Tue Jan 10 19:02:02 2012 UTC (12 years, 4 months ago) by guez
File size: 1876 byte(s)
Imported "writehist.f" from LMDZ.

Moved module variable "histaveid" from "com_io_dyn" to "initdynav_m".

In "inithist", access directly module variables from "com_io_dyn"
instead of going through the arguments. Copying from LMDZ, write "u"
and scalar variables to separate files. Create a new variable for the
new file in "com_io_dyn". Copying from LMDZ, change the vertical axes
of the three files.

Removed some useless initializations in "dissip".

In "bilan_dyn", removed useless variable "time". Avoiding the
approximate test on "dt_cum" being a multiple of "dt_app", just
compute "ncum" from known usage of "bilan_dyn" and compute "dt_cum"
from "ncum". Change "periodav" from real to integer in
"conf_gcm_m". Since "day_step" is required to be a multiple of
"iperiod", so is "ncum".

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, crot )
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 filtreg_m, only: filtreg
20 IMPLICIT NONE
21 c
22 c
23 c ...... variables en arguments .......
24 c
25 INTEGER klevel
26 REAL, intent(in):: xcov( ip1jmp1,klevel ), ycov( ip1jm,klevel )
27 REAL, intent(out):: grx( ip1jmp1,klevel ), gry( ip1jm,klevel )
28 real, intent(in):: crot
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 grx = xcov
43 gry = ycov
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