/[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 238 by guez, Thu Nov 9 14:11:39 2017 UTC revision 242 by guez, Mon Nov 13 12:12:41 2017 UTC
# Line 106  contains Line 106  contains
106      ! dflux_q derive du flux latent      ! dflux_q derive du flux latent
107      ! IM "slab" ocean      ! IM "slab" ocean
108    
109      REAL, intent(out):: ycoefh(:, :) ! (klon, klev)      REAL, intent(out):: ycoefh(:, 2:) ! (klon, 2:klev)
110      ! Pour pouvoir extraire les coefficients d'\'echange, le champ      ! Pour pouvoir extraire les coefficients d'\'echange, le champ
111      ! "ycoefh" a \'et\'e cr\'e\'e. Nous avons moyenn\'e les valeurs de      ! "ycoefh" a \'et\'e cr\'e\'e. Nous avons moyenn\'e les valeurs de
112      ! ce champ sur les quatre sous-surfaces du mod\`ele.      ! ce champ sur les quatre sous-surfaces du mod\`ele.
# 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)
175      REAL yq2(klon, klev + 1)      REAL yq2(klon, klev + 1)
# Line 316  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, :))
              coefm(:knon, :) = max(coefm(:knon, :), ycoefm0(:knon, 2:))  
              coefh(:knon, :) = max(coefh(:knon, :), ycoefh0(:knon, 2:))  
323               ycdragm(:knon) = max(ycdragm(:knon), 0.)               ycdragm(:knon) = max(ycdragm(:knon), 0.)
324               ycdragh(:knon) = max(ycdragh(:knon), 0.)               ycdragh(:knon) = max(ycdragh(:knon), 0.)
325            END IF            END IF
# Line 335  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 493  contains Line 490  contains
490                  d_v(i, k) = d_v(i, k) + y_d_v(j, k)                  d_v(i, k) = d_v(i, k) + y_d_v(j, k)
491               END DO               END DO
492            END DO            END DO
             
           DO j = 1, knon  
              i = ni(j)  
              DO k = 2, klev  
                 ycoefh(i, k) = ycoefh(i, k) + coefh(j, k)  
              END DO  
           END DO  
493    
494            DO j = 1, knon            ycoefh(ni(:knon), :) = ycoefh(ni(:knon), :) + coefh(:knon, :)
              i = ni(j)  
              ycoefh(i, 1) = ycoefh(i, 1) + ycdragh(j)  
           END DO  
495    
496            ! diagnostic t, q a 2m et u, v a 10m            ! diagnostic t, q a 2m et u, v a 10m
497    

Legend:
Removed from v.238  
changed lines
  Added in v.242

  ViewVC Help
Powered by ViewVC 1.1.21