/[lmdze]/trunk/phylmd/CV30_routines/cv30_mixing.f90
ViewVC logotype

Diff of /trunk/phylmd/CV30_routines/cv30_mixing.f90

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

revision 331 by guez, Thu Jun 13 14:40:06 2019 UTC revision 332 by guez, Tue Aug 13 09:19:22 2019 UTC
# Line 18  contains Line 18  contains
18      use suphec_m, only: rcpd, rcpv, rv      use suphec_m, only: rcpd, rcpv, rv
19    
20      ! inputs:      ! inputs:
21      integer, intent(in):: icb(:), inb(:) ! (ncum)  
22        integer, intent(in):: icb(:) ! (ncum) {2 <= icb <= nl - 3}
23    
24        integer, intent(in):: inb(:) ! (ncum)
25        ! first model level above the level of neutral buoyancy of the
26        ! parcel (1 <= inb <= nl - 1)
27    
28      real, intent(in):: t(klon, klev), rr(klon, klev), rs(klon, klev)      real, intent(in):: t(klon, klev), rr(klon, klev), rs(klon, klev)
29      real u(klon, klev), v(klon, klev)      real u(klon, klev), v(klon, klev)
30      real, intent(in):: h(klon, klev)      real, intent(in):: h(klon, klev)
# Line 31  contains Line 37  contains
37      ! outputs:      ! outputs:
38      real ment(klon, klev, klev), qent(klon, klev, klev)      real ment(klon, klev, klev), qent(klon, klev, klev)
39      real uent(klon, klev, klev), vent(klon, klev, klev)      real uent(klon, klev, klev), vent(klon, klev, klev)
40      integer nent(klon, klev)      integer, intent(out):: nent(:, 2:) ! (ncum, 2:nl - 1)
41      real sij(klon, klev, klev), elij(klon, klev, klev)      real sij(klon, klev, klev), elij(klon, klev, klev)
42      real ments(klon, klev, klev), qents(klon, klev, klev)      real ments(klon, klev, klev), qents(klon, klev, klev)
43    
# Line 52  contains Line 58  contains
58    
59      ! INITIALIZE VARIOUS ARRAYS USED IN THE COMPUTATIONS      ! INITIALIZE VARIOUS ARRAYS USED IN THE COMPUTATIONS
60    
61      do j = 1, nl      nent = 0
        do i = 1, ncum  
           nent(i, j) = 0  
        end do  
     end do  
62    
63      do j = 1, nl      do j = 1, nl
64         do k = 1, nl         do k = 1, nl
# Line 125  contains Line 127  contains
127                  end if                  end if
128                  sij(il, i, j) = amax1(0.0, sij(il, i, j))                  sij(il, i, j) = amax1(0.0, sij(il, i, j))
129                  sij(il, i, j) = amin1(1.0, sij(il, i, j))                  sij(il, i, j) = amin1(1.0, sij(il, i, j))
130               endif ! new               endif
131            end do            end do
132         end do         end do
133    
# Line 133  contains Line 135  contains
135         ! at that level and calculate detrained air flux and properties         ! at that level and calculate detrained air flux and properties
136    
137         do il = 1, ncum         do il = 1, ncum
138            if ((i >= icb(il)).and.(i <= inb(il)).and.(nent(il, i) == 0)) then            if (i >= icb(il) .and. i <= inb(il)) then
139               ment(il, i, i) = m(il, i)               if (nent(il, i) == 0) then
140               qent(il, i, i) = rr(il, minorig) - ep(il, i) * clw(il, i)                  ment(il, i, i) = m(il, i)
141               uent(il, i, i) = u(il, minorig)                  qent(il, i, i) = rr(il, minorig) - ep(il, i) * clw(il, i)
142               vent(il, i, i) = v(il, minorig)                  uent(il, i, i) = u(il, minorig)
143               elij(il, i, i) = clw(il, i)                  vent(il, i, i) = v(il, minorig)
144               sij(il, i, i) = 0.0                  elij(il, i, i) = clw(il, i)
145                    sij(il, i, i) = 0.0
146                 end if
147            end if            end if
148         end do         end do
149      end do      end do

Legend:
Removed from v.331  
changed lines
  Added in v.332

  ViewVC Help
Powered by ViewVC 1.1.21