/[lmdze]/trunk/Sources/phylmd/clmain.f
ViewVC logotype

Diff of /trunk/Sources/phylmd/clmain.f

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

revision 237 by guez, Thu Nov 9 13:26:00 2017 UTC revision 241 by guez, Mon Nov 13 11:51:04 2017 UTC
# Line 169  contains Line 169  contains
169      REAL yu(klon, klev), yv(klon, klev)      REAL yu(klon, klev), yv(klon, klev)
170      REAL yt(klon, klev), yq(klon, klev)      REAL yt(klon, klev), yq(klon, klev)
171      REAL ypaprs(klon, klev + 1), ypplay(klon, klev), ydelp(klon, klev)      REAL ypaprs(klon, klev + 1), ypplay(klon, klev), ydelp(klon, klev)
172      REAL ycoefm0(klon, klev), ycoefh0(klon, klev)      REAL ycoefm0(klon, 2:klev), ycoefh0(klon, 2:klev)
173      REAL yzlay(klon, klev), zlev(klon, klev + 1), yteta(klon, klev)      REAL yzlay(klon, klev), zlev(klon, klev + 1), yteta(klon, klev)
174      REAL ykmm(klon, klev + 1), ykmn(klon, klev + 1)      REAL ykmm(klon, klev + 1), ykmn(klon, klev + 1)
     REAL ykmq(klon, klev + 1)  
175      REAL yq2(klon, klev + 1)      REAL yq2(klon, klev + 1)
176      REAL delp(klon, klev)      REAL delp(klon, klev)
177      INTEGER i, k, nsrf      INTEGER i, k, nsrf
# Line 317  contains Line 316  contains
316                 coefh(:knon, :), ycdragm(:knon), ycdragh(:knon))                 coefh(:knon, :), ycdragm(:knon), ycdragh(:knon))
317    
318            IF (iflag_pbl == 1) THEN            IF (iflag_pbl == 1) THEN
319               CALL coefkz2(nsrf, knon, ypaprs, ypplay, yt, ycoefm0(:knon, 2:), &               CALL coefkz2(nsrf, knon, ypaprs, ypplay, yt, ycoefm0(:knon, :), &
320                    ycoefh0(:knon, 2:))                    ycoefh0(:knon, :))
321               ycoefm0(:knon, 1) = 0.               coefm(:knon, :) = max(coefm(:knon, :), ycoefm0(:knon, :))
322               ycoefh0(:knon, 1) = 0.               coefh(:knon, :) = max(coefh(:knon, :), ycoefh0(:knon, :))
323               coefm(:knon, :) = max(coefm(:knon, :), ycoefm0(:knon, 2:))               ycdragm(:knon) = max(ycdragm(:knon), 0.)
324               coefh(:knon, :) = max(coefh(:knon, :), ycoefh0(:knon, 2:))               ycdragh(:knon) = max(ycdragh(:knon), 0.)
              ycdragm(:knon) = max(ycdragm(:knon), ycoefm0(:knon, 1))  
              ycdragh(:knon) = max(ycdragh(:knon), ycoefh0(:knon, 1))  
325            END IF            END IF
326    
327            ! on met un seuil pour ycdragm et ycdragh            ! on met un seuil pour ycdragm et ycdragh
# Line 336  contains Line 333  contains
333            IF (ok_kzmin) THEN            IF (ok_kzmin) THEN
334               ! Calcul d'une diffusion minimale pour les conditions tres stables               ! Calcul d'une diffusion minimale pour les conditions tres stables
335               CALL coefkzmin(knon, ypaprs, ypplay, yu, yv, yt, yq, &               CALL coefkzmin(knon, ypaprs, ypplay, yu, yv, yt, yq, &
336                    ycdragm(:knon), ycoefm0(:knon, 2:), ycoefh0(:knon, 2:))                    ycdragm(:knon), ycoefh0(:knon, :))
337               coefm(:knon, :) = max(coefm(:knon, :), ycoefm0(:knon, 2:))               ycoefm0(:knon, :) = ycoefh0(:knon, :)
338               coefh(:knon, :) = max(coefh(:knon, :), ycoefh0(:knon, 2:))               coefm(:knon, :) = max(coefm(:knon, :), ycoefm0(:knon, :))
339               ycdragm(:knon) = max(ycdragm(:knon), ycoefm0(:knon, 1))               coefh(:knon, :) = max(coefh(:knon, :), ycoefh0(:knon, :))
              ycdragh(:knon) = max(ycdragh(:knon), ycoefh0(:knon, 1))  
340            END IF            END IF
341    
342            IF (iflag_pbl >= 6) THEN            IF (iflag_pbl >= 6) THEN
# Line 379  contains Line 375  contains
375    
376               ustar(:knon) = ustarhb(yu(:knon, 1), yv(:knon, 1), ycdragm(:knon))               ustar(:knon) = ustarhb(yu(:knon, 1), yv(:knon, 1), ycdragm(:knon))
377               CALL yamada4(dtime, rg, zlev(:knon, :), yzlay(:knon, :), &               CALL yamada4(dtime, rg, zlev(:knon, :), yzlay(:knon, :), &
378                    yu(:knon, :), yv(:knon, :), yteta(:knon, :), &                    yu(:knon, :), yv(:knon, :), yteta(:knon, :), yq2(:knon, :), &
379                    ycdragm(:knon), yq2(:knon, :), ykmm(:knon, :), &                    ykmm(:knon, :), ykmn(:knon, :), ustar(:knon))
380                    ykmn(:knon, :), ykmq(:knon, :), ustar(:knon))               coefm(:knon, :) = ykmm(:knon, 2:klev)
381               coefm(:knon, 2:) = ykmm(:knon, 2:klev)               coefh(:knon, :) = ykmn(:knon, 2:klev)
              coefh(:knon, 2:) = ykmn(:knon, 2:klev)  
382            END IF            END IF
383    
384            CALL clvent(dtime, yu(:knon, 1), yv(:knon, 1), coefm(:knon, :), &            CALL clvent(dtime, yu(:knon, 1), yv(:knon, 1), coefm(:knon, :), &
# Line 496  contains Line 491  contains
491               END DO               END DO
492            END DO            END DO
493                        
494            DO j = 1, knon            ycoefh(ni(:knon), 2:) = ycoefh(ni(:knon), 2:) + coefh(:knon, :)
495               i = ni(j)            ycoefh(ni(:knon), 1) = ycoefh(ni(:knon), 1) + ycdragh(:knon)
              DO k = 2, klev  
                 ycoefh(i, k) = ycoefh(i, k) + coefh(j, k)  
              END DO  
           END DO  
   
           DO j = 1, knon  
              i = ni(j)  
              ycoefh(i, 1) = ycoefh(i, 1) + ycdragh(j)  
           END DO  
496    
497            ! diagnostic t, q a 2m et u, v a 10m            ! diagnostic t, q a 2m et u, v a 10m
498    

Legend:
Removed from v.237  
changed lines
  Added in v.241

  ViewVC Help
Powered by ViewVC 1.1.21