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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 55 - (show annotations)
Mon Dec 12 13:25:01 2011 UTC (12 years, 6 months ago) by guez
File size: 1480 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/gradiv.F,v 1.1.1.1 2004/05/19 12:53:06 lmdzadmin Exp $
3 !
4 SUBROUTINE gradiv(klevel, xcov, ycov, ld, gdx, gdy, cdivu)
5 c
6 c Auteur : P. Le Van
7 c
8 c ***************************************************************
9 c
10 c ld
11 c calcul de (grad (div) ) du vect. v ....
12 c
13 c xcov et ycov etant les composant.covariantes de v
14 c ****************************************************************
15 c xcov , ycov et ld sont des arguments d'entree pour le s-prog
16 c gdx et gdy sont des arguments de sortie pour le s-prog
17 c
18 c
19 use dimens_m
20 use paramet_m
21 use logic
22 use filtreg_m, only: filtreg
23 IMPLICIT NONE
24 c
25
26 INTEGER klevel
27 c
28 REAL, intent(in):: xcov( ip1jmp1,klevel ), ycov( ip1jm,klevel )
29 REAL gdx( ip1jmp1,klevel ), gdy( ip1jm,klevel )
30 real, intent(in):: cdivu
31 REAL div(ip1jmp1,llm)
32
33 INTEGER l,ij,iter
34 integer, intent(in):: ld
35 c
36 c
37 c
38 gdx = xcov
39 gdy = ycov
40 c
41 DO 10 iter = 1,ld
42 c
43 CALL diverg( klevel, gdx , gdy, div )
44 CALL filtreg( div, jjp1, klevel, 2,1, .true.,2 )
45 CALL grad( klevel, div, gdx, gdy )
46 c
47 DO 5 l = 1, klevel
48 DO 3 ij = 1, ip1jmp1
49 gdx( ij,l ) = - gdx( ij,l ) * cdivu
50 3 CONTINUE
51 DO 4 ij = 1, ip1jm
52 gdy( ij,l ) = - gdy( ij,l ) * cdivu
53 4 CONTINUE
54 5 CONTINUE
55 c
56 10 CONTINUE
57 RETURN
58 END

  ViewVC Help
Powered by ViewVC 1.1.21