Ignore:
Timestamp:
Jun 11, 2014, 3:46:46 PM (10 years ago)
Author:
Laurent Fairhead
Message:

Merged trunk changes r1997:2055 into testing branch

Location:
LMDZ5/branches/testing
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/branches/testing

  • LMDZ5/branches/testing/libf/phylmd/newmicro.F90

    r1999 r2056  
    1212    reffclwc, cldnvi, lcc3d, lcc3dcon, lcc3dstra
    1313  USE phys_state_var_mod, ONLY: rnebcon, clwcon
     14  USE microphys_mod ! cloud microphysics (JBM 3/14)
    1415  IMPLICIT NONE
    1516  ! ======================================================================
     
    106107  PARAMETER (seuil_neb=0.001)
    107108
    108   INTEGER nexpo ! exponentiel pour glace/eau
    109   PARAMETER (nexpo=6)
    110   ! PARAMETER (nexpo=1)
     109! JBM (3/14) nexpo is replaced by exposant_glace
     110! INTEGER nexpo ! exponentiel pour glace/eau
     111! PARAMETER (nexpo=6)
     112! PARAMETER (nexpo=1)
     113! if iflag_t_glace=0, the old values are used:
     114  REAL, PARAMETER :: t_glace_min_old = 258.
     115  REAL, PARAMETER :: t_glace_max_old = 273.13
    111116
    112117  REAL rel, tc, rei
     
    180185  reice_pi = 0.
    181186
    182   DO k = 1, klev
    183     DO i = 1, klon
    184       ! -layer calculation
    185       rhodz(i, k) = (paprs(i,k)-paprs(i,k+1))/rg ! kg/m2
    186       zrho(i, k) = pplay(i, k)/t(i, k)/rd ! kg/m3
    187       dh(i, k) = rhodz(i, k)/zrho(i, k) ! m
    188       ! -Fraction of ice in cloud using a linear transition
    189       zfice(i, k) = 1.0 - (t(i,k)-t_glace_min)/(t_glace_max-t_glace_min)
    190       zfice(i, k) = min(max(zfice(i,k),0.0), 1.0)
    191       ! -IM Total Liquid/Ice water content
    192       xflwc(i, k) = (1.-zfice(i,k))*pqlwp(i, k)
    193       xfiwc(i, k) = zfice(i, k)*pqlwp(i, k)
    194     END DO
    195   END DO
     187  IF (iflag_t_glace.EQ.0) THEN
     188    DO k = 1, klev
     189      DO i = 1, klon
     190        ! -layer calculation
     191        rhodz(i, k) = (paprs(i,k)-paprs(i,k+1))/rg ! kg/m2
     192        zrho(i, k) = pplay(i, k)/t(i, k)/rd ! kg/m3
     193        dh(i, k) = rhodz(i, k)/zrho(i, k) ! m
     194        ! -Fraction of ice in cloud using a linear transition
     195        zfice(i, k) = 1.0 - (t(i,k)-t_glace_min_old)/(t_glace_max_old-t_glace_min_old)
     196        zfice(i, k) = min(max(zfice(i,k),0.0), 1.0)
     197        ! -IM Total Liquid/Ice water content
     198        xflwc(i, k) = (1.-zfice(i,k))*pqlwp(i, k)
     199        xfiwc(i, k) = zfice(i, k)*pqlwp(i, k)
     200      END DO
     201    END DO
     202  ELSE ! of IF (iflag_t_glace.EQ.0)
     203    DO k = 1, klev
     204      DO i = 1, klon
     205        ! -layer calculation
     206        rhodz(i, k) = (paprs(i,k)-paprs(i,k+1))/rg ! kg/m2
     207        zrho(i, k) = pplay(i, k)/t(i, k)/rd ! kg/m3
     208        dh(i, k) = rhodz(i, k)/zrho(i, k) ! m
     209        ! JBM: icefrac_lsc is now a function contained in microphys_mod
     210        zfice(i, k) = icefrac_lsc(t(i,k), t_glace_min, &
     211                                  t_glace_max, exposant_glace)
     212        ! -IM Total Liquid/Ice water content
     213        xflwc(i, k) = (1.-zfice(i,k))*pqlwp(i, k)
     214        xfiwc(i, k) = zfice(i, k)*pqlwp(i, k)
     215      END DO
     216    END DO
     217  ENDIF
    196218
    197219  IF (ok_cdnc) THEN
Note: See TracChangeset for help on using the changeset viewer.