1 |
|
432 |
SUBROUTINE add_wake_tend(zddeltat, zddeltaq, zds, zddensaw, zddensw, 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 |
|
|
|
10 |
|
|
USE dimphy, ONLY: klon, klev |
11 |
|
|
USE phys_state_var_mod, ONLY: wake_deltat, wake_deltaq, wake_s, & |
12 |
|
|
awake_dens, wake_dens |
13 |
|
|
|
14 |
|
|
USE print_control_mod, ONLY: prt_level |
15 |
|
|
IMPLICIT none |
16 |
|
|
|
17 |
|
|
! Arguments : |
18 |
|
|
!------------ |
19 |
|
|
REAL, DIMENSION(klon, klev), INTENT (IN) :: zddeltat, zddeltaq |
20 |
|
|
REAL, DIMENSION(klon), INTENT (IN) :: zds, zddensaw, zddensw |
21 |
|
|
INTEGER, DIMENSION(klon), INTENT (IN) :: zoccur |
22 |
|
|
CHARACTER*(*), INTENT (IN) :: text |
23 |
|
|
INTEGER, INTENT (IN) :: abortphy |
24 |
|
|
|
25 |
|
|
! Local : |
26 |
|
|
!-------- |
27 |
|
|
|
28 |
|
|
INTEGER :: i, l |
29 |
|
|
|
30 |
|
|
|
31 |
|
|
|
32 |
✗✓ |
432 |
IF (prt_level >= 5) then |
33 |
|
|
write (*,*) "In add_wake_tend, after ",text |
34 |
|
|
call flush |
35 |
|
|
end if |
36 |
|
|
|
37 |
✓✗ |
432 |
IF (abortphy==1) RETURN ! on n ajoute pas les tendance si le modele |
38 |
|
|
! a deja plante. |
39 |
|
|
|
40 |
|
|
!====================================================================== |
41 |
|
|
! Add tendencies to wake state variables |
42 |
|
|
!====================================================================== |
43 |
✓✓ |
17280 |
DO l = 1, klev |
44 |
✓✓ |
16764192 |
DO i = 1, klon |
45 |
✓✓ |
16763760 |
IF (zoccur(i) .GE. 1) THEN |
46 |
|
7315854 |
wake_deltat(i, l) = wake_deltat(i, l) + zddeltat(i,l) |
47 |
|
7315854 |
wake_deltaq(i, l) = wake_deltaq(i, l) + zddeltaq(i,l) |
48 |
|
|
ELSE |
49 |
|
9431058 |
wake_deltat(i, l) = 0. |
50 |
|
9431058 |
wake_deltaq(i, l) = 0. |
51 |
|
|
ENDIF ! (zoccur(i) .GE. 1) |
52 |
|
|
END DO |
53 |
|
|
END DO |
54 |
✓✓ |
429840 |
DO i = 1, klon |
55 |
✓✓ |
429840 |
IF (zoccur(i) .GE. 1) THEN |
56 |
|
187586 |
wake_s(i) = wake_s(i) + zds(i) |
57 |
|
187586 |
awake_dens(i) = awake_dens(i) + zddensaw(i) |
58 |
|
187586 |
wake_dens(i) = wake_dens(i) + zddensw(i) |
59 |
|
|
ELSE |
60 |
|
241822 |
wake_s(i) = 0. |
61 |
|
241822 |
awake_dens(i) = 0. |
62 |
|
241822 |
wake_dens(i) = 0. |
63 |
|
|
ENDIF ! (zoccur(i) .GE. 1) |
64 |
|
|
END DO |
65 |
|
|
|
66 |
|
|
RETURN |
67 |
|
|
END |