/[lmdze]/trunk/phylmd/coefkz.f
ViewVC logotype

Diff of /trunk/phylmd/coefkz.f

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

revision 254 by guez, Mon Feb 5 10:39:38 2018 UTC revision 279 by guez, Fri Jul 20 14:30:23 2018 UTC
# Line 35  contains Line 35  contains
35      REAL, intent(in):: zgeop(:, :) ! (knon, klev)      REAL, intent(in):: zgeop(:, :) ! (knon, klev)
36      REAL, intent(out):: coefm(:, 2:) ! (knon, 2:klev) coefficient, vitesse      REAL, intent(out):: coefm(:, 2:) ! (knon, 2:klev) coefficient, vitesse
37    
38      real, intent(out):: coefh(:, 2:) ! (knon, 2:klev)      real, intent(out):: coefh(:, 2:) ! (knon, 2:klev)
39      ! coefficient, chaleur et humidité      ! coefficient, chaleur et humidité
40    
41      ! Local:      ! Local:
# Line 87  contains Line 87  contains
87      knon = size(ts)      knon = size(ts)
88    
89      ! Prescrire la valeur de contre-gradient      ! Prescrire la valeur de contre-gradient
90      if (iflag_pbl.eq.1) then      if (iflag_pbl == 1) then
91         DO k = 3, klev         DO k = 3, klev
92            gamt(k) = - 1E-3            gamt(k) = - 1E-3
93         ENDDO         ENDDO
# Line 98  contains Line 98  contains
98         ENDDO         ENDDO
99      ENDIF      ENDIF
100    
101      IF (nsrf .NE. is_oce ) THEN      IF (nsrf /= is_oce) THEN
102         kstable = ksta_ter         kstable = ksta_ter
103      ELSE      ELSE
104         kstable = ksta         kstable = ksta
# Line 134  contains Line 134  contains
134            zfr = MAX(0.0, MIN(1.0, zfr))            zfr = MAX(0.0, MIN(1.0, zfr))
135            IF (.NOT.richum) zfr = 0.0            IF (.NOT.richum) zfr = 0.0
136    
137            !  calculer le nombre de Richardson:            ! calculer le nombre de Richardson:
138    
139            IF (tvirtu) THEN            IF (tvirtu) THEN
140               ztvd = (t(i, k) &               ztvd = (t(i, k) &
141                    + zdphi/RCPD/(1. + RVTMP2 * zq) &                    + zdphi/RCPD/(1. + RVTMP2 * zq) &
142                    * ((1. - zfr) + zfr * (1. + RLVTT * zqs/RD/zt)/(1. + zdqs) ) &                    * ((1. - zfr) + zfr * (1. + RLVTT * zqs/RD/zt)/(1. + zdqs)) &
143                    ) * (1. + RETV * q(i, k))                    ) * (1. + RETV * q(i, k))
144               ztvu = (t(i, k - 1) &               ztvu = (t(i, k - 1) &
145                    - zdphi/RCPD/(1. + RVTMP2 * zq) &                    - zdphi/RCPD/(1. + RVTMP2 * zq) &
146                    * ((1. - zfr) + zfr * (1. + RLVTT * zqs/RD/zt)/(1. + zdqs) ) &                    * ((1. - zfr) + zfr * (1. + RLVTT * zqs/RD/zt)/(1. + zdqs)) &
147                    ) * (1. + RETV * q(i, k - 1))                    ) * (1. + RETV * q(i, k - 1))
148               ri(i) = zmgeom(i) * (ztvd - ztvu)/(zdu2 * 0.5 * (ztvd + ztvu))               ri(i) = zmgeom(i) * (ztvd - ztvu)/(zdu2 * 0.5 * (ztvd + ztvu))
149               ri(i) = ri(i) &               ri(i) = ri(i) &
# Line 189  contains Line 189  contains
189               ENDIF               ENDIF
190            ELSE            ELSE
191               l2(i) = (mixlen * MAX(0.0, (paprs(i, k) - paprs(i, itop(i) + 1)) &               l2(i) = (mixlen * MAX(0.0, (paprs(i, k) - paprs(i, itop(i) + 1)) &
192                    /(paprs(i, 2) - paprs(i, itop(i) + 1)) ))**2                    /(paprs(i, 2) - paprs(i, itop(i) + 1))))**2
193               coefm(i, k) = sqrt(max(cdn**2 * (ric - ri(i)) / ric, kstable))               coefm(i, k) = sqrt(max(cdn**2 * (ric - ri(i)) / ric, kstable))
194               coefm(i, k) = l2(i) * coefm(i, k)               coefm(i, k) = l2(i) * coefm(i, k)
195               coefh(i, k) = coefm(i, k) / prandtl ! h et m different               coefh(i, k) = coefm(i, k) / prandtl ! h et m different

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

  ViewVC Help
Powered by ViewVC 1.1.21