Ignore:
Timestamp:
Nov 5, 2021, 12:40:08 PM (3 years ago)
Author:
evignon
Message:

commission de la nouvelle routine de condensation
grande echelle simplifiee (lscp, version epuree de fistilp)
et du schema de nuages de phase mixte (en developpement)

La routine lscp n'est active que sous flag
ok_new_lscp=y

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/phylmd/nuage.F90

    r2346 r3999  
    11! $Id$
    22
    3 SUBROUTINE nuage(paprs, pplay, t, pqlwp, pclc, pcltau, pclemi, pch, pcl, pcm, &
     3SUBROUTINE nuage(paprs, pplay, t, pqlwp,picefra, pclc, pcltau, pclemi, pch, pcl, pcm, &
    44    pct, pctlwp, ok_aie, mass_solu_aero, mass_solu_aero_pi, bl95_b0, bl95_b1, &
    55    cldtaupi, re, fl)
    66  USE dimphy
     7  USE lscp_tools_mod, only: icefrac_lscp
    78  USE icefrac_lsc_mod ! computes ice fraction (JBM 3/14)
     9  USE phys_local_var_mod, ONLY: ptconv
    810  IMPLICIT NONE
    911  ! ======================================================================
     
    1416  ! t-------input-R-temperature
    1517  ! pqlwp---input-R-eau liquide nuageuse dans l'atmosphere (kg/kg)
     18  ! picefra--inout-R-fraction de glace dans les nuages (-)
    1619  ! pclc----input-R-couverture nuageuse pour le rayonnement (0 a 1)
    1720  ! ok_aie--input-L-apply aerosol indirect effect or not
     
    3639  include "YOMCST.h"
    3740  include "nuage.h" ! JBM 3/14
     41  include "clesphys.h"
    3842
    3943  REAL paprs(klon, klev+1), pplay(klon, klev)
     
    4145
    4246  REAL pclc(klon, klev)
    43   REAL pqlwp(klon, klev)
     47  REAL pqlwp(klon, klev), picefra(klon,klev)
    4448  REAL pcltau(klon, klev), pclemi(klon, klev)
    4549
     
    8993
    9094  REAL cldtaupi(klon, klev) ! pre-industrial cloud opt thickness for diag
     95  REAl dzfice(klon)
    9196  ! jq-end
    9297
     
    106111!       zfice(i) = icefrac_lsc(t(i,k), t_glace_min, &
    107112!                           t_glace_max, exposant_glace)
    108          CALL icefrac_lsc(klon,t(:,k),pplay(:,k)/paprs(:,1),zfice(:))
     113        IF (ok_new_lscp) THEN
     114            CALL icefrac_lscp(klon,t(:,k),pplay(:,k)/paprs(:,1),zfice(:),dzfice(:))
     115        ELSE
     116            CALL icefrac_lsc(klon,t(:,k),pplay(:,k)/paprs(:,1),zfice(:))
     117
     118        ENDIF
     119
     120        IF ((.NOT. ptconv(i,k)) .AND. ok_new_lscp .AND. ok_icefra_lscp) THEN
     121        ! EV: take the ice fraction directly from the lscp code
     122        ! consistent only for non convective grid points
     123        ! critical for mixed phase clouds
     124            DO i=1,klon
     125            zfice(i)=picefra(i,k)
     126            ENDDO
     127        ENDIF
     128
     129
    109130     ENDIF
    110131
Note: See TracChangeset for help on using the changeset viewer.