Changeset 3999 for LMDZ6/trunk/libf/phylmd/newmicro.F90
- Timestamp:
- Nov 5, 2021, 12:40:08 PM (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/newmicro.F90
r3281 r3999 1 1 ! $Id$ 2 2 3 SUBROUTINE newmicro(flag_aerosol, ok_cdnc, bl95_b0, bl95_b1, paprs, pplay, t, pqlwp, p clc, &3 SUBROUTINE newmicro(flag_aerosol, ok_cdnc, bl95_b0, bl95_b1, paprs, pplay, t, pqlwp, picefra, pclc, & 4 4 pcltau, pclemi, pch, pcl, pcm, pct, pctlwp, xflwp, xfiwp, xflwc, xfiwc, & 5 5 mass_solu_aero, mass_solu_aero_pi, pcldtaupi, re, fl, reliq, reice, & … … 9 9 USE phys_local_var_mod, ONLY: scdnc, cldncl, reffclwtop, lcc, reffclws, & 10 10 reffclwc, cldnvi, lcc3d, lcc3dcon, lcc3dstra, icc3dcon, icc3dstra, & 11 zfice, dNovrN 11 zfice, dNovrN, ptconv 12 12 USE phys_state_var_mod, ONLY: rnebcon, clwcon 13 13 USE icefrac_lsc_mod ! computes ice fraction (JBM 3/14) 14 14 USE ioipsl_getin_p_mod, ONLY : getin_p 15 15 USE print_control_mod, ONLY: lunout 16 USE lscp_tools_mod, only: icefrac_lscp 17 16 18 17 19 … … 31 33 ! pqlwp---input-R-eau liquide nuageuse dans l'atmosphere dans la partie 32 34 ! nuageuse (kg/kg) 35 ! picefra--input-R-fraction de glace dans les nuages 33 36 ! pclc----input-R-couverture nuageuse pour le rayonnement (0 a 1) 34 37 ! mass_solu_aero-----input-R-total mass concentration for all soluble … … 58 61 include "radepsi.h" 59 62 include "radopt.h" 63 include "clesphys.h" 60 64 61 65 ! choix de l'hypothese de recouvrement nuageuse via radopt.h (IM, 19.07.2016) … … 81 85 REAL t(klon, klev) 82 86 REAL pclc(klon, klev) 83 REAL pqlwp(klon, klev) 87 REAL pqlwp(klon, klev), picefra(klon,klev) 84 88 REAL pcltau(klon, klev) 85 89 REAL pclemi(klon, klev) … … 148 152 ! jq-end 149 153 ! IM cf. CR:parametres supplementaires 154 REAL dzfice(klon,klev) 150 155 REAL zclear(klon) 151 156 REAL zcloud(klon) … … 229 234 ELSE ! of IF (iflag_t_glace.EQ.0) 230 235 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 235 238 ! zfice(i, k) = icefrac_lsc(t(i,k), t_glace_min, & 236 239 ! 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 238 256 ! -layer calculation 239 257 rhodz(i, k) = (paprs(i,k)-paprs(i,k+1))/rg ! kg/m2
Note: See TracChangeset
for help on using the changeset viewer.