Changeset 4446 for LMDZ6/branches/Portage_acc/libf/phylmd/cloudth_mod.F90
- Timestamp:
- Mar 1, 2023, 6:22:39 PM (19 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/Portage_acc/libf/phylmd/cloudth_mod.F90
r4118 r4446 1146 1146 1147 1147 ELSE IF (iflag_cloudth_vert == 5) THEN 1148 sigma1s=(0.71794+0.000498239*dz(ind1,ind2))*(fraca(ind1,ind2)**0.5)/(1-fraca(ind1,ind2))*(((sth-senv)**2)**0.5)+ratqs(ind1,ind2)*po(ind1) !Environment 1148 sigma1s=(0.71794+0.000498239*dz(ind1,ind2))*(fraca(ind1,ind2)**0.5) & 1149 /(1-fraca(ind1,ind2))*(((sth-senv)**2)**0.5) & 1150 +ratqs(ind1,ind2)*po(ind1) !Environment 1149 1151 sigma2s=(0.03218+0.000092655*dz(ind1,ind2))/((fraca(ind1,ind2)+0.02)**0.5)*(((sth-senv)**2)**0.5)+0.002*zqta(ind1,ind2) !Thermals 1150 1152 !sigma1s=(1.1**0.5)*(fraca(ind1,ind2)**0.6)/(1-fraca(ind1,ind2))*((sth-senv)**2)**0.5+0.002*po(ind1) … … 1414 1416 !-------------------------------------------- 1415 1417 sigma_th=(0.03218+0.000092655*dz(ind1,ind2))/((fraca(ind1,ind2)+0.01)**0.5)*(((sth-senv)**2)**0.5)+0.002*zqta(ind1,ind2) 1416 sigma_env=(0.71794+0.000498239*dz(ind1,ind2))*(fraca(ind1,ind2)**0.5)/(1-fraca(ind1,ind2))*(((sth-senv)**2)**0.5)+ratqs(ind1,ind2)*po(ind1) 1418 sigma_env=(0.71794+0.000498239*dz(ind1,ind2))*(fraca(ind1,ind2)**0.5) & 1419 /(1-fraca(ind1,ind2))*(((sth-senv)**2)**0.5) & 1420 +ratqs(ind1,ind2)*po(ind1) 1417 1421 xth=sth/(sqrt2*sigma_th) 1418 1422 xenv=senv/(sqrt2*sigma_env) … … 1534 1538 1535 1539 !+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1536 SUBROUTINE cloudth_mpc(klon,klev,ind2, mpc_bl_points,&1540 SUBROUTINE cloudth_mpc(klon,klev,ind2,iflag_mpc_bl,mpc_bl_points, & 1537 1541 & temp,ztv,po,zqta,fraca,zpspsk,paprs,pplay,ztla,zthl, & 1538 1542 & ratqs,zqs,snowflux,qcloud,qincloud,icefrac,ctot,ctot_vol) … … 1582 1586 REAL, DIMENSION(klon), INTENT(IN) :: zqs ! Saturation specific humidity in the mesh [kg/kg] 1583 1587 REAL, DIMENSION(klon,klev+1), INTENT(IN) :: snowflux ! snow flux at the interface of the layer [kg/m2/s] 1588 INTEGER, INTENT(IN) :: iflag_mpc_bl ! option flag for mpc boundary layer clouds param. 1589 1584 1590 1585 1591 INTEGER, DIMENSION(klon,klev), INTENT(INOUT) :: mpc_bl_points ! grid points with convective (thermals) mixed phase clouds … … 2020 2026 + (1.-1./(1.+C_mpc*qith(ind1,ind2))) * athl*(qsith(ind1,ind2)-qslth(ind1)) 2021 2027 2022 sigma2sc=(sigma2s_factor*((MAX((sthlc-senvl),0.)**2)**0.5)/((fraca(ind1,ind2)+0.02)**sigma2s_power))+0.002*zqta(ind1,ind2) 2028 sigma2sc=(sigma2s_factor*((MAX((sthlc-senvl),0.)**2)**0.5) & 2029 /((fraca(ind1,ind2)+0.02)**sigma2s_power)) & 2030 +0.002*zqta(ind1,ind2) 2023 2031 deltasthc=athl*vert_alpha_th*sigma2sc 2024 2032 … … 2166 2174 ctot_vol(ind1,ind2)=fraca(ind1,ind2)*cth_vol(ind1,ind2)+(1.-1.*fraca(ind1,ind2))*cenv_vol(ind1,ind2) 2167 2175 IF (qcth(ind1,ind2) .GT. 0) THEN 2168 icefrac(ind1,ind2)=fraca(ind1,ind2)*qith(ind1,ind2)/(fraca(ind1,ind2)*qcth(ind1,ind2)+(1.-1.*fraca(ind1,ind2))*qcenv(ind1,ind2)) 2176 icefrac(ind1,ind2)=fraca(ind1,ind2)*qith(ind1,ind2) & 2177 /(fraca(ind1,ind2)*qcth(ind1,ind2) & 2178 +(1.-1.*fraca(ind1,ind2))*qcenv(ind1,ind2)) 2169 2179 icefrac(ind1,ind2)=MAX(MIN(1.,icefrac(ind1,ind2)),0.) 2170 2180 ELSE … … 2386 2396 AA=RLSTT/Ka/temp(ind2p1)*(RLSTT/RV/temp(ind2p1)-1.) 2387 2397 BB=1./(rho(ind2p1)*Dv*qsith(ind2p1)) 2388 unsurtaustardep=C_cap*(Ni**0.66)*(qth(ind2p1)-qsith(ind2p1))/qsith(ind2p1)*4.*RPI/(AA+BB)*(6.*rho(ind2p1)/rhoi/RPI/Gamma(4.))**(0.33) 2398 unsurtaustardep=C_cap*(Ni**0.66)*(qth(ind2p1)-qsith(ind2p1)) & 2399 /qsith(ind2p1)*4.*RPI/(AA+BB) & 2400 *(6.*rho(ind2p1)/rhoi/RPI/Gamma(4.))**(0.33) 2389 2401 dep_term=rho(ind2p1)*fraca(ind2p1)*(qith(ind2p1)**0.33)*unsurtaustardep 2390 2402
Note: See TracChangeset
for help on using the changeset viewer.