7 PRAD_WL_MA, PRAD_RF_MA, PRAD_WIN_MA, PLOAD_MA, &
8 PRAD_FL_MA, PCONV_MA_BLD )
74 USE modi_layer_e_budget_get_coef
75 USE modi_layer_e_budget
85 TYPE(
bem_t),
INTENT(INOUT) :: B
87 REAL,
INTENT(IN) :: PTSTEP
88 REAL,
DIMENSION(:),
INTENT(OUT) :: PFLX_BLD_MA
89 REAL,
DIMENSION(:),
INTENT(OUT) :: PDQS_MA
90 REAL,
DIMENSION(:),
INTENT(OUT) :: PIMB_MA
91 REAL,
DIMENSION(:),
INTENT(IN) :: PRADHT_IN
93 REAL,
DIMENSION(:),
INTENT(IN) :: PRAD_RF_MA
94 REAL,
DIMENSION(:),
INTENT(IN) :: PRAD_WL_MA
95 REAL,
DIMENSION(:),
INTENT(IN) :: PRAD_WIN_MA
96 REAL,
DIMENSION(:),
INTENT(IN) :: PLOAD_MA
97 REAL,
DIMENSION(:),
INTENT(IN) :: PRAD_FL_MA
98 REAL,
DIMENSION(:),
INTENT(OUT) :: PCONV_MA_BLD
106 REAL,
DIMENSION(SIZE(B%XT_MASS,1),SIZE(B%XT_MASS,2)) :: ZA,&
111 REAL,
DIMENSION(SIZE(B%XT_MASS,1)) :: ZTS_MA
113 REAL,
DIMENSION(SIZE(B%XT_MASS,1)) :: ZTS_MA_CONV
114 REAL,
DIMENSION(SIZE(B%XT_MASS,1)) :: ZCHTC_IN_MA
117 REAL(KIND=JPRB) :: ZHOOK_HANDLE
119 IF (
lhook)
CALL dr_hook(
'MASS_LAYER_E_BUDGET',0,zhook_handle)
124 DO jj=1,
SIZE(zchtc_in_ma)
125 zchtc_in_ma(jj) = max(1., zchtc_in_ma(jj))
131 zts_ma(:) = b%XT_MASS(:,1)
133 zb(:,1) = zb(:,1) + zimpl * 4./3. * zchtc_in_ma(:)
136 + zchtc_in_ma(:) * (b%XTI_BLD(:) - 1./3. * b%XT_MASS(:, 1) * (4 * zexpl -1.)) &
137 + b%XF_MASS_WIN (:) * prad_win_ma(:) + b%XF_MASS_WALL (:) * prad_wl_ma(:) &
138 + b%XF_MASS_FLOOR (:) * (prad_rf_ma(:) +prad_fl_ma(:)) + pload_ma(:)
140 CALL layer_e_budget( b%XT_MASS, ptstep, zimpl, b%XHC_FLOOR, b%XTC_FLOOR, b%XD_FLOOR/2., &
141 za, zb, zc, zy, pdqs_ma )
146 zts_ma_conv(:) = zimpl * 4./3. * b%XT_MASS(:,1) +1./3 * zts_ma(:) * (4 * zexpl -1.)
147 zts_ma(:) = zexpl * zts_ma(:) + zimpl * b%XT_MASS(:,1)
152 pconv_ma_bld(:) = zchtc_in_ma(:) * (zts_ma_conv(:) - b%XTI_BLD(:))
158 pflx_bld_ma(:) = - pconv_ma_bld(:) + b%XF_MASS_WIN (:) * prad_win_ma(:) &
159 + b%XF_MASS_WALL (:) * prad_wl_ma(:) &
160 + b%XF_MASS_FLOOR (:) * (prad_rf_ma(:) + prad_fl_ma(:)) + pload_ma(:)
165 pimb_ma(:) = pflx_bld_ma(:) - pdqs_ma(:)
167 IF (
lhook)
CALL dr_hook(
'MASS_LAYER_E_BUDGET',1,zhook_handle)
subroutine mass_layer_e_budget(B, PTSTEP, PFLX_BLD_MA, PDQS_MA, PIMB_MA, PRADHT_IN, PRAD_WL_MA, PRAD_RF_MA, PRAD_WIN_MA, PLOAD_MA, PRAD_FL_MA, PCONV_MA_BLD)
subroutine layer_e_budget(PT, PTSTEP, PIMPL, PHC, PTC, PD, PA, PB, PC, PY, PDQS)
subroutine layer_e_budget_get_coef(PT, PTSTEP, PIMPL, PHC, PTC, PD, PA, PB, PC, PY)