source: LMDZ5/trunk/libf/phylmd/add_wake_tend.F90 @ 2946

Last change on this file since 2946 was 2635, checked in by jyg, 8 years ago

Some cleaning in the wake routines: (i) the wake
number per unit area (wdens) is now a state
variable (held constant for the time being);
(ii) wake state variable changes are computed in
subroutine 'physiq' if iflag_wake_tend=1 (it is
computed within wake routines if
iflag_wake_tend=0, consistent with earlier
versions); (iii) the new routine 'add_wake_tend'
adds tendencies to wake state variables; (iv)
tendencies due to various processes (pbl, wakes,
thermals) are named and added separately.

File size: 2.2 KB
Line 
1SUBROUTINE add_wake_tend(zddeltat, zddeltaq, zds, zddens, zoccur, text, abortphy)
2!===================================================================
3! Ajoute les tendances liées aux diverses parametrisations physiques aux
4! variables d'etat des poches froides.
5!===================================================================
6!======================================================================
7! Declarations
8!======================================================================
9
10USE dimphy, ONLY: klon, klev
11USE phys_state_var_mod, ONLY: wake_deltat, wake_deltaq, wake_s, wake_dens
12
13USE print_control_mod, ONLY: prt_level
14IMPLICIT none
15
16! Arguments :
17!------------
18  REAL, DIMENSION(klon, klev),   INTENT (IN)         :: zddeltat, zddeltaq
19  REAL, DIMENSION(klon),         INTENT (IN)         :: zds, zddens
20  INTEGER, DIMENSION(klon),      INTENT (IN)         :: zoccur
21  CHARACTER*(*),                 INTENT (IN)         :: text
22  INTEGER,                       INTENT (IN)         :: abortphy
23
24! Local :
25!--------
26
27INTEGER                                              :: i, l
28
29
30
31     IF (prt_level >= 5) then
32        write (*,*) "In add_wake_tend, after ",text
33        call flush
34     end if
35
36     IF (abortphy==1) RETURN ! on n ajoute pas les tendance si le modele
37                              ! a deja plante.
38
39!======================================================================
40!    Add tendencies to wake state variables
41!======================================================================
42         DO l = 1, klev
43           DO i = 1, klon
44             IF (zoccur(i) .GE. 1) THEN
45               wake_deltat(i, l) = wake_deltat(i, l) + zddeltat(i,l)
46               wake_deltaq(i, l) = wake_deltaq(i, l) + zddeltaq(i,l)
47             ELSE
48               wake_deltat(i, l) = 0.
49               wake_deltaq(i, l) = 0.
50             ENDIF   ! (zoccur(i) .GE. 1)
51           END DO
52         END DO
53         DO i = 1, klon
54           IF (zoccur(i) .GE. 1) THEN
55             wake_s(i)    = wake_s(i)    + zds(i)
56             wake_dens(i) = wake_dens(i) + zddens(i)
57           ELSE
58             wake_s(i)    = 0.
59             wake_dens(i) = 0.
60           ENDIF   ! (zoccur(i) .GE. 1)
61         END DO
62
63RETURN
64END
Note: See TracBrowser for help on using the repository browser.