Ignore:
Timestamp:
Aug 22, 2014, 12:22:58 PM (10 years ago)
Author:
jbmadeleine
Message:

nettoyage de icefrac_lsc: les paramètres t_glace_min, t_glace_max et
exposant_glace sont à présents chargés à partir de nuage.h et non
donnés en argument;

cleaning of icefrac_lsc: parameters t_glace_min, t_glace_max and
exposant_glace are loaded from the nuage.h file instead of being
given as arguments;

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/trunk/libf/phylmd/icefrac_lsc_mod.F90

    r2077 r2109  
    44MODULE icefrac_lsc_mod
    55
     6IMPLICIT NONE
     7
    68CONTAINS
    79!*******************************************************************
    810
    9 SUBROUTINE icefrac_lsc(np,temp, sig, tmin, tmax, nexpo,icefrac)
    10   IMPLICIT NONE
     11SUBROUTINE icefrac_lsc(np,temp, sig, icefrac)
    1112  !
    1213  ! Compute the ice fraction 1-xliq (see e.g.
    1314  ! Doutriaux-Boucher & Quaas 2004, section 2.2.)
    1415  !
    15   ! (JBM 3/14)
     16  ! (JBM 3/14 8/14)
     17 
     18  INCLUDE "nuage.h"
     19
     20  ! nuage.h contains:
     21  ! t_glace_min: if T < Tmin, the cloud is only made of water ice
     22  ! t_glace_max: if T > Tmax, the cloud is only made of liquid water
     23  ! exposant_glace: controls the sharpness of the transition
    1624  INTEGER :: np
    1725  REAL, DIMENSION(np), INTENT(IN) :: temp ! temperature
     
    1927  REAL, DIMENSION(np), INTENT(OUT) :: icefrac
    2028
    21   REAL :: tmin ! if T < Tmin, the cloud is only made of water ice
    22   REAL :: tmax ! if T > Tmax, the cloud is only made of liquid water
    23   REAL :: nexpo ! controls the sharpness of the transition
    2429  REAL :: sig0,www,tmin_tmp,icefrac_tmp
    2530  INTEGER :: ip
     
    2934  DO ip=1,np
    3035     www=(max(sig(ip)-sig0,0.))/(1.-sig0) ! w=1 at the surface and 0 for sig < sig0
    31      tmin_tmp=www*tmax+(1.-www)*tmin
    32      icefrac_tmp= 1.0 - (temp(ip)-tmin_tmp) / (tmax-tmin_tmp)
     36     tmin_tmp=www*t_glace_max+(1.-www)*t_glace_min
     37     icefrac_tmp= 1.0 - (temp(ip)-tmin_tmp) / (t_glace_max-tmin_tmp)
    3338     icefrac_tmp = MIN(MAX(icefrac_tmp,0.0),1.0)
    34      icefrac(ip) = icefrac_tmp**nexpo
     39     icefrac(ip) = icefrac_tmp**exposant_glace
    3540  ENDDO
    3641
Note: See TracChangeset for help on using the changeset viewer.