/[lmdze]/trunk/Sources/phylmd/CV30_routines/cv30_mixing.f
ViewVC logotype

Diff of /trunk/Sources/phylmd/CV30_routines/cv30_mixing.f

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 200 by guez, Tue May 31 16:17:35 2016 UTC revision 201 by guez, Mon Jun 6 17:42:15 2016 UTC
# Line 14  contains Line 14  contains
14      ! - vectorisation de la partie normalisation des flux (do 789)      ! - vectorisation de la partie normalisation des flux (do 789)
15    
16      use cv30_param_m, only: minorig, nl      use cv30_param_m, only: minorig, nl
     use cv_thermo_m, only: cpd, cpv, rrv  
17      USE dimphy, ONLY: klev, klon      USE dimphy, ONLY: klev, klon
18        use suphec_m, only: rcpd, rcpv, rv
19    
20      ! inputs:      ! inputs:
21      integer, intent(in):: icb(:), inb(:) ! (ncum)      integer, intent(in):: icb(:), inb(:) ! (ncum)
22      real t(klon, klev), rr(klon, klev), rs(klon, klev)      real, intent(in):: t(klon, klev), rr(klon, klev), rs(klon, klev)
23      real u(klon, klev), v(klon, klev)      real u(klon, klev), v(klon, klev)
24      real h(klon, klev), lv(klon, klev), hp(klon, klev)      real, intent(in):: h(klon, klev)
25        real, intent(in):: lv(:, :) ! (klon, klev)
26        real, intent(in):: hp(klon, klev)
27      real ep(klon, klev), clw(klon, klev)      real ep(klon, klev), clw(klon, klev)
28      real m(klon, klev) ! input of convect3      real m(klon, klev) ! input of convect3
29      real sig(klon, klev)      real sig(klon, klev)
# Line 84  contains Line 86  contains
86                    (j >= (icb(il) - 1)).and.(j <= inb(il)))then                    (j >= (icb(il) - 1)).and.(j <= inb(il)))then
87    
88                  rti = rr(il, 1) - ep(il, i) * clw(il, i)                  rti = rr(il, 1) - ep(il, i) * clw(il, i)
89                  bf2 = 1. + lv(il, j) * lv(il, j) * rs(il, j) / (rrv &                  bf2 = 1. + lv(il, j) * lv(il, j) * rs(il, j) / (rv &
90                       * t(il, j) * t(il, j) * cpd)                       * t(il, j) * t(il, j) * rcpd)
91                  anum = h(il, j) - hp(il, i) + (cpv - cpd) * t(il, j) * (rti &                  anum = h(il, j) - hp(il, i) + (rcpv - rcpd) * t(il, j) * (rti &
92                       - rr(il, j))                       - rr(il, j))
93                  denom = h(il, i) - hp(il, i) + (cpd - cpv) * (rr(il, i) &                  denom = h(il, i) - hp(il, i) + (rcpd - rcpv) * (rr(il, i) &
94                       - rti) * t(il, j)                       - rti) * t(il, j)
95                  dei = denom                  dei = denom
96                  if(abs(dei) < 0.01)dei = 0.01                  if(abs(dei) < 0.01)dei = 0.01
# Line 165  contains Line 167  contains
167               lwork(il) = (nent(il, i) /= 0)               lwork(il) = (nent(il, i) /= 0)
168               qp = rr(il, 1) - ep(il, i) * clw(il, i)               qp = rr(il, 1) - ep(il, i) * clw(il, i)
169               anum = h(il, i) - hp(il, i) - lv(il, i) * (qp - rs(il, i)) &               anum = h(il, i) - hp(il, i) - lv(il, i) * (qp - rs(il, i)) &
170                    + (cpv - cpd) * t(il, i) * (qp - rr(il, i))                    + (rcpv - rcpd) * t(il, i) * (qp - rr(il, i))
171               denom = h(il, i) - hp(il, i) + lv(il, i) * (rr(il, i) - qp) &               denom = h(il, i) - hp(il, i) + lv(il, i) * (rr(il, i) - qp) &
172                    + (cpd - cpv) * t(il, i) * (rr(il, i) - qp)                    + (rcpd - rcpv) * t(il, i) * (rr(il, i) - qp)
173               if(abs(denom) < 0.01)denom = 0.01               if(abs(denom) < 0.01)denom = 0.01
174               scrit(il) = anum / denom               scrit(il) = anum / denom
175               alt = qp - rs(il, i) + scrit(il) * (rr(il, i) - qp)               alt = qp - rs(il, i) + scrit(il) * (rr(il, i) - qp)

Legend:
Removed from v.200  
changed lines
  Added in v.201

  ViewVC Help
Powered by ViewVC 1.1.21