source: LMDZ6/branches/Test_modipsl/libf/phylmdiso/add_wake_tend.F90 @ 5456

Last change on this file since 5456 was 4143, checked in by dcugnet, 3 years ago
  • Some variables are renamed or replaced by direct equivalents:
    • iso_indnum -> tracers(:)%iso_iName
    • niso_possibles -> niso
    • iqiso -> iqIsoPha ; index_trac -> itZonIso
    • ok_iso_verif -> isoCheck
    • ntraceurs_zone -> nzone ; ntraciso -> ntiso
    • qperemin -> min_qparent ; masseqmin -> min_qmass ; ratiomin -> min_ratio
  • Some renamed variables are only aliased with the older name (using USE <module>, ONLY: <oldName> => <newName>) in routines where they are repeated many times.
  • Few hard-coded indexes are now computed (examples: ilic, iso, ivap, irneb, iq_vap, iq_liq, iso_H2O, iso_HDO, iso_HTO, iso_O17, iso_O18).
  • The IF(isoCheck) test is now embedded in the check_isotopes_seq and check_isotopes_loc routines (lighter calling).
  • Property svn:keywords set to Id
File size: 2.9 KB
Line 
1SUBROUTINE add_wake_tend(zddeltat, zddeltaq, zds, zddensaw, zddensw, zoccur, text, abortphy &
2#ifdef ISO
3        , zddeltaxt &
4#endif
5        )
6!===================================================================
7! Ajoute les tendances liées aux diverses parametrisations physiques aux
8! variables d'etat des poches froides.
9!===================================================================
10!======================================================================
11! Declarations
12!======================================================================
13
14USE dimphy, ONLY: klon, klev
15USE phys_state_var_mod, ONLY: wake_deltat, wake_deltaq, wake_s,  &
16                              awake_dens, wake_dens
17
18USE print_control_mod, ONLY: prt_level
19#ifdef ISO
20    USE infotrac_phy, ONLY: ntiso   
21    USE phys_state_var_mod, ONLY:  wake_deltaxt   
22#endif
23IMPLICIT none
24
25! Arguments :
26!------------
27  REAL, DIMENSION(klon, klev),   INTENT (IN)         :: zddeltat, zddeltaq
28  REAL, DIMENSION(klon),         INTENT (IN)         :: zds, zddensaw, zddensw
29  INTEGER, DIMENSION(klon),      INTENT (IN)         :: zoccur
30  CHARACTER*(*),                 INTENT (IN)         :: text
31  INTEGER,                       INTENT (IN)         :: abortphy
32#ifdef ISO
33  REAL, DIMENSION(ntiso, klon, klev), INTENT (IN)    :: zddeltaxt
34#endif
35
36! Local :
37!--------
38
39INTEGER                                              :: i, l
40#ifdef ISO
41INTEGER                                              :: ixt
42#endif
43
44
45
46     IF (prt_level >= 5) then
47        write (*,*) "In add_wake_tend, after ",text
48        call flush
49     end if
50
51     IF (abortphy==1) RETURN ! on n ajoute pas les tendance si le modele
52                              ! a deja plante.
53
54!======================================================================
55!    Add tendencies to wake state variables
56!======================================================================
57         DO l = 1, klev
58           DO i = 1, klon
59             IF (zoccur(i) .GE. 1) THEN
60               wake_deltat(i, l) = wake_deltat(i, l) + zddeltat(i,l)
61               wake_deltaq(i, l) = wake_deltaq(i, l) + zddeltaq(i,l)
62#ifdef ISO
63               do ixt=1,ntiso
64                 wake_deltaxt(ixt,i, l) = wake_deltaxt(ixt,i, l) + zddeltaxt(ixt,i,l)
65               enddo
66#endif
67             ELSE
68               wake_deltat(i, l) = 0.
69               wake_deltaq(i, l) = 0.
70#ifdef ISO
71               do ixt=1,ntiso
72                 wake_deltaxt(ixt,i, l) = 0.0
73               enddo
74#endif
75             ENDIF   ! (zoccur(i) .GE. 1)
76           END DO
77         END DO
78         DO i = 1, klon
79           IF (zoccur(i) .GE. 1) THEN
80             wake_s(i)     = wake_s(i)    + zds(i)
81             awake_dens(i) = awake_dens(i) + zddensaw(i)
82             wake_dens(i)  = wake_dens(i) + zddensw(i)
83           ELSE
84             wake_s(i)     = 0.
85             awake_dens(i) = 0.
86             wake_dens(i)  = 0.
87           ENDIF   ! (zoccur(i) .GE. 1)
88         END DO
89
90RETURN
91END
Note: See TracBrowser for help on using the repository browser.