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

Contents of /trunk/dyn3d/dudv2.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 254 - (show annotations)
Mon Feb 5 10:39:38 2018 UTC (6 years, 3 months ago) by guez
File size: 1467 byte(s)
Move Sources/* to root directory.
1 module dudv2_m
2
3 IMPLICIT NONE
4
5 contains
6
7 SUBROUTINE dudv2(teta, pkf, bern, du, dv)
8
9 ! From LMDZ4/libf/dyn3d/dudv2.F, version 1.1.1.1, 2004/05/19 12:53:06
10
11 ! Author: P. Le Van
12
13 ! 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
17 USE dimens_m, ONLY: iim, llm
18 USE paramet_m, ONLY: iip1, iip2, ip1jm, ip1jmp1
19
20 REAL, INTENT(IN):: teta(ip1jmp1, llm)
21 REAL, INTENT(IN):: pkf(ip1jmp1, llm)
22 real, INTENT(IN):: bern(ip1jmp1, llm)
23 real du(ip1jmp1, llm), dv(ip1jm, llm)
24 ! du et dv sont des arguments de sortie pour le s-pg
25
26 ! Local:
27 INTEGER l, ij
28
29 !-----------------------------------------------------------------
30
31 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
37 ! 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
43 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 END DO
49
50 END SUBROUTINE dudv2
51
52 end module dudv2_m

  ViewVC Help
Powered by ViewVC 1.1.21