/[lmdze]/trunk/phylmd/Interface_surf/coefkzmin.f
ViewVC logotype

Diff of /trunk/phylmd/Interface_surf/coefkzmin.f

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

revision 286 by guez, Tue Jul 24 15:22:48 2018 UTC revision 288 by guez, Tue Jul 24 16:27:12 2018 UTC
# Line 4  module coefkzmin_m Line 4  module coefkzmin_m
4    
5  contains  contains
6    
7    SUBROUTINE coefkzmin(ypaprs, ypplay, yu, yv, yt, yq, ycoefm, kn)    SUBROUTINE coefkzmin(ypaprs, ypplay, yu, yv, yt, yq, cdragm, coefh)
8    
9      ! From LMDZ4/libf/phylmd/coefkzmin.F, version 1.1.1.1, 2004/05/19 12:53:08      ! From LMDZ4/libf/phylmd/coefkzmin.F, version 1.1.1.1, 2004/05/19 12:53:08
10    
# Line 19  contains Line 19  contains
19      REAL, intent(in):: yu(:, :), yv(:, :) ! (knon, klev) wind, in m s-1      REAL, intent(in):: yu(:, :), yv(:, :) ! (knon, klev) wind, in m s-1
20      REAL, intent(in):: yt(:, :) ! (knon, klev) temperature, in K      REAL, intent(in):: yt(:, :) ! (knon, klev) temperature, in K
21      REAL, intent(in):: yq(:, :) ! (knon, klev)      REAL, intent(in):: yq(:, :) ! (knon, klev)
22      REAL, intent(in):: ycoefm(:) ! (knon) drag coefficient      REAL, intent(in):: cdragm(:) ! (knon) drag coefficient
23    
24      REAL, intent(out):: kn(:, 2:) ! (knon, 2:klev) coefficient de      REAL, intent(out):: coefh(:, 2:) ! (knon, 2:klev) coefficient de
25      ! diffusion turbulente de la quantité de mouvement et des      ! diffusion turbulente de la quantité de mouvement et des
26      ! scalaires (au bas de chaque couche) (en sortie : la valeur à la      ! scalaires (au bas de chaque couche) (en sortie : la valeur à la
27      ! fin du pas de temps), m2 s-1      ! fin du pas de temps), m2 s-1
# Line 72  contains Line 72  contains
72      enddo      enddo
73    
74      forall (k = 2: klev) zlev(:, k) = 0.5 * (zlay(:, k) + zlay(:, k-1))      forall (k = 2: klev) zlev(:, k) = 0.5 * (zlay(:, k) + zlay(:, k-1))
75      ustar = SQRT(ycoefm * (yu(:, 1)**2 + yv(:, 1)**2))      ustar = SQRT(cdragm * (yu(:, 1)**2 + yv(:, 1)**2))
76    
77      ! Fin de la partie qui doit être incluse à terme dans pbl_surface      ! Fin de la partie qui doit être incluse à terme dans pbl_surface
78    
# Line 88  contains Line 88  contains
88      do k = 2, klev      do k = 2, klev
89         do i = 1, knon         do i = 1, knon
90            if (teta(i, 2) > teta(i, 1)) then            if (teta(i, 2) > teta(i, 1)) then
91               kn(i, k) = kap * zlev(i, k) * ustar(i) &               coefh(i, k) = kap * zlev(i, k) * ustar(i) &
92                    * (max(1. - zlev(i, k) / pblhmin(i), 0.))**2                    * (max(1. - zlev(i, k) / pblhmin(i), 0.))**2
93            else            else
94               kn(i, k) = 0. ! min n'est utilisé que pour les SL stables               coefh(i, k) = 0. ! min n'est utilisé que pour les SL stables
95            endif            endif
96         enddo         enddo
97      enddo      enddo

Legend:
Removed from v.286  
changed lines
  Added in v.288

  ViewVC Help
Powered by ViewVC 1.1.21