/[lmdze]/trunk/Sources/dyn3d/groupe.f
ViewVC logotype

Annotation of /trunk/Sources/dyn3d/groupe.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 150 - (hide annotations)
Thu Jun 18 13:49:26 2015 UTC (8 years, 11 months ago) by guez
File size: 2334 byte(s)
Removed unused arguments of groupe, cv3_undilute2, cv_undilute2,
interfsur_lim, drag_noro, orodrag, gwprofil

Chickened out of revision 148: back to double precision in
invert_zoom_x (and overloaded rtsafe).

1 guez 150 SUBROUTINE groupe(pbaru, pbarv, pbarum, pbarvm, wm)
2 guez 3
3 guez 31 ! From dyn3d/groupe.F, v 1.1.1.1 2004/05/19 12:53:06
4 guez 3
5 guez 31 ! sous-programme servant a fitlrer les champs de flux de masse aux
6     ! poles en "regroupant" les mailles 2 par 2 puis 4 par 4 etc. au fur
7     ! et a mesure qu'on se rapproche du pole.
8 guez 3
9 guez 150 ! en entree: pbaru et pbarv
10 guez 31 ! en sortie: pbarum, pbarvm et wm.
11 guez 3
12 guez 31 ! remarque, le wm est recalcule a partir des pbaru pbarv et on n'a
13     ! donc pas besoin de w en entree.
14 guez 3
15 guez 31 USE dimens_m
16     USE paramet_m
17     USE comconst
18 guez 66 USE disvert_m
19 guez 31 USE comgeom
20 guez 91 use vitvert_m, only: vitvert
21 guez 3
22 guez 31 IMPLICIT NONE
23 guez 3
24 guez 31 INTEGER, PARAMETER:: ngroup = 3
25 guez 3
26 guez 31 REAL pbaru(iip1, jjp1, llm), pbarv(iip1, jjm, llm)
27     REAL, intent(out):: pbarum(iip1, jjp1, llm)
28     real pbarvm(iip1, jjm, llm)
29     REAL wm(iip1, jjp1, llm)
30 guez 3
31 guez 31 REAL zconvm(iip1, jjp1, llm), zconvmm(iip1, jjp1, llm)
32     REAL uu
33     INTEGER i, j, l
34     LOGICAL:: firstcall = .TRUE.
35 guez 3
36 guez 31 !------------------------------------------------------
37 guez 3
38 guez 31 IF (firstcall) THEN
39     IF (mod(iim, 2**ngroup) /= 0) then
40     print *, 'groupe: bad iim'
41     STOP 1
42     end IF
43     firstcall = .FALSE.
44     END IF
45 guez 3
46 guez 31 ! Champs 1D
47 guez 3
48 guez 31 CALL convflu(pbaru, pbarv, llm, zconvm)
49 guez 3
50 guez 31 CALL scopy(ijp1llm, zconvm, 1, zconvmm, 1)
51     CALL scopy(ijmllm, pbarv, 1, pbarvm, 1)
52 guez 3
53 guez 31 CALL groupeun(jjp1, llm, zconvmm)
54     CALL groupeun(jjm, llm, pbarvm)
55 guez 3
56 guez 31 ! Champs 3D
57 guez 3
58 guez 31 DO l = 1, llm
59     DO j = 2, jjm
60     uu = pbaru(iim, j, l)
61     DO i = 1, iim
62     uu = uu + pbarvm(i, j, l) - pbarvm(i, j-1, l) - zconvmm(i, j, l)
63     pbarum(i, j, l) = uu
64     END DO
65     pbarum(iip1, j, l) = pbarum(1, j, l)
66     END DO
67     END DO
68     pbarum(:, 1, :) = 0
69     pbarum(:, jjm + 1, :) = 0
70 guez 3
71 guez 31 ! integration de la convergence de masse de haut en bas
72     DO l = 1, llm
73     DO j = 1, jjp1
74     DO i = 1, iip1
75     zconvmm(i, j, l) = zconvmm(i, j, l)
76     END DO
77     END DO
78     END DO
79     DO l = llm - 1, 1, -1
80     DO j = 1, jjp1
81     DO i = 1, iip1
82     zconvmm(i, j, l) = zconvmm(i, j, l) + zconvmm(i, j, l+1)
83     END DO
84     END DO
85     END DO
86 guez 3
87 guez 31 CALL vitvert(zconvmm, wm)
88 guez 3
89 guez 31 END SUBROUTINE groupe

  ViewVC Help
Powered by ViewVC 1.1.21