Changeset 6007 for LMDZ6/trunk/libf/phylmdiso/physiq_mod.F90
- Timestamp:
- Jan 7, 2026, 10:29:50 PM (2 weeks ago)
- File:
-
- 1 edited
-
LMDZ6/trunk/libf/phylmdiso/physiq_mod.F90 (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmdiso/physiq_mod.F90
r6005 r6007 108 108 USE lmdz_thermcell_dtke, ONLY : thermcell_dtke 109 109 USE lmdz_blowing_snow_ini, ONLY : blowing_snow_ini , qbst_bs 110 USE lmdz_lscp_ini, ONLY : lscp_ini 110 USE lmdz_lscp_ini, ONLY : lscp_ini, ratqsbas 111 111 USE lmdz_lscp_subgridvarq, ONLY : ratqs_main, ratqs_main_first 112 112 USE lmdz_cloud_optics_prop_ini, ONLY : cloud_optics_prop_ini … … 4222 4222 enddo 4223 4223 ENDIF 4224 4225 ! =================================================================== c 4226 ! Calcul des proprietes des nuages convectifs 4227 ! 4228 4229 ! calcul des proprietes des nuages convectifs 4230 clwcon0(:,:)=fact_cldcon*clwcon0(:,:) 4231 IF (iflag_cld_cv == 0) THEN 4232 CALL clouds_gno & 4233 (klon,klev,q_seri,zqsat,clwcon0,ptconv,ratqsc,rnebcon0) 4234 ELSE 4235 CALL clouds_bigauss & 4236 (klon,klev,q_seri,zqsat,qtc_cv,sigt_cv,ptconv,ratqsc,rnebcon0) 4237 ENDIF 4238 4239 4240 ! =================================================================== c 4224 4225 ! ========================================================================= 4226 ! Calculation of deep convective clouds properties 4227 ! that is, the convective ratqs (raqtsc) and the convective cloud fraction 4228 ! ========================================================================= 4229 4230 clwcon0(:,:)=fact_cldcon*clwcon0(:,:) 4231 IF (iflag_cld_cv == 0) THEN 4232 CALL clouds_gno & 4233 (klon,klev,q_seri,zqsat,clwcon0,ptconv,ratqsc,rnebcon0) 4234 ELSE 4235 CALL clouds_bigauss & 4236 (klon,klev,q_seri,zqsat,qtc_cv,sigt_cv,ptconv,ratqsc,rnebcon0) 4237 ENDIF 4238 4239 ! old-style convective ratqs computation as a function of q(z=0)-q / q 4240 ! the ratqsc computed by clouds_gno is replaced 4241 if (iflag_cld_th.eq.1) then 4242 do k=1,klev 4243 do i=1,klon 4244 if (ptconv(i,k)) then 4245 ratqsc(i,k)=ratqsbas & 4246 +fact_cldcon*(q_seri(i,1)-q_seri(i,k))/q_seri(i,k) 4247 else 4248 ratqsc(i,k)=0. 4249 endif 4250 enddo 4251 enddo 4252 ! through log-normal distribution inversion 4253 else if (iflag_cld_th.eq.4) then 4254 ptconvth(:,:)=.false. 4255 ratqsc(:,:)=0. 4256 call clouds_gno & 4257 (klon,klev,q_seri,zqsat,clwcon0th,ptconvth,ratqsc,rnebcon0th) 4258 endif 4259 4260 if (iflag_cld_th.eq.1 .or.iflag_cld_th.eq.2.or.iflag_cld_th.eq.4) then 4261 ! We add a small constant value to ratqsc*2 to account for small-scale fluctuations 4262 do k=1,klev 4263 do i=1,klon 4264 if ((fm_therm(i,k)>1.e-10)) then 4265 ratqsc(i,k)=sqrt(ratqsc(i,k)**2+0.05**2) 4266 endif 4267 enddo 4268 enddo 4269 endif 4270 4271 ! ======================================================================= 4272 4241 4273 4242 4274 DO i = 1, klon … … 5096 5128 CALL ratqs_main_first(klon, cell_area) 5097 5129 CALL ratqs_main(klon,klev,nbsrf,is_ter,is_lic, & 5098 iflag_cld_th, fact_cldcon,pdtphys, &5130 iflag_cld_th,pdtphys, & 5099 5131 pctsrf,s_pblh,zstd, wake_s, wake_deltaq, & 5100 ptconv,clwcon0th, rnebcon0th, &5101 5132 paprs,pplay,t_seri,q_seri, & 5102 5133 qtc_cv, sigt_cv,detrain_cv,fm_cv,fqd,fqcomp,sigd,zqsat, & 5103 5134 fm_therm,entr_therm,detr_therm,cell_area, & 5104 ratqs ,ratqsc,ratqs_inter_,sigma_qtherm)5135 ratqss,ratqs,ratqs_inter_,sigma_qtherm) 5105 5136 5106 5137 !
Note: See TracChangeset
for help on using the changeset viewer.
