Changeset 4881 for LMDZ6/trunk/libf/phylmdiso/pbl_surface_mod.F90
- Timestamp:
- Mar 28, 2024, 6:06:40 PM (7 weeks ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmdiso/pbl_surface_mod.F90
r4745 r4881 24 24 USE climb_wind_mod, ONLY : climb_wind_down, climb_wind_up 25 25 USE coef_diff_turb_mod, ONLY : coef_diff_turb 26 USE lmdz_call_atke, ONLY : 26 USE lmdz_call_atke, ONLY : call_atke 27 27 USE ioipsl_getin_p_mod, ONLY : getin_p 28 28 USE cdrag_mod … … 308 308 !jyg< 309 309 !! zxfluxt, zxfluxq, q2m, flux_q, tke, & 310 zxfluxt, zxfluxq, zxfluxqbs, q2m, flux_q, flux_qbs, tke_x, &310 zxfluxt, zxfluxq, zxfluxqbs, q2m, flux_q, flux_qbs, tke_x, eps_x, & 311 311 !>jyg 312 312 !!! nrlmd+jyg le 02/05/2011 et le 20/02/2012 … … 506 506 ! Output variables 507 507 !**************************************************************************************** 508 REAL, DIMENSION(klon,klev+1,nbsrf+1), INTENT(OUT) :: eps_x ! TKE dissipation rate 509 508 510 REAL, DIMENSION(klon), INTENT(OUT) :: cdragh ! drag coefficient for T and Q 509 511 REAL, DIMENSION(klon), INTENT(OUT) :: cdragm ! drag coefficient for wind … … 765 767 REAL, DIMENSION(klon,klev) :: delp 766 768 REAL, DIMENSION(klon,klev+1) :: ypaprs 767 REAL, DIMENSION(klon,klev+1) :: ytke 769 REAL, DIMENSION(klon,klev+1) :: ytke, yeps 768 770 REAL, DIMENSION(klon,nsoilmx) :: ytsoil 769 771 !FC … … 785 787 REAL, DIMENSION(klon) :: ywake_s, ywake_cstar, ywake_dens 786 788 !!! 787 REAL, DIMENSION(klon,klev+1) :: ytke_x, ytke_w 789 REAL, DIMENSION(klon,klev+1) :: ytke_x, ytke_w, yeps_x, yeps_w 788 790 REAL, DIMENSION(klon,klev+1) :: ywake_dltke 789 791 REAL, DIMENSION(klon,klev) :: yu_x, yv_x, yu_w, yv_w … … 1261 1263 !! tke(:,:,is_ave)=0. 1262 1264 tke_x(:,:,is_ave)=0. 1265 eps_x(:,:,is_ave)=0. 1263 1266 1264 1267 wake_dltke(:,:,is_ave)=0. … … 1295 1298 1296 1299 ytke=0. 1300 yeps=0. 1297 1301 yri0(:)=0. 1298 1302 !FC … … 1308 1312 !!! nrlmd+jyg le 02/05/2011 et le 20/02/2012 1309 1313 ytke_x=0. ; ytke_w=0. ; ywake_dltke=0. 1314 yeps_x=0. ; yeps_w=0. 1310 1315 y_d_t_x=0. ; y_d_t_w=0. ; y_d_q_x=0. ; y_d_q_w=0. 1311 1316 !! d_t_w=0. ; d_q_w=0. … … 1979 1984 CALL call_atke(dtime,knon,klev,ycdragm(1:knon), ycdragh(1:knon),yus0(1:knon),yvs0(1:knon),yts(1:knon), & 1980 1985 yu(1:knon,:),yv(1:knon,:),yt(1:knon,:),yq(1:knon,:),ypplay(1:knon,:),ypaprs(1:knon,:), & 1981 ytke(1:knon,:),y coefm(1:knon,:), ycoefh(1:knon,:))1986 ytke(1:knon,:),yeps(1:knon,:), ycoefm(1:knon,:), ycoefh(1:knon,:)) 1982 1987 1983 1988 ELSE … … 1985 1990 CALL coef_diff_turb(dtime, nsrf, knon, ni, & 1986 1991 ypaprs, ypplay, yu, yv, yq, yt, yts, yqsurf, ycdragm, & 1987 ycoefm, ycoefh, ytke, y _treedrg)1992 ycoefm, ycoefh, ytke, yeps, y_treedrg) 1988 1993 ! ycoefm, ycoefh, ytke) 1989 1994 !FC y_treedrg ajoute … … 2023 2028 CALL call_atke(dtime,knon,klev,ycdragm_x(1:knon),ycdragh_x(1:knon),yus0(1:knon),yvs0(1:knon),yts_x(1:knon), & 2024 2029 yu_x(1:knon,:),yv_x(1:knon,:),yt_x(1:knon,:),yq_x(1:knon,:),ypplay(1:knon,:),ypaprs(1:knon,:), & 2025 ytke_x(1:knon,:),y coefm_x(1:knon,:), ycoefh_x(1:knon,:))2030 ytke_x(1:knon,:),yeps_x(1:knon,:),ycoefm_x(1:knon,:), ycoefh_x(1:knon,:)) 2026 2031 2027 2032 ELSE … … 2029 2034 CALL coef_diff_turb(dtime, nsrf, knon, ni, & 2030 2035 ypaprs, ypplay, yu_x, yv_x, yq_x, yt_x, yts_x, yqsurf_x, ycdragm_x, & 2031 ycoefm_x, ycoefh_x, ytke_x,y _treedrg)2036 ycoefm_x, ycoefh_x, ytke_x,yeps_x,y_treedrg) 2032 2037 ! ycoefm_x, ycoefh_x, ytke_x) 2033 2038 !FC doit on le mettre ( on ne l utilise pas si il y a du spliting) … … 2063 2068 CALL call_atke(dtime,knon,klev,ycdragm_w(1:knon),ycdragh_w(1:knon),yus0(1:knon),yvs0(1:knon),yts_w(1:knon), & 2064 2069 yu_w(1:knon,:),yv_w(1:knon,:),yt_w(1:knon,:),yq_w(1:knon,:),ypplay(1:knon,:),ypaprs(1:knon,:), & 2065 ytke_w(1:knon,:),y coefm_w(1:knon,:),ycoefh_w(1:knon,:))2070 ytke_w(1:knon,:),yeps_w(1:knon,:),ycoefm_w(1:knon,:),ycoefh_w(1:knon,:)) 2066 2071 2067 2072 ELSE 2068 2069 2073 2070 2074 CALL coef_diff_turb(dtime, nsrf, knon, ni, & 2071 2075 ypaprs, ypplay, yu_w, yv_w, yq_w, yt_w, yts_w, yqsurf_w, ycdragm_w, & 2072 ycoefm_w, ycoefh_w, ytke_w,y _treedrg)2076 ycoefm_w, ycoefh_w, ytke_w,yeps_w,y_treedrg) 2073 2077 ! ycoefm_w, ycoefh_w, ytke_w) 2074 2078 IF (iflag_pbl>=20.AND.iflag_pbl<30) THEN … … 3332 3336 !! tke(i,k,is_ave) = tke(i,k,is_ave) + ytke(j,k)*ypct(j) 3333 3337 tke_x(i,k,nsrf) = ytke(j,k) 3334 tke_x(i,k,is_ave) = tke_x(i,k,is_ave) + ytke(j,k)*ypct(j) 3335 3338 tke_x(i,k,is_ave) = tke_x(i,k,is_ave) + ytke(j,k)*ypct(j) 3339 eps_x(i,k,nsrf) = yeps(j,k) 3340 eps_x(i,k,is_ave) = eps_x(i,k,is_ave) + yeps(j,k)*ypct(j) 3336 3341 !>jyg 3337 3342 ENDDO … … 3347 3352 !! tke(i,k,is_ave) = tke(i,k,is_ave) + tke(i,k,nsrf)*ypct(j) 3348 3353 tke_x(i,k,nsrf) = ytke_x(j,k) 3349 tke_x(i,k,is_ave) = tke_x(i,k,is_ave) + tke_x(i,k,nsrf)*ypct(j) 3354 tke_x(i,k,is_ave) = tke_x(i,k,is_ave) + tke_x(i,k,nsrf)*ypct(j) 3355 eps_x(i,k,nsrf) = yeps_x(j,k) 3356 eps_x(i,k,is_ave) = eps_x(i,k,is_ave) + eps_x(i,k,nsrf)*ypct(j) 3350 3357 wake_dltke(i,k,is_ave) = wake_dltke(i,k,is_ave) + wake_dltke(i,k,nsrf)*ypct(j) 3351 3358
Note: See TracChangeset
for help on using the changeset viewer.