- Timestamp:
- Jun 13, 2023, 5:14:32 PM (18 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/pbl_surface_mod.F90
r4545 r4569 1388 1388 ! Provisional : set ybeta to standard values 1389 1389 IF (nsrf .NE. is_ter) THEN 1390 ybeta( :) = 1.1390 ybeta(1:knon) = 1. 1391 1391 ELSE 1392 1392 IF (iflag_split .EQ. 0) THEN 1393 ybeta( :) = 1.1393 ybeta(1:knon) = 1. 1394 1394 ELSE 1395 1395 DO j = 1, knon … … 1613 1613 ENDIF 1614 1614 1615 IF (prt_level >=10) print *,'c lcdrag -> ycdragh ', ycdragh1615 IF (prt_level >=10) print *,'cdrag -> ycdragh ', ycdragh(1:knon) 1616 1616 ELSE !(iflag_split .eq.0) 1617 1617 … … 1661 1661 ycdragm_w, ycdragh_w, zri1_w, pref_w ) 1662 1662 ! 1663 zgeo1(:) = wake_s(:)*zgeo1_w(:) + (1.-wake_s(:))*zgeo1_x(:) 1663 !!!bug !! zgeo1(:) = wake_s(:)*zgeo1_w(:) + (1.-wake_s(:))*zgeo1_x(:) 1664 zgeo1(1:knon) = wake_s(1:knon)*zgeo1_w(1:knon) + (1.-wake_s(1:knon))*zgeo1_x(1:knon) 1664 1665 1665 1666 ! --- special Dice. JYG+MPL 25112013 puis BOMEX … … 1687 1688 !!! nrlmd & jyg les 02/05/2011, 13/06/2011, 05/02/2012 1688 1689 IF (prt_level >=10) THEN 1689 print *,' args coef_diff_turb: yu ', yu 1690 print *,' args coef_diff_turb: yv ', yv 1691 print *,' args coef_diff_turb: yq ', yq 1692 print *,' args coef_diff_turb: yt ', yt 1693 print *,' args coef_diff_turb: yts ', yts 1694 print *,' args coef_diff_turb: yz0m ', yz0m 1695 print *,' args coef_diff_turb: yqsurf ', yqsurf 1696 print *,' args coef_diff_turb: ycdragm ', ycdragm 1697 print *,' args coef_diff_turb: ycdragh ', ycdragh 1698 print *,' args coef_diff_turb: ytke ', ytke 1690 print *,' args coef_diff_turb: yu ', yu(1:knon,:) 1691 print *,' args coef_diff_turb: yv ', yv(1:knon,:) 1692 print *,' args coef_diff_turb: yq ', yq(1:knon,:) 1693 print *,' args coef_diff_turb: yt ', yt(1:knon,:) 1694 print *,' args coef_diff_turb: yts ', yts(1:knon) 1695 print *,' args coef_diff_turb: yz0m ', yz0m(1:knon) 1696 print *,' args coef_diff_turb: yqsurf ', yqsurf(1:knon) 1697 print *,' args coef_diff_turb: ycdragm ', ycdragm(1:knon) 1698 print *,' args coef_diff_turb: ycdragh ', ycdragh(1:knon) 1699 print *,' args coef_diff_turb: ytke ', ytke(1:knon,:) 1699 1700 ENDIF 1700 1701 … … 1724 1725 ENDIF ! iflag_pbl >= 50 1725 1726 1726 IF (prt_level >=10) print *,'coef_diff_turb -> ycoefh ',ycoefh 1727 IF (prt_level >=10) print *,'coef_diff_turb -> ycoefh ',ycoefh(1:knon,:) 1727 1728 1728 1729 … … 1731 1732 1732 1733 IF (prt_level >=10) THEN 1733 print *,' args coef_diff_turb: yu_x ', yu_x 1734 print *,' args coef_diff_turb: yv_x ', yv_x 1735 print *,' args coef_diff_turb: yq_x ', yq_x 1736 print *,' args coef_diff_turb: yt_x ', yt_x 1737 print *,' args coef_diff_turb: yts_x ', yts_x 1738 print *,' args coef_diff_turb: yqsurf ', yqsurf 1739 print *,' args coef_diff_turb: ycdragm_x ', ycdragm_x 1740 print *,' args coef_diff_turb: ycdragh_x ', ycdragh_x 1741 print *,' args coef_diff_turb: ytke_x ', ytke_x 1734 print *,' args coef_diff_turb: yu_x ', yu_x(1:knon,:) 1735 print *,' args coef_diff_turb: yv_x ', yv_x(1:knon,:) 1736 print *,' args coef_diff_turb: yq_x ', yq_x(1:knon,:) 1737 print *,' args coef_diff_turb: yt_x ', yt_x(1:knon,:) 1738 print *,' args coef_diff_turb: yts_x ', yts_x(1:knon) 1739 print *,' args coef_diff_turb: yqsurf ', yqsurf(1:knon) 1740 print *,' args coef_diff_turb: ycdragm_x ', ycdragm_x(1:knon) 1741 print *,' args coef_diff_turb: ycdragh_x ', ycdragh_x(1:knon) 1742 print *,' args coef_diff_turb: ytke_x ', ytke_x(1:knon,:) 1742 1743 ENDIF 1743 1744 … … 1768 1769 ENDIF ! iflag_pbl >= 50 1769 1770 1770 IF (prt_level >=10) print *,'coef_diff_turb -> ycoefh_x ',ycoefh_x 1771 IF (prt_level >=10) print *,'coef_diff_turb -> ycoefh_x ',ycoefh_x(1:knon,:) 1771 1772 ! 1772 1773 IF (prt_level >=10) THEN 1773 print *,' args coef_diff_turb: yu_w ', yu_w 1774 print *,' args coef_diff_turb: yv_w ', yv_w 1775 print *,' args coef_diff_turb: yq_w ', yq_w 1776 print *,' args coef_diff_turb: yt_w ', yt_w 1777 print *,' args coef_diff_turb: yts_w ', yts_w 1778 print *,' args coef_diff_turb: yqsurf ', yqsurf 1779 print *,' args coef_diff_turb: ycdragm_w ', ycdragm_w 1780 print *,' args coef_diff_turb: ycdragh_w ', ycdragh_w 1781 print *,' args coef_diff_turb: ytke_w ', ytke_w 1774 print *,' args coef_diff_turb: yu_w ', yu_w(1:knon,:) 1775 print *,' args coef_diff_turb: yv_w ', yv_w(1:knon,:) 1776 print *,' args coef_diff_turb: yq_w ', yq_w(1:knon,:) 1777 print *,' args coef_diff_turb: yt_w ', yt_w(1:knon,:) 1778 print *,' args coef_diff_turb: yts_w ', yts_w(1:knon) 1779 print *,' args coef_diff_turb: yqsurf ', yqsurf(1:knon) 1780 print *,' args coef_diff_turb: ycdragm_w ', ycdragm_w(1:knon) 1781 print *,' args coef_diff_turb: ycdragh_w ', ycdragh_w(1:knon) 1782 print *,' args coef_diff_turb: ytke_w ', ytke_w(1:knon,:) 1782 1783 ENDIF 1783 1784 … … 1807 1808 1808 1809 1809 IF (prt_level >=10) print *,'coef_diff_turb -> ycoefh_w ',ycoefh_w 1810 IF (prt_level >=10) print *,'coef_diff_turb -> ycoefh_w ',ycoefh_w(1:knon,:) 1810 1811 1811 1812 !!!jyg le 10/04/2013 … … 2043 2044 !!! 2044 2045 IF (prt_level >=10) THEN 2045 PRINT *,'pbl_surface (merge->): yt(1,:) ',yt(1,:) 2046 PRINT *,'pbl_surface (merge->): yq(1,:) ',yq(1,:) 2047 PRINT *,'pbl_surface (merge->): yu(1,:) ',yu(1,:) 2048 PRINT *,'pbl_surface (merge->): yv(1,:) ',yv(1,:) 2049 PRINT *,'pbl_surface (merge->): AcoefH(1), AcoefQ(1), AcoefU(1), AcoefV(1) ', & 2050 AcoefH(1), AcoefQ(1), AcoefU(1), AcoefV(1) 2051 PRINT *,'pbl_surface (merge->): BcoefH(1), BcoefQ(1), BcoefU(1), BcoefV(1) ', & 2052 BcoefH(1), BcoefQ(1), BcoefU(1), BcoefV(1) 2046 DO i = 1, min(1,knon) 2047 PRINT *,'pbl_surface (merge->): yt(1,:) ',yt(i,:) 2048 PRINT *,'pbl_surface (merge->): yq(1,:) ',yq(i,:) 2049 PRINT *,'pbl_surface (merge->): yu(1,:) ',yu(i,:) 2050 PRINT *,'pbl_surface (merge->): yv(1,:) ',yv(i,:) 2051 PRINT *,'pbl_surface (merge->): AcoefH(1), AcoefQ(1), AcoefU(1), AcoefV(1) ', & 2052 AcoefH(i), AcoefQ(i), AcoefU(i), AcoefV(i) 2053 PRINT *,'pbl_surface (merge->): BcoefH(1), BcoefQ(1), BcoefU(1), BcoefV(1) ', & 2054 BcoefH(i), BcoefQ(i), BcoefU(i), BcoefV(i) 2055 ENDDO 2053 2056 2054 2057 ENDIF … … 2202 2205 ydt_ds(:knon), ytkt(:knon), ytks(:knon), ytaur(:knon), ysss) 2203 2206 IF (prt_level >=10) THEN 2204 print *,'arg de surf_ocean: ycdragh ',ycdragh 2205 print *,'arg de surf_ocean: ycdragm ',ycdragm 2206 print *,'arg de surf_ocean: yt ', yt 2207 print *,'arg de surf_ocean: yq ', yq 2208 print *,'arg de surf_ocean: yts ', yts 2209 print *,'arg de surf_ocean: AcoefH ',AcoefH 2210 print *,'arg de surf_ocean: AcoefQ ',AcoefQ 2211 print *,'arg de surf_ocean: BcoefH ',BcoefH 2212 print *,'arg de surf_ocean: BcoefQ ',BcoefQ 2213 print *,'arg de surf_ocean: yevap ',yevap 2214 print *,'arg de surf_ocean: yfluxsens ',yfluxsens 2215 print *,'arg de surf_ocean: yfluxlat ',yfluxlat 2216 print *,'arg de surf_ocean: ytsurf_new ',ytsurf_new 2207 print *,'arg de surf_ocean: ycdragh ',ycdragh(1:knon) 2208 print *,'arg de surf_ocean: ycdragm ',ycdragm(1:knon) 2209 print *,'arg de surf_ocean: yt ', yt(1:knon,:) 2210 print *,'arg de surf_ocean: yq ', yq(1:knon,:) 2211 print *,'arg de surf_ocean: yts ', yts(1:knon) 2212 print *,'arg de surf_ocean: AcoefH ',AcoefH(1:knon) 2213 print *,'arg de surf_ocean: AcoefQ ',AcoefQ(1:knon) 2214 print *,'arg de surf_ocean: BcoefH ',BcoefH(1:knon) 2215 print *,'arg de surf_ocean: BcoefQ ',BcoefQ(1:knon) 2216 print *,'arg de surf_ocean: yevap ',yevap(1:knon) 2217 print *,'arg de surf_ocean: yfluxsens ',yfluxsens(1:knon) 2218 print *,'arg de surf_ocean: yfluxlat ',yfluxlat(1:knon) 2219 print *,'arg de surf_ocean: ytsurf_new ',ytsurf_new(1:knon) 2217 2220 ENDIF 2218 2221 ! Special DICE MPL 05082013 puis BOMEX MPL 20150410 … … 2264 2267 2265 2268 IF (evap0>=0.) THEN 2266 yevap( :)=evap02267 yevap( :)=RLVTT*evap02269 yevap(1:knon)=evap0 2270 yevap(1:knon)=RLVTT*evap0 2268 2271 ENDIF 2269 2272 … … 2472 2475 IF (prt_level >= 10) THEN 2473 2476 print *,'pbl_surface, ybeta , yevap, yevap_pot ', & 2474 ybeta , yevap, yevap_pot2477 ybeta(1:knon) , yevap(1:knon), yevap_pot(1:knon) 2475 2478 ENDIF ! (prt_level >= 10) 2476 2479 ! … … 2957 2960 IF (prt_level >=10) THEN 2958 2961 print *, 'pbl_surface tendencies for w: d_t_w, d_t_x, d_t ', & 2959 d_t_w( :,1), d_t_x(:,1), d_t(:,1)2962 d_t_w(1:knon,1), d_t_x(1:knon,1), d_t(1:knon,1) 2960 2963 ENDIF 2961 2964 … … 3203 3206 IF (prt_level >=10) THEN 3204 3207 print *, 'T2m, q2m, RH2m ', & 3205 t2m , q2m, rh2m3208 t2m(1:knon,:), q2m(1:knon,:), rh2m(1:knon) 3206 3209 ENDIF 3207 3210 … … 3216 3219 ytherm,ytrmb1,ytrmb2,ytrmb3,ylcl) 3217 3220 IF (prt_level >=10) THEN 3218 print *,' Arg. de HBTM: yt2m ',yt2m 3219 print *,' Arg. de HBTM: yt10m ',yt10m 3220 print *,' Arg. de HBTM: yq2m ',yq2m 3221 print *,' Arg. de HBTM: yq10m ',yq10m 3222 print *,' Arg. de HBTM: yustar ',yustar 3223 print *,' Arg. de HBTM: y_flux_t ',y_flux_t 3224 print *,' Arg. de HBTM: y_flux_q ',y_flux_q 3225 print *,' Arg. de HBTM: yu ',yu 3226 print *,' Arg. de HBTM: yv ',yv 3227 print *,' Arg. de HBTM: yt ',yt 3228 print *,' Arg. de HBTM: yq ',yq 3221 print *,' Arg. de HBTM: yt2m ',yt2m(1:knon) 3222 print *,' Arg. de HBTM: yt10m ',yt10m(1:knon) 3223 print *,' Arg. de HBTM: yq2m ',yq2m(1:knon) 3224 print *,' Arg. de HBTM: yq10m ',yq10m(1:knon) 3225 print *,' Arg. de HBTM: yustar ',yustar(1:knon) 3226 print *,' Arg. de HBTM: y_flux_t ',y_flux_t(1:knon,:) 3227 print *,' Arg. de HBTM: y_flux_q ',y_flux_q(1:knon,:) 3228 print *,' Arg. de HBTM: yu ',yu(1:knon,:) 3229 print *,' Arg. de HBTM: yv ',yv(1:knon,:) 3230 print *,' Arg. de HBTM: yt ',yt(1:knon,:) 3231 print *,' Arg. de HBTM: yq ',yq(1:knon,:) 3229 3232 ENDIF 3230 3233 ELSE ! (iflag_split .eq.0) … … 3235 3238 ytherm_x,ytrmb1_x,ytrmb2_x,ytrmb3_x,ylcl_x) 3236 3239 IF (prt_level >=10) THEN 3237 print *,' Arg. de HBTM: yt2m_x ',yt2m_x 3238 print *,' Arg. de HBTM: yt10m_x ',yt10m_x 3239 print *,' Arg. de HBTM: yq2m_x ',yq2m_x 3240 print *,' Arg. de HBTM: yq10m_x ',yq10m_x 3241 print *,' Arg. de HBTM: yustar_x ',yustar_x 3242 print *,' Arg. de HBTM: y_flux_t_x ',y_flux_t_x 3243 print *,' Arg. de HBTM: y_flux_q_x ',y_flux_q_x 3244 print *,' Arg. de HBTM: yu_x ',yu_x 3245 print *,' Arg. de HBTM: yv_x ',yv_x 3246 print *,' Arg. de HBTM: yt_x ',yt_x 3247 print *,' Arg. de HBTM: yq_x ',yq_x 3240 print *,' Arg. de HBTM: yt2m_x ',yt2m_x(1:knon) 3241 print *,' Arg. de HBTM: yt10m_x ',yt10m_x(1:knon) 3242 print *,' Arg. de HBTM: yq2m_x ',yq2m_x(1:knon) 3243 print *,' Arg. de HBTM: yq10m_x ',yq10m_x(1:knon) 3244 print *,' Arg. de HBTM: yustar_x ',yustar_x(1:knon) 3245 print *,' Arg. de HBTM: y_flux_t_x ',y_flux_t_x(1:knon,:) 3246 print *,' Arg. de HBTM: y_flux_q_x ',y_flux_q_x(1:knon,:) 3247 print *,' Arg. de HBTM: yu_x ',yu_x(1:knon,:) 3248 print *,' Arg. de HBTM: yv_x ',yv_x(1:knon,:) 3249 print *,' Arg. de HBTM: yt_x ',yt_x(1:knon,:) 3250 print *,' Arg. de HBTM: yq_x ',yq_x(1:knon,:) 3248 3251 ENDIF 3249 3252 CALL HBTM(knon, ypaprs, ypplay, & … … 3274 3277 ENDDO 3275 3278 IF (prt_level >=10) THEN 3276 print *, 'After HBTM: pblh ', pblh 3277 print *, 'After HBTM: plcl ', plcl 3278 print *, 'After HBTM: cteiCL ', cteiCL 3279 print *, 'After HBTM: pblh ', pblh(1:knon,:) 3280 print *, 'After HBTM: plcl ', plcl(1:knon,:) 3281 print *, 'After HBTM: cteiCL ', cteiCL(1:knon,:) 3279 3282 ENDIF 3280 3283 ELSE !(iflag_split .eq.0) … … 3294 3297 ENDDO 3295 3298 IF (prt_level >=10) THEN 3296 print *, 'After HBTM: pblh_x ', pblh_x 3297 print *, 'After HBTM: plcl_x ', plcl_x 3298 print *, 'After HBTM: cteiCL_x ', cteiCL_x 3299 print *, 'After HBTM: pblh_x ', pblh_x(1:knon,:) 3300 print *, 'After HBTM: plcl_x ', plcl_x(1:knon,:) 3301 print *, 'After HBTM: cteiCL_x ', cteiCL_x(1:knon,:) 3299 3302 ENDIF 3300 3303 DO j=1, knon … … 3313 3316 ENDDO 3314 3317 IF (prt_level >=10) THEN 3315 print *, 'After HBTM: pblh_w ', pblh_w 3316 print *, 'After HBTM: plcl_w ', plcl_w 3317 print *, 'After HBTM: cteiCL_w ', cteiCL_w 3318 print *, 'After HBTM: pblh_w ', pblh_w(1:knon,:) 3319 print *, 'After HBTM: plcl_w ', plcl_w(1:knon,:) 3320 print *, 'After HBTM: cteiCL_w ', cteiCL_w(1:knon,:) 3318 3321 ENDIF 3319 3322 !!!
Note: See TracChangeset
for help on using the changeset viewer.