- Timestamp:
- Jul 20, 2024, 12:00:23 PM (4 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/Amaury_dev/libf/phylmd/lmdz_thermcell_alp.F90
r5082 r5087 5 5 6 6 SUBROUTINE thermcell_alp(ngrid,nlay,ptimestep & ! in 7 &,pplay,pplev & ! in8 &,fm0,entr0,lmax & ! in9 &,pbl_tke,pctsrf,omega,airephy & ! in10 &,zw2,fraca & ! in11 &,pcon,rhobarz,wth3,wmax_sec,lalim,fm,alim_star,zmax & ! in7 ,pplay,pplev & ! in 8 ,fm0,entr0,lmax & ! in 9 ,pbl_tke,pctsrf,omega,airephy & ! in 10 ,zw2,fraca & ! in 11 ,pcon,rhobarz,wth3,wmax_sec,lalim,fm,alim_star,zmax & ! in 12 12 ! 13 &,zcong,ale_bl,alp_bl,lalim_conv,wght_th & ! out14 &,zlcl,fraca0,w0,w_conv,therm_tke_max0,env_tke_max0 & ! out15 &,n2,s2,strig,ale_bl_stat & ! out16 &,therm_tke_max,env_tke_max & ! out17 &,alp_bl_det,alp_bl_fluct_m,alp_bl_fluct_tke & ! out18 &,alp_bl_conv,alp_bl_stat & ! out19 &)13 ,zcong,ale_bl,alp_bl,lalim_conv,wght_th & ! out 14 ,zlcl,fraca0,w0,w_conv,therm_tke_max0,env_tke_max0 & ! out 15 ,n2,s2,strig,ale_bl_stat & ! out 16 ,therm_tke_max,env_tke_max & ! out 17 ,alp_bl_det,alp_bl_fluct_m,alp_bl_fluct_tke & ! out 18 ,alp_bl_conv,alp_bl_stat & ! out 19 ) 20 20 21 21 USE indice_sol_mod … … 161 161 if (ok_lcl(ig)) then 162 162 rhobarz0(ig)=rhobarz(ig,klcl(ig))+(rhobarz(ig,klcl(ig)+1) & 163 &-rhobarz(ig,klcl(ig)))*interp(ig)163 -rhobarz(ig,klcl(ig)))*interp(ig) 164 164 zlcl(ig)=(pplev(ig,1)-pcon(ig))/(rhobarz0(ig)*RG) 165 165 zlcl(ig)=min(zlcl(ig),zmax(ig)) ! Si zlcl > zmax alors on pose zlcl = zmax … … 200 200 !-----Calcul de la TKE transport�e par les thermiques : therm_tke_max 201 201 call thermcell_tke_transport(ngrid,nlay,ptimestep,fm0,entr0, & ! in 202 &rg,pplev,therm_tke_max) ! out202 rg,pplev,therm_tke_max) ! out 203 203 ! print *,' thermcell_tke_transport -> ' !!jyg 204 204 … … 216 216 if (ok_lcl(ig)) then 217 217 fraca0(ig)=fraca(ig,klcl(ig))+(fraca(ig,klcl(ig)+1) & 218 &-fraca(ig,klcl(ig)))*interp(ig)218 -fraca(ig,klcl(ig)))*interp(ig) 219 219 w0(ig)=zw2(ig,klcl(ig))+(zw2(ig,klcl(ig)+1) & 220 &-zw2(ig,klcl(ig)))*interp(ig)220 -zw2(ig,klcl(ig)))*interp(ig) 221 221 w_conv(ig)=w_ls(ig,klcl(ig))+(w_ls(ig,klcl(ig)+1) & 222 &-w_ls(ig,klcl(ig)))*interp(ig)222 -w_ls(ig,klcl(ig)))*interp(ig) 223 223 therm_tke_max0(ig)=therm_tke_max(ig,klcl(ig)) & 224 &+(therm_tke_max(ig,klcl(ig)+1)-therm_tke_max(ig,klcl(ig)))*interp(ig)224 +(therm_tke_max(ig,klcl(ig)+1)-therm_tke_max(ig,klcl(ig)))*interp(ig) 225 225 env_tke_max0(ig)=env_tke_max(ig,klcl(ig))+(env_tke_max(ig,klcl(ig)+1) & 226 &-env_tke_max(ig,klcl(ig)))*interp(ig)226 -env_tke_max(ig,klcl(ig)))*interp(ig) 227 227 pbl_tke_max0(ig)=pbl_tke_max(ig,klcl(ig))+(pbl_tke_max(ig,klcl(ig)+1) & 228 &-pbl_tke_max(ig,klcl(ig)))*interp(ig)228 -pbl_tke_max(ig,klcl(ig)))*interp(ig) 229 229 if (therm_tke_max0(ig)>=20.) therm_tke_max0(ig)=20. 230 230 if (env_tke_max0(ig)>=20.) env_tke_max0(ig)=20. … … 316 316 alp_bl_det(ig)=0.5*coef_m*rhobarz0(ig)*(w0(ig)**3)*fraca0(ig)*(1.-2.*fraca0(ig))/((1.-fraca0(ig))**2) 317 317 alp_bl_fluct_m(ig)=1.5*rhobarz0(ig)*fraca0(ig)*(w_conv(ig)+coef_m*w0(ig))* & 318 &(w0(ig)**2)318 (w0(ig)**2) 319 319 alp_bl_fluct_tke(ig)=3.*coef_m*rhobarz0(ig)*w0(ig)*fraca0(ig)*(therm_tke_max0(ig)-env_tke_max0(ig)) & 320 &+3.*rhobarz0(ig)*w_conv(ig)*pbl_tke_max0(ig)320 +3.*rhobarz0(ig)*w_conv(ig)*pbl_tke_max0(ig) 321 321 if (iflag_clos_bl>=2) then 322 322 alp_bl_conv(ig)=1.5*coef_m*rhobarz0(ig)*fraca0(ig)*(fraca0(ig)/(1.-fraca0(ig)))*w_conv(ig)* & 323 &(w0(ig)**2)323 (w0(ig)**2) 324 324 else 325 325 alp_bl_conv(ig)=0.
Note: See TracChangeset
for help on using the changeset viewer.