/[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

trunk/Sources/phylmd/CV30_routines/cv30_mixing.f revision 189 by guez, Tue Mar 29 15:20:23 2016 UTC trunk/phylmd/CV30_routines/cv30_mixing.f revision 254 by guez, Mon Feb 5 10:39:38 2018 UTC
# Line 4  module cv30_mixing_m Line 4  module cv30_mixing_m
4    
5  contains  contains
6    
7    SUBROUTINE cv30_mixing(nloc, ncum, nd, na, icb, nk, inb, t, rr, rs, u, v, h, &    SUBROUTINE cv30_mixing(icb, inb, t, rr, rs, u, v, h, lv, hp, ep, clw, m, &
8         lv, hp, ep, clw, m, sig, ment, qent, uent, vent, nent, sij, elij, &         sig, ment, qent, uent, vent, nent, sij, elij, ments, qents)
9         ments, qents)  
10      use cv30_param_m      ! MIXING
     use cvthermo  
11    
     !  
12      ! a faire:      ! a faire:
13      ! - changer rr(il, 1) -> qnk(il)      ! - changer rr(il, 1) -> qnk(il)
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
17        USE dimphy, ONLY: klev, klon
18        use suphec_m, only: rcpd, rcpv, rv
19    
20      ! inputs:      ! inputs:
21      integer, intent(in):: ncum, nd, na, nloc      integer, intent(in):: icb(:), inb(:) ! (ncum)
22      integer, intent(in):: icb(nloc), inb(nloc), nk(nloc)      real, intent(in):: t(klon, klev), rr(klon, klev), rs(klon, klev)
23      real sig(nloc, nd)      real u(klon, klev), v(klon, klev)
24      real t(nloc, nd), rr(nloc, nd), rs(nloc, nd)      real, intent(in):: h(klon, klev)
25      real u(nloc, nd), v(nloc, nd)      real, intent(in):: lv(:, :) ! (klon, klev)
26      real lv(nloc, na), h(nloc, na), hp(nloc, na)      real, intent(in):: hp(klon, klev)
27      real ep(nloc, na), clw(nloc, na)      real ep(klon, klev), clw(klon, klev)
28      real m(nloc, na) ! input of convect3      real m(klon, klev) ! input of convect3
29        real sig(klon, klev)
30    
31      ! outputs:      ! outputs:
32      real ment(nloc, na, na), qent(nloc, na, na)      real ment(klon, klev, klev), qent(klon, klev, klev)
33      real uent(nloc, na, na), vent(nloc, na, na)      real uent(klon, klev, klev), vent(klon, klev, klev)
34      real sij(nloc, na, na), elij(nloc, na, na)      integer nent(klon, klev)
35      real ments(nloc, nd, nd), qents(nloc, nd, nd)      real sij(klon, klev, klev), elij(klon, klev, klev)
36      integer nent(nloc, nd)      real ments(klon, klev, klev), qents(klon, klev, klev)
37    
38      ! local variables:      ! Local:
39      integer i, j, k, il, im, jm      integer ncum, i, j, k, il, im, jm
40      integer num1, num2      integer num1, num2
41      real rti, bf2, anum, denom, dei, altem, cwat, stemp, qp      real rti, bf2, anum, denom, dei, altem, cwat, stemp, qp
42      real alt, smid, sjmin, sjmax, delp, delm      real alt, smid, sjmin, sjmax, delp, delm
43      real asij(nloc), smax(nloc), scrit(nloc)      real asij(klon), smax(klon), scrit(klon)
44      real asum(nloc, nd), bsum(nloc, nd), csum(nloc, nd)      real asum(klon, klev), bsum(klon, klev), csum(klon, klev)
45      real wgh      real wgh
46      real zm(nloc, na)      real zm(klon, klev)
47      logical lwork(nloc)      logical lwork(klon)
48    
49        !-------------------------------------------------------------------------
50    
51        ncum = size(icb)
52    
53      ! INITIALIZE VARIOUS ARRAYS USED IN THE COMPUTATIONS      ! INITIALIZE VARIOUS ARRAYS USED IN THE COMPUTATIONS
54    
55      do j=1, nl      do j = 1, nl
56         do i=1, ncum         do i = 1, ncum
57            nent(i, j)=0            nent(i, j) = 0
           ! in convect3, m is computed in cv30_closure  
           ! ori m(i, 1)=0.0  
58         end do         end do
59      end do      end do
60    
61      do j=1, nl      do j = 1, nl
62         do k=1, nl         do k = 1, nl
63            do i=1, ncum            do i = 1, ncum
64               qent(i, k, j)=rr(i, j)               qent(i, k, j) = rr(i, j)
65               uent(i, k, j)=u(i, j)               uent(i, k, j) = u(i, j)
66               vent(i, k, j)=v(i, j)               vent(i, k, j) = v(i, j)
67               elij(i, k, j)=0.0               elij(i, k, j) = 0.0
              !ym ment(i, k, j)=0.0  
              !ym sij(i, k, j)=0.0  
68            end do            end do
69         end do         end do
70      end do      end do
71    
72      !ym      ment(1:ncum, 1:klev, 1:klev) = 0.0
73      ment(1:ncum, 1:nd, 1:nd)=0.0      sij(1:ncum, 1:klev, 1:klev) = 0.0
     sij(1:ncum, 1:nd, 1:nd)=0.0  
74    
75      zm(:, :)=0.      zm(:, :) = 0.
76    
77      ! CALCULATE ENTRAINED AIR MASS FLUX (ment), TOTAL WATER MIXING      ! CALCULATE ENTRAINED AIR MASS FLUX (ment), TOTAL WATER MIXING
78      ! RATIO (QENT), TOTAL CONDENSED WATER (elij), AND MIXING      ! RATIO (QENT), TOTAL CONDENSED WATER (elij), AND MIXING
79      ! FRACTION (sij)      ! FRACTION (sij)
80    
81      do i=minorig+1, nl      do i = minorig + 1, nl
82    
83         do j=minorig, nl         do j = minorig, nl
84            do il=1, ncum            do il = 1, ncum
85               if((i >= icb(il)).and.(i <= inb(il)).and. &               if((i >= icb(il)).and.(i <= inb(il)).and. &
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*t(il, j)*t(il, j)*cpd)                  bf2 = 1. + lv(il, j) * lv(il, j) * rs(il, j) / (rv &
90                  anum=h(il, j)-hp(il, i)+(cpv-cpd)*t(il, j)*(rti-rr(il, j))                       * t(il, j) * t(il, j) * rcpd)
91                  denom=h(il, i)-hp(il, i)+(cpd-cpv)*(rr(il, i)-rti)*t(il, j)                  anum = h(il, j) - hp(il, i) + (rcpv - rcpd) * t(il, j) * (rti &
92                  dei=denom                       - rr(il, j))
93                  if(abs(dei) < 0.01)dei=0.01                  denom = h(il, i) - hp(il, i) + (rcpd - rcpv) * (rr(il, i) &
94                  sij(il, i, j)=anum/dei                       - rti) * t(il, j)
95                  sij(il, i, i)=1.0                  dei = denom
96                  altem=sij(il, i, j)*rr(il, i)+(1.-sij(il, i, j))*rti-rs(il, j)                  if(abs(dei) < 0.01)dei = 0.01
97                  altem=altem/bf2                  sij(il, i, j) = anum / dei
98                  cwat=clw(il, j)*(1.-ep(il, j))                  sij(il, i, i) = 1.0
99                  stemp=sij(il, i, j)                  altem = sij(il, i, j) * rr(il, i) + (1. - sij(il, i, j)) &
100                         * rti - rs(il, j)
101                    altem = altem / bf2
102                    cwat = clw(il, j) * (1. - ep(il, j))
103                    stemp = sij(il, i, j)
104                  if((stemp < 0.0.or.stemp > 1.0.or.altem > cwat) &                  if((stemp < 0.0.or.stemp > 1.0.or.altem > cwat) &
105                       .and.j > i)then                       .and.j > i)then
106                     anum=anum-lv(il, j)*(rti-rs(il, j)-cwat*bf2)                     anum = anum - lv(il, j) * (rti - rs(il, j) - cwat * bf2)
107                     denom=denom+lv(il, j)*(rr(il, i)-rti)                     denom = denom + lv(il, j) * (rr(il, i) - rti)
108                     if(abs(denom) < 0.01)denom=0.01                     if(abs(denom) < 0.01)denom = 0.01
109                     sij(il, i, j)=anum/denom                     sij(il, i, j) = anum / denom
110                     altem=sij(il, i, j)*rr(il, i)+(1.-sij(il, i, j))*rti-rs(il, j)                     altem = sij(il, i, j) * rr(il, i) + (1. - sij(il, i, j)) &
111                     altem=altem-(bf2-1.)*cwat                          * rti - rs(il, j)
112                       altem = altem - (bf2 - 1.) * cwat
113                  end if                  end if
114                  if(sij(il, i, j) > 0.0.and.sij(il, i, j) < 0.95)then                  if(sij(il, i, j) > 0.0.and.sij(il, i, j) < 0.95)then
115                     qent(il, i, j)=sij(il, i, j)*rr(il, i)+(1.-sij(il, i, j))*rti                     qent(il, i, j) = sij(il, i, j) * rr(il, i) + (1. &
116                     uent(il, i, j)=sij(il, i, j)*u(il, i)+(1.-sij(il, i, j))*u(il, nk(il))                          - sij(il, i, j)) * rti
117                     vent(il, i, j)=sij(il, i, j)*v(il, i)+(1.-sij(il, i, j))*v(il, nk(il))                     uent(il, i, j) = sij(il, i, j) * u(il, i) + (1. &
118                     elij(il, i, j)=altem                          - sij(il, i, j)) * u(il, minorig)
119                     elij(il, i, j)=amax1(0.0, elij(il, i, j))                     vent(il, i, j) = sij(il, i, j) * v(il, i) + (1. &
120                     ment(il, i, j)=m(il, i)/(1.-sij(il, i, j))                          - sij(il, i, j)) * v(il, minorig)
121                     nent(il, i)=nent(il, i)+1                     elij(il, i, j) = altem
122                       elij(il, i, j) = amax1(0.0, elij(il, i, j))
123                       ment(il, i, j) = m(il, i) / (1. - sij(il, i, j))
124                       nent(il, i) = nent(il, i) + 1
125                  end if                  end if
126                  sij(il, i, j)=amax1(0.0, sij(il, i, j))                  sij(il, i, j) = amax1(0.0, sij(il, i, j))
127                  sij(il, i, j)=amin1(1.0, sij(il, i, j))                  sij(il, i, j) = amin1(1.0, sij(il, i, j))
128               endif ! new               endif ! new
129            end do            end do
130         end do         end do
131    
132         !  if no air can entrain at level i assume that updraft detrains         ! if no air can entrain at level i assume that updraft detrains
133         !  at that level and calculate detrained air flux and properties         ! at that level and calculate detrained air flux and properties
134    
135         do il=1, ncum         do il = 1, ncum
136            if ((i >= icb(il)).and.(i <= inb(il)).and.(nent(il, i) == 0)) then            if ((i >= icb(il)).and.(i <= inb(il)).and.(nent(il, i) == 0)) then
137               !@ if(nent(il, i) == 0)then               ment(il, i, i) = m(il, i)
138               ment(il, i, i)=m(il, i)               qent(il, i, i) = rr(il, minorig) - ep(il, i) * clw(il, i)
139               qent(il, i, i)=rr(il, nk(il))-ep(il, i)*clw(il, i)               uent(il, i, i) = u(il, minorig)
140               uent(il, i, i)=u(il, nk(il))               vent(il, i, i) = v(il, minorig)
141               vent(il, i, i)=v(il, nk(il))               elij(il, i, i) = clw(il, i)
142               elij(il, i, i)=clw(il, i)               sij(il, i, i) = 0.0
              !MAF sij(il, i, i)=1.0  
              sij(il, i, i)=0.0  
143            end if            end if
144         end do         end do
145      end do      end do
# Line 143  contains Line 150  contains
150      asum = 0.      asum = 0.
151      csum = 0.      csum = 0.
152    
153      do il=1, ncum      do il = 1, ncum
154         lwork(il) = .FALSE.         lwork(il) = .FALSE.
155      enddo      enddo
156    
157      DO i=minorig+1, nl      DO i = minorig + 1, nl
158    
159         num1=0         num1 = 0
160         do il=1, ncum         do il = 1, ncum
161            if (i >= icb(il) .and. i <= inb(il)) num1=num1+1            if (i >= icb(il) .and. i <= inb(il)) num1 = num1 + 1
162         enddo         enddo
163         if (num1 <= 0) cycle         if (num1 <= 0) cycle
164    
165         do il=1, ncum         do il = 1, ncum
166            if (i >= icb(il) .and. i <= inb(il)) then            if (i >= icb(il) .and. i <= inb(il)) then
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)
176               if(scrit(il) <= 0.0.or.alt <= 0.0)scrit(il)=1.0               if(scrit(il) <= 0.0.or.alt <= 0.0)scrit(il) = 1.0
177               smax(il)=0.0               smax(il) = 0.0
178               asij(il)=0.0               asij(il) = 0.0
179            endif            endif
180         end do         end do
181    
182         do j=nl, minorig, -1         do j = nl, minorig, - 1
183    
184            num2=0            num2 = 0
185            do il=1, ncum            do il = 1, ncum
186               if (i >= icb(il) .and. i <= inb(il) .and. &               if (i >= icb(il) .and. i <= inb(il) .and. &
187                    j >= (icb(il)-1) .and. j <= inb(il) &                    j >= (icb(il) - 1) .and. j <= inb(il) &
188                    .and. lwork(il)) num2=num2+1                    .and. lwork(il)) num2 = num2 + 1
189            enddo            enddo
190            if (num2 <= 0) cycle            if (num2 <= 0) cycle
191    
192            do il=1, ncum            do il = 1, ncum
193               if (i >= icb(il) .and. i <= inb(il) .and. &               if (i >= icb(il) .and. i <= inb(il) .and. &
194                    j >= (icb(il)-1) .and. j <= inb(il) &                    j >= (icb(il) - 1) .and. j <= inb(il) &
195                    .and. lwork(il)) then                    .and. lwork(il)) then
196    
197                  if(sij(il, i, j) > 1.0e-16.and.sij(il, i, j) < 0.95)then                  if(sij(il, i, j) > 1.0e-16.and.sij(il, i, j) < 0.95)then
198                     wgh=1.0                     wgh = 1.0
199                     if(j > i)then                     if(j > i)then
200                        sjmax=amax1(sij(il, i, j+1), smax(il))                        sjmax = amax1(sij(il, i, j + 1), smax(il))
201                        sjmax=amin1(sjmax, scrit(il))                        sjmax = amin1(sjmax, scrit(il))
202                        smax(il)=amax1(sij(il, i, j), smax(il))                        smax(il) = amax1(sij(il, i, j), smax(il))
203                        sjmin=amax1(sij(il, i, j-1), smax(il))                        sjmin = amax1(sij(il, i, j - 1), smax(il))
204                        sjmin=amin1(sjmin, scrit(il))                        sjmin = amin1(sjmin, scrit(il))
205                        if(sij(il, i, j) < (smax(il)-1.0e-16))wgh=0.0                        if(sij(il, i, j) < (smax(il) - 1.0e-16))wgh = 0.0
206                        smid=amin1(sij(il, i, j), scrit(il))                        smid = amin1(sij(il, i, j), scrit(il))
207                     else                     else
208                        sjmax=amax1(sij(il, i, j+1), scrit(il))                        sjmax = amax1(sij(il, i, j + 1), scrit(il))
209                        smid=amax1(sij(il, i, j), scrit(il))                        smid = amax1(sij(il, i, j), scrit(il))
210                        sjmin=0.0                        sjmin = 0.0
211                        if(j > 1)sjmin=sij(il, i, j-1)                        if(j > 1)sjmin = sij(il, i, j - 1)
212                        sjmin=amax1(sjmin, scrit(il))                        sjmin = amax1(sjmin, scrit(il))
213                     endif                     endif
214                     delp=abs(sjmax-smid)                     delp = abs(sjmax - smid)
215                     delm=abs(sjmin-smid)                     delm = abs(sjmin - smid)
216                     asij(il)=asij(il)+wgh*(delp+delm)                     asij(il) = asij(il) + wgh * (delp + delm)
217                     ment(il, i, j)=ment(il, i, j)*(delp+delm)*wgh                     ment(il, i, j) = ment(il, i, j) * (delp + delm) * wgh
218                  endif                  endif
219               endif               endif
220            end do            end do
221    
222         end do         end do
223    
224         do il=1, ncum         do il = 1, ncum
225            if (i >= icb(il).and.i <= inb(il).and.lwork(il)) then            if (i >= icb(il).and.i <= inb(il).and.lwork(il)) then
226               asij(il)=amax1(1.0e-16, asij(il))               asij(il) = amax1(1.0e-16, asij(il))
227               asij(il)=1.0/asij(il)               asij(il) = 1.0 / asij(il)
228               asum(il, i)=0.0               asum(il, i) = 0.0
229               bsum(il, i)=0.0               bsum(il, i) = 0.0
230               csum(il, i)=0.0               csum(il, i) = 0.0
231            endif            endif
232         enddo         enddo
233    
234         do j=minorig, nl         do j = minorig, nl
235            do il=1, ncum            do il = 1, ncum
236               if (i >= icb(il) .and. i <= inb(il) .and. lwork(il) &               if (i >= icb(il) .and. i <= inb(il) .and. lwork(il) &
237                    .and. j >= (icb(il)-1) .and. j <= inb(il)) then                    .and. j >= (icb(il) - 1) .and. j <= inb(il)) then
238                  ment(il, i, j)=ment(il, i, j)*asij(il)                  ment(il, i, j) = ment(il, i, j) * asij(il)
239               endif               endif
240            enddo            enddo
241         end do         end do
242    
243         do j=minorig, nl         do j = minorig, nl
244            do il=1, ncum            do il = 1, ncum
245               if (i >= icb(il) .and. i <= inb(il) .and. lwork(il) &               if (i >= icb(il) .and. i <= inb(il) .and. lwork(il) &
246                    .and. j >= (icb(il)-1) .and. j <= inb(il)) then                    .and. j >= (icb(il) - 1) .and. j <= inb(il)) then
247                  asum(il, i)=asum(il, i)+ment(il, i, j)                  asum(il, i) = asum(il, i) + ment(il, i, j)
248                  ment(il, i, j)=ment(il, i, j)*sig(il, j)                  ment(il, i, j) = ment(il, i, j) * sig(il, j)
249                  bsum(il, i)=bsum(il, i)+ment(il, i, j)                  bsum(il, i) = bsum(il, i) + ment(il, i, j)
250               endif               endif
251            enddo            enddo
252         end do         end do
253    
254         do il=1, ncum         do il = 1, ncum
255            if (i >= icb(il).and.i <= inb(il).and.lwork(il)) then            if (i >= icb(il).and.i <= inb(il).and.lwork(il)) then
256               bsum(il, i)=amax1(bsum(il, i), 1.0e-16)               bsum(il, i) = amax1(bsum(il, i), 1.0e-16)
257               bsum(il, i)=1.0/bsum(il, i)               bsum(il, i) = 1.0 / bsum(il, i)
258            endif            endif
259         enddo         enddo
260    
261         do j=minorig, nl         do j = minorig, nl
262            do il=1, ncum            do il = 1, ncum
263               if (i >= icb(il) .and. i <= inb(il) .and. lwork(il) &               if (i >= icb(il) .and. i <= inb(il) .and. lwork(il) &
264                    .and. j >= (icb(il)-1) .and. j <= inb(il)) then                    .and. j >= (icb(il) - 1) .and. j <= inb(il)) then
265                  ment(il, i, j)=ment(il, i, j)*asum(il, i)*bsum(il, i)                  ment(il, i, j) = ment(il, i, j) * asum(il, i) * bsum(il, i)
266               endif               endif
267            enddo            enddo
268         end do         end do
269    
270         do j=minorig, nl         do j = minorig, nl
271            do il=1, ncum            do il = 1, ncum
272               if (i >= icb(il) .and. i <= inb(il) .and. lwork(il) &               if (i >= icb(il) .and. i <= inb(il) .and. lwork(il) &
273                    .and. j >= (icb(il)-1) .and. j <= inb(il)) then                    .and. j >= (icb(il) - 1) .and. j <= inb(il)) then
274                  csum(il, i)=csum(il, i)+ment(il, i, j)                  csum(il, i) = csum(il, i) + ment(il, i, j)
275               endif               endif
276            enddo            enddo
277         end do         end do
278    
279         do il=1, ncum         do il = 1, ncum
280            if (i >= icb(il) .and. i <= inb(il) .and. lwork(il) &            if (i >= icb(il) .and. i <= inb(il) .and. lwork(il) &
281                 .and. csum(il, i) < m(il, i)) then                 .and. csum(il, i) < m(il, i)) then
282               nent(il, i)=0               nent(il, i) = 0
283               ment(il, i, i)=m(il, i)               ment(il, i, i) = m(il, i)
284               qent(il, i, i)=rr(il, 1)-ep(il, i)*clw(il, i)               qent(il, i, i) = rr(il, 1) - ep(il, i) * clw(il, i)
285               uent(il, i, i)=u(il, nk(il))               uent(il, i, i) = u(il, minorig)
286               vent(il, i, i)=v(il, nk(il))               vent(il, i, i) = v(il, minorig)
287               elij(il, i, i)=clw(il, i)               elij(il, i, i) = clw(il, i)
288               !MAF sij(il, i, i)=1.0               sij(il, i, i) = 0.0
              sij(il, i, i)=0.0  
289            endif            endif
290         enddo ! il         enddo ! il
291    
292      end DO      end DO
293    
294      ! MAF: renormalisation de MENT      ! MAF: renormalisation de MENT
295      do jm=1, nd      do jm = 1, klev
296         do im=1, nd         do im = 1, klev
297            do il=1, ncum            do il = 1, ncum
298               zm(il, im)=zm(il, im)+(1.-sij(il, im, jm))*ment(il, im, jm)               zm(il, im) = zm(il, im) + (1. - sij(il, im, jm)) * ment(il, im, jm)
299            end do            end do
300         end do         end do
301      end do      end do
302    
303      do jm=1, nd      do jm = 1, klev
304         do im=1, nd         do im = 1, klev
305            do il=1, ncum            do il = 1, ncum
306               if(zm(il, im) /= 0.) then               if(zm(il, im) /= 0.) then
307                  ment(il, im, jm)=ment(il, im, jm)*m(il, im)/zm(il, im)                  ment(il, im, jm) = ment(il, im, jm) * m(il, im) / zm(il, im)
308               endif               endif
309            end do            end do
310         end do         end do
311      end do      end do
312    
313      do jm=1, nd      do jm = 1, klev
314         do im=1, nd         do im = 1, klev
315            do il=1, ncum            do il = 1, ncum
316               qents(il, im, jm)=qent(il, im, jm)               qents(il, im, jm) = qent(il, im, jm)
317               ments(il, im, jm)=ment(il, im, jm)               ments(il, im, jm) = ment(il, im, jm)
318            end do            end do
319         enddo         enddo
320      enddo      enddo

Legend:
Removed from v.189  
changed lines
  Added in v.254

  ViewVC Help
Powered by ViewVC 1.1.21