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

Diff of /trunk/phylmd/fisrtilp.f

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

trunk/phylmd/fisrtilp.f90 revision 78 by guez, Wed Feb 5 17:51:07 2014 UTC trunk/phylmd/fisrtilp.f revision 108 by guez, Tue Sep 16 14:00:41 2014 UTC
# Line 87  contains Line 87  contains
87      PARAMETER (t_coup=234.0)      PARAMETER (t_coup=234.0)
88    
89      INTEGER i, k, n, kk      INTEGER i, k, n, kk
90      REAL zqs(klon), zdqs(klon), zdelta, zcor, zcvm5      REAL zqs(klon), zdqs(klon), zcor, zcvm5
91        logical zdelta
92      REAL zrfl(klon), zrfln(klon), zqev, zqevt      REAL zrfl(klon), zrfln(klon), zqev, zqevt
93      REAL zoliq(klon), zcond(klon), zq(klon), zqn(klon), zdelq      REAL zoliq(klon), zcond(klon), zq(klon), zqn(klon), zdelq
94      REAL ztglace, zt(klon)      REAL ztglace, zt(klon)
# Line 112  contains Line 113  contains
113      ! Pour la conversion eau-neige      ! Pour la conversion eau-neige
114      REAL zlh_solid(klon), zm_solid      REAL zlh_solid(klon), zm_solid
115    
     ! Fonctions en ligne:  
   
     REAL fallvs, fallvc ! vitesse de chute pour crystaux de glace  
     REAL zzz  
   
     fallvc(zzz) = 3.29/2.0*((zzz)**0.16)*ffallv_con  
     fallvs(zzz) = 3.29/2.0*((zzz)**0.16)*ffallv_lsc  
   
116      !---------------------------------------------------------------      !---------------------------------------------------------------
117    
118      zdelq = 0.0      zdelq = 0.0
# Line 225  contains Line 218  contains
218            DO i = 1, klon            DO i = 1, klon
219               IF (zrfl(i)>0.) THEN               IF (zrfl(i)>0.) THEN
220                  IF (thermcep) THEN                  IF (thermcep) THEN
221                     zdelta = max(0., sign(1., rtt-zt(i)))                     zqs(i) = r2es*foeew(zt(i), rtt >= zt(i))/pplay(i, k)
                    zqs(i) = r2es*foeew(zt(i), zdelta)/pplay(i, k)  
222                     zqs(i) = min(0.5, zqs(i))                     zqs(i) = min(0.5, zqs(i))
223                     zcor = 1./(1.-retv*zqs(i))                     zcor = 1./(1.-retv*zqs(i))
224                     zqs(i) = zqs(i)*zcor                     zqs(i) = zqs(i)*zcor
# Line 264  contains Line 256  contains
256    
257         IF (thermcep) THEN         IF (thermcep) THEN
258            DO i = 1, klon            DO i = 1, klon
259               zdelta = max(0., sign(1., rtt-zt(i)))               zdelta = rtt >= zt(i)
260               zcvm5 = r5les*rlvtt*(1.-zdelta) + r5ies*rlstt*zdelta               zcvm5 = merge(r5ies*rlstt, r5les*rlvtt, zdelta)
261               zcvm5 = zcvm5/rcpd/(1.0+rvtmp2*zq(i))               zcvm5 = zcvm5/rcpd/(1.0+rvtmp2*zq(i))
262               zqs(i) = r2es*foeew(zt(i), zdelta)/pplay(i, k)               zqs(i) = r2es*foeew(zt(i), zdelta)/pplay(i, k)
263               zqs(i) = min(0.5, zqs(i))               zqs(i) = min(0.5, zqs(i))
# Line 491  contains Line 483  contains
483         END DO         END DO
484      END DO      END DO
485    
486      contains
487    
488        ! vitesse de chute pour crystaux de glace
489    
490        REAL function fallvs(zzz)
491          REAL zzz
492          fallvs = 3.29/2.0*((zzz)**0.16)*ffallv_lsc
493        end function fallvs
494    
495        real function fallvc(zzz)
496          REAL zzz
497          fallvc = 3.29/2.0*((zzz)**0.16)*ffallv_con
498        end function fallvc
499    
500    END SUBROUTINE fisrtilp    END SUBROUTINE fisrtilp
501    
502  end module fisrtilp_m  end module fisrtilp_m

Legend:
Removed from v.78  
changed lines
  Added in v.108

  ViewVC Help
Powered by ViewVC 1.1.21