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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 55 - (show annotations)
Mon Dec 12 13:25:01 2011 UTC (12 years, 4 months ago) by guez
Original Path: trunk/libf/dyn3d/Dissipation/nxgraro2.f
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 !
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 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