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/newmicro.F90

    r3281 r3999  
    11! $Id$
    22
    3 SUBROUTINE newmicro(flag_aerosol, ok_cdnc, bl95_b0, bl95_b1, paprs, pplay, t, pqlwp, pclc, &
     3SUBROUTINE newmicro(flag_aerosol, ok_cdnc, bl95_b0, bl95_b1, paprs, pplay, t, pqlwp, picefra, pclc, &
    44    pcltau, pclemi, pch, pcl, pcm, pct, pctlwp, xflwp, xfiwp, xflwc, xfiwc, &
    55    mass_solu_aero, mass_solu_aero_pi, pcldtaupi, re, fl, reliq, reice, &
     
    99  USE phys_local_var_mod, ONLY: scdnc, cldncl, reffclwtop, lcc, reffclws, &
    1010      reffclwc, cldnvi, lcc3d, lcc3dcon, lcc3dstra, icc3dcon, icc3dstra,  &
    11       zfice, dNovrN
     11      zfice, dNovrN, ptconv
    1212  USE phys_state_var_mod, ONLY: rnebcon, clwcon
    1313  USE icefrac_lsc_mod ! computes ice fraction (JBM 3/14)
    1414  USE ioipsl_getin_p_mod, ONLY : getin_p
    1515  USE print_control_mod, ONLY: lunout
     16  USE lscp_tools_mod, only: icefrac_lscp
     17
    1618
    1719
     
    3133  ! pqlwp---input-R-eau liquide nuageuse dans l'atmosphere dans la partie
    3234  ! nuageuse (kg/kg)
     35  ! picefra--input-R-fraction de glace dans les nuages
    3336  ! pclc----input-R-couverture nuageuse pour le rayonnement (0 a 1)
    3437  ! mass_solu_aero-----input-R-total mass concentration for all soluble
     
    5861  include "radepsi.h"
    5962  include "radopt.h"
     63  include "clesphys.h"
    6064
    6165  ! choix de l'hypothese de recouvrement nuageuse via radopt.h (IM, 19.07.2016)
     
    8185  REAL t(klon, klev)
    8286  REAL pclc(klon, klev)
    83   REAL pqlwp(klon, klev)
     87  REAL pqlwp(klon, klev), picefra(klon,klev)
    8488  REAL pcltau(klon, klev)
    8589  REAL pclemi(klon, klev)
     
    148152  ! jq-end
    149153  ! IM cf. CR:parametres supplementaires
     154  REAL dzfice(klon,klev)
    150155  REAL zclear(klon)
    151156  REAL zcloud(klon)
     
    229234  ELSE ! of IF (iflag_t_glace.EQ.0)
    230235    DO k = 1, klev
    231         CALL icefrac_lsc(klon,t(:,k),pplay(:,k)/paprs(:,1),zfice(:,k))
    232  
    233 
    234         ! JBM: icefrac_lsc is now contained icefrac_lsc_mod
     236
     237! JBM: icefrac_lsc is now contained icefrac_lsc_mod
    235238!       zfice(i, k) = icefrac_lsc(t(i,k), t_glace_min, &
    236239!                                 t_glace_max, exposant_glace)
    237       DO i = 1, klon
     240
     241      IF (ok_new_lscp) THEN
     242          CALL icefrac_lscp(klon,t(:,k),pplay(:,k)/paprs(:,1),zfice(:,k),dzfice(:,k))
     243      ELSE
     244          CALL icefrac_lsc(klon,t(:,k),pplay(:,k)/paprs(:,1),zfice(:,k))
     245      ENDIF
     246
     247      DO i = 1, klon
     248       
     249        IF ((.NOT. ptconv(i,k)) .AND. ok_new_lscp .AND. ok_icefra_lscp) THEN
     250        ! EV: take the ice fraction directly from the lscp code
     251        ! consistent only for non convective grid points
     252        ! critical for mixed phase clouds
     253            zfice(i,k)=picefra(i,k)
     254        ENDIF
     255
    238256        ! -layer calculation
    239257        rhodz(i, k) = (paprs(i,k)-paprs(i,k+1))/rg ! kg/m2
Note: See TracChangeset for help on using the changeset viewer.