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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 55 - (hide annotations)
Mon Dec 12 13:25:01 2011 UTC (12 years, 5 months ago) by guez
File size: 1861 byte(s)
-- In procedure "bilan_dyn", replaced average of "zvq" by integral of
"zvq", following a comment of Francis Codron :

Le calcul actuel donne des unités peu pratiques : transports de
chaleur en K m / s par exemple. C'est bien pour les sorties à 2
dimensions, latitude et pression, car alors le transport ne dépend pas
de l'espacement des niveaux, mieux pour comparer ou tracer en latitude
et pression. Par contre, quand on somme sur la verticale, on
préfèrerait avoir des transports d'énergie en watts, ou au moins an K
kg / s (à multiplier par "Cp" ou "L"). On doit pouvoir recalculer le
transport intégré à partir des fichiers de sortie, mais c'est embêtant
(calcul de "cv").

-- Gathered files in directory Dissipation.

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 guez 54 SUBROUTINE nxgraro2 (klevel,xcov, ycov, lr, grx, gry, crot )
5 guez 3 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 27 use filtreg_m, only: filtreg
20 guez 3 IMPLICIT NONE
21     c
22     c
23     c ...... variables en arguments .......
24     c
25     INTEGER klevel
26 guez 55 REAL, intent(in):: xcov( ip1jmp1,klevel ), ycov( ip1jm,klevel )
27 guez 3 REAL grx( ip1jmp1,klevel ), gry( ip1jm,klevel )
28 guez 54 real, intent(in):: crot
29 guez 3 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 guez 55 grx = xcov
43     gry = ycov
44 guez 3 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