Changeset 4881 for LMDZ6/trunk/libf/phylmd/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/phylmd/pbl_surface_mod.F90
r4747 r4881 231 231 !jyg< 232 232 !! zxfluxt, zxfluxq, q2m, flux_q, tke, & 233 zxfluxt, zxfluxq, zxfluxqbs, q2m, flux_q, flux_qbs, tke_x, &233 zxfluxt, zxfluxq, zxfluxqbs, q2m, flux_q, flux_qbs, tke_x, eps_x, & 234 234 !>jyg 235 235 !!! nrlmd+jyg le 02/05/2011 et le 20/02/2012 … … 408 408 ! Output variables 409 409 !**************************************************************************************** 410 REAL, DIMENSION(klon,klev+1,nbsrf+1), INTENT(OUT) :: eps_x ! TKE dissipation rate 411 410 412 REAL, DIMENSION(klon), INTENT(OUT) :: cdragh ! drag coefficient for T and Q 411 413 REAL, DIMENSION(klon), INTENT(OUT) :: cdragm ! drag coefficient for wind … … 627 629 REAL, DIMENSION(klon,klev) :: delp 628 630 REAL, DIMENSION(klon,klev+1) :: ypaprs 629 REAL, DIMENSION(klon,klev+1) :: ytke 631 REAL, DIMENSION(klon,klev+1) :: ytke, yeps 630 632 REAL, DIMENSION(klon,nsoilmx) :: ytsoil 631 633 !FC … … 647 649 REAL, DIMENSION(klon) :: ywake_s, ywake_cstar, ywake_dens 648 650 !!! 649 REAL, DIMENSION(klon,klev+1) :: ytke_x, ytke_w 651 REAL, DIMENSION(klon,klev+1) :: ytke_x, ytke_w, yeps_x, yeps_w 650 652 REAL, DIMENSION(klon,klev+1) :: ywake_dltke 651 653 REAL, DIMENSION(klon,klev) :: yu_x, yv_x, yu_w, yv_w … … 1046 1048 !! tke(:,:,is_ave)=0. 1047 1049 tke_x(:,:,is_ave)=0. 1050 eps_x(:,:,is_ave)=0. 1048 1051 1049 1052 wake_dltke(:,:,is_ave)=0. … … 1080 1083 1081 1084 ytke=0. 1085 yeps=0. 1082 1086 yri0(:)=0. 1083 1087 !FC … … 1093 1097 !!! nrlmd+jyg le 02/05/2011 et le 20/02/2012 1094 1098 ytke_x=0. ; ytke_w=0. ; ywake_dltke=0. 1099 yeps_x=0. ; yeps_w=0. 1095 1100 y_d_t_x=0. ; y_d_t_w=0. ; y_d_q_x=0. ; y_d_q_w=0. 1096 1101 !! d_t_w=0. ; d_q_w=0. … … 1701 1706 CALL call_atke(dtime,knon,klev,ycdragm(1:knon), ycdragh(1:knon),yus0(1:knon),yvs0(1:knon),yts(1:knon), & 1702 1707 yu(1:knon,:),yv(1:knon,:),yt(1:knon,:),yq(1:knon,:),ypplay(1:knon,:),ypaprs(1:knon,:), & 1703 ytke(1:knon,:),y coefm(1:knon,:), ycoefh(1:knon,:))1708 ytke(1:knon,:),yeps(1:knon,:), ycoefm(1:knon,:), ycoefh(1:knon,:)) 1704 1709 1705 1710 ELSE … … 1707 1712 CALL coef_diff_turb(dtime, nsrf, knon, ni, & 1708 1713 ypaprs, ypplay, yu, yv, yq, yt, yts, yqsurf, ycdragm, & 1709 ycoefm, ycoefh, ytke, y _treedrg)1714 ycoefm, ycoefh, ytke, yeps, y_treedrg) 1710 1715 ! ycoefm, ycoefh, ytke) 1711 1716 !FC y_treedrg ajoute … … 1746 1751 CALL call_atke(dtime,knon,klev,ycdragm_x(1:knon),ycdragh_x(1:knon),yus0(1:knon),yvs0(1:knon),yts_x(1:knon), & 1747 1752 yu_x(1:knon,:),yv_x(1:knon,:),yt_x(1:knon,:),yq_x(1:knon,:),ypplay(1:knon,:),ypaprs(1:knon,:), & 1748 ytke_x(1:knon,:),y coefm_x(1:knon,:), ycoefh_x(1:knon,:))1753 ytke_x(1:knon,:),yeps_x(1:knon,:),ycoefm_x(1:knon,:), ycoefh_x(1:knon,:)) 1749 1754 1750 1755 ELSE … … 1752 1757 CALL coef_diff_turb(dtime, nsrf, knon, ni, & 1753 1758 ypaprs, ypplay, yu_x, yv_x, yq_x, yt_x, yts_x, yqsurf_x, ycdragm_x, & 1754 ycoefm_x, ycoefh_x, ytke_x,y _treedrg)1759 ycoefm_x, ycoefh_x, ytke_x,yeps_x,y_treedrg) 1755 1760 ! ycoefm_x, ycoefh_x, ytke_x) 1756 1761 !FC doit on le mettre ( on ne l utilise pas si il y a du spliting) … … 1786 1791 CALL call_atke(dtime,knon,klev,ycdragm_w(1:knon),ycdragh_w(1:knon),yus0(1:knon),yvs0(1:knon),yts_w(1:knon), & 1787 1792 yu_w(1:knon,:),yv_w(1:knon,:),yt_w(1:knon,:),yq_w(1:knon,:),ypplay(1:knon,:),ypaprs(1:knon,:), & 1788 ytke_w(1:knon,:),y coefm_w(1:knon,:),ycoefh_w(1:knon,:))1793 ytke_w(1:knon,:),yeps_w(1:knon,:),ycoefm_w(1:knon,:),ycoefh_w(1:knon,:)) 1789 1794 1790 1795 ELSE … … 1792 1797 CALL coef_diff_turb(dtime, nsrf, knon, ni, & 1793 1798 ypaprs, ypplay, yu_w, yv_w, yq_w, yt_w, yts_w, yqsurf_w, ycdragm_w, & 1794 ycoefm_w, ycoefh_w, ytke_w,y _treedrg)1799 ycoefm_w, ycoefh_w, ytke_w,yeps_w,y_treedrg) 1795 1800 ! ycoefm_w, ycoefh_w, ytke_w) 1796 1801 IF (iflag_pbl>=20.AND.iflag_pbl<30) THEN … … 2855 2860 !! tke(i,k,is_ave) = tke(i,k,is_ave) + ytke(j,k)*ypct(j) 2856 2861 tke_x(i,k,nsrf) = ytke(j,k) 2857 tke_x(i,k,is_ave) = tke_x(i,k,is_ave) + ytke(j,k)*ypct(j) 2858 2862 tke_x(i,k,is_ave) = tke_x(i,k,is_ave) + ytke(j,k)*ypct(j) 2863 eps_x(i,k,nsrf) = yeps(j,k) 2864 eps_x(i,k,is_ave) = eps_x(i,k,is_ave) + yeps(j,k)*ypct(j) 2859 2865 !>jyg 2860 2866 ENDDO … … 2870 2876 !! tke(i,k,is_ave) = tke(i,k,is_ave) + tke(i,k,nsrf)*ypct(j) 2871 2877 tke_x(i,k,nsrf) = ytke_x(j,k) 2872 tke_x(i,k,is_ave) = tke_x(i,k,is_ave) + tke_x(i,k,nsrf)*ypct(j) 2878 tke_x(i,k,is_ave) = tke_x(i,k,is_ave) + tke_x(i,k,nsrf)*ypct(j) 2879 eps_x(i,k,nsrf) = yeps_x(j,k) 2880 eps_x(i,k,is_ave) = eps_x(i,k,is_ave) + eps_x(i,k,nsrf)*ypct(j) 2873 2881 wake_dltke(i,k,is_ave) = wake_dltke(i,k,is_ave) + wake_dltke(i,k,nsrf)*ypct(j) 2874 2882
Note: See TracChangeset
for help on using the changeset viewer.