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

Annotation of /trunk/libf/dyn3d/Dissipation/nxgrarot.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 57 - (hide annotations)
Mon Jan 30 12:54:02 2012 UTC (12 years, 4 months ago) by guez
File size: 1469 byte(s)
Write used namelists to file "" instead of standard output.

Avoid aliasing in "inidissip" in calls to "divgrad2", "divgrad",
"gradiv2", "gradiv", "nxgraro2" and "nxgrarot". Add a degenerate
dimension to arrays so they have rank 3, like the dummy arguments in
"divgrad2", "divgrad", "gradiv2", "gradiv", "nxgraro2" and "nxgrarot".

Extract the initialization part from "bilan_dyn" and make a separate
procedure, "init_dynzon", from it.

Move variables from modules "iniprint" and "logic" to module
"conf_gcm_m".

Promote internal procedures of "fxy" to private procedures of module
"fxy_m".

Extracted documentation from "inigeom". Removed useless "save"
attributes. Removed useless intermediate variables. Extracted
processing of poles from loop on latitudes. Write coordinates to file
"longitude_latitude.txt" instead of standard output.

Do not use ozone tracer for radiative transfer.

1 guez 3 !
2     ! $Header: /home/cvsroot/LMDZ4/libf/dyn3d/nxgrarot.F,v 1.1.1.1 2004/05/19 12:53:06 lmdzadmin Exp $
3     !
4 guez 54 SUBROUTINE nxgrarot (klevel,xcov, ycov, lr, grx, gry, crot )
5 guez 3 c ***********************************************************
6     c
7     c Auteur : P.Le Van
8     c
9     c lr
10     c calcul de ( nXgrad (rot) ) du vect. v ....
11     c
12     c xcov et ycov etant les compos. covariantes de v
13     c ***********************************************************
14     c xcov , ycov et lr sont des arguments d'entree pour le s-prog
15     c grx et gry sont des arguments de sortie pour le s-prog
16     c
17     c
18     use dimens_m
19     use paramet_m
20 guez 57 use conf_gcm_m
21 guez 27 use filtreg_m, only: filtreg
22 guez 3 IMPLICIT NONE
23     c
24     c
25     c
26     INTEGER klevel
27 guez 55 REAL, intent(in):: xcov( ip1jmp1,klevel ), ycov( ip1jm,klevel )
28 guez 56 REAL, intent(out):: grx( ip1jmp1,klevel ), gry( ip1jm,klevel )
29 guez 54 real, intent(in):: crot
30 guez 3 c
31     REAL rot(ip1jm,llm)
32    
33 guez 26 INTEGER l,ij,iter
34     integer, intent(in):: lr
35 guez 3 c
36     c
37     c
38 guez 55 grx = xcov
39     gry = ycov
40 guez 3 c
41     DO 10 iter = 1,lr
42     CALL rotat (klevel,grx, gry, rot )
43     CALL filtreg( rot, jjm, klevel, 2,1, .false.,2)
44     CALL nxgrad (klevel,rot, grx, gry )
45     c
46     DO 5 l = 1, klevel
47     DO 2 ij = 1, ip1jm
48     gry( ij,l ) = - gry( ij,l ) * crot
49     2 CONTINUE
50     DO 3 ij = 1, ip1jmp1
51     grx( ij,l ) = - grx( ij,l ) * crot
52     3 CONTINUE
53     5 CONTINUE
54     c
55     10 CONTINUE
56     RETURN
57     END

  ViewVC Help
Powered by ViewVC 1.1.21