/[lmdze]/trunk/dyn3d/dudv2.f
ViewVC logotype

Annotation of /trunk/dyn3d/dudv2.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 95 - (hide annotations)
Wed Apr 2 12:59:54 2014 UTC (10 years, 1 month ago) by guez
File size: 1467 byte(s)
Removed argument ps of calfis (was not done in revision 91, error in
log message).

Removed optional actual argument pkf of the call to exner_hyb before
calfis, in leapfrog. pkf was not used before the next call to
exner_hyb.

1 guez 88 module dudv2_m
2 guez 3
3 guez 81 IMPLICIT NONE
4    
5 guez 88 contains
6 guez 81
7 guez 88 SUBROUTINE dudv2(teta, pkf, bern, du, dv)
8 guez 81
9 guez 88 ! From LMDZ4/libf/dyn3d/dudv2.F, version 1.1.1.1, 2004/05/19 12:53:06
10 guez 81
11 guez 88 ! Author: P. Le Van
12 guez 81
13 guez 95 ! Objet : calcul du terme de pression (gradient de p / densité) et
14     ! du terme "- gradient de la fonction de Bernouilli". Ces termes
15     ! sont ajoutés à d(ucov)/dt et à d(vcov)/dt.
16 guez 81
17 guez 88 USE dimens_m, ONLY: iim, llm
18     USE paramet_m, ONLY: iip1, iip2, ip1jm, ip1jmp1
19 guez 81
20 guez 88 REAL, INTENT(IN):: teta(ip1jmp1, llm)
21     REAL, INTENT(IN):: pkf(ip1jmp1, llm)
22 guez 95 real, INTENT(IN):: bern(ip1jmp1, llm)
23     real du(ip1jmp1, llm), dv(ip1jm, llm)
24 guez 88 ! du et dv sont des arguments de sortie pour le s-pg
25 guez 81
26 guez 88 ! Local:
27     INTEGER l, ij
28 guez 81
29 guez 88 !-----------------------------------------------------------------
30 guez 81
31 guez 88 DO l = 1, llm
32     DO ij = iip2, ip1jm - 1
33     du(ij, l) = du(ij, l) + 0.5 * (teta(ij, l) + teta(ij + 1, l)) &
34     * (pkf(ij, l) - pkf(ij + 1, l)) + bern(ij, l) - bern(ij + 1, l)
35     END DO
36 guez 81
37 guez 88 ! correction pour du(iip1, j, l), j=2, jjm
38     ! du(iip1, j, l) = du(1, j, l)
39     DO ij = iip1 + iip1, ip1jm, iip1
40     du(ij, l) = du(ij - iim, l)
41     END DO
42 guez 81
43 guez 88 DO ij = 1, ip1jm
44     dv(ij, l) = dv(ij, l) + 0.5 * (teta(ij, l) + teta(ij + iip1, l)) &
45     * (pkf(ij + iip1, l) - pkf(ij, l)) + bern(ij + iip1, l) &
46     - bern(ij, l)
47     END DO
48 guez 81 END DO
49    
50 guez 88 END SUBROUTINE dudv2
51 guez 81
52 guez 88 end module dudv2_m

  ViewVC Help
Powered by ViewVC 1.1.21