7 pflx_bld_mass, pdqs_mass, pimb_mass, &
8 pf_mass_wall, pf_mass_win, &
9 pf_mass_floor, pradht_in, &
10 prad_wall_mass, prad_roof_mass, &
11 prad_win_mass, pload_mass, pti_bld, &
12 prad_floor_mass, pconv_mass_bld )
76 USE modi_layer_e_budget_get_coef
77 USE modi_layer_e_budget
80 USE yomhook
,ONLY : lhook, dr_hook
81 USE parkind1
,ONLY : jprb
87 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: pt_mass
88 REAL,
INTENT(IN) :: ptstep
89 REAL,
DIMENSION(:,:),
INTENT(IN) :: phc_mass
90 REAL,
DIMENSION(:,:),
INTENT(IN) :: ptc_mass
92 REAL,
DIMENSION(:,:),
INTENT(IN) :: pd_mass
93 REAL,
DIMENSION(:),
INTENT(OUT) :: pflx_bld_mass
94 REAL,
DIMENSION(:),
INTENT(OUT) :: pdqs_mass
95 REAL,
DIMENSION(:),
INTENT(OUT) :: pimb_mass
96 REAL,
DIMENSION(:),
INTENT(IN) :: pf_mass_wall
97 REAL,
DIMENSION(:),
INTENT(IN) :: pf_mass_win
98 REAL,
DIMENSION(:),
INTENT(IN) :: pf_mass_floor
99 REAL,
DIMENSION(:),
INTENT(IN) :: pradht_in
101 REAL,
DIMENSION(:),
INTENT(IN) :: prad_roof_mass
102 REAL,
DIMENSION(:),
INTENT(IN) :: prad_wall_mass
103 REAL,
DIMENSION(:),
INTENT(IN) :: prad_win_mass
104 REAL,
DIMENSION(:),
INTENT(IN) :: pti_bld
105 REAL,
DIMENSION(:),
INTENT(IN) :: pload_mass
106 REAL,
DIMENSION(:),
INTENT(IN) :: prad_floor_mass
107 REAL,
DIMENSION(:),
INTENT(OUT) :: pconv_mass_bld
115 REAL,
DIMENSION(SIZE(PT_MASS,1),SIZE(PT_MASS,2)) :: za,&
120 REAL,
DIMENSION(SIZE(PT_MASS,1)) :: zts_mass
122 REAL,
DIMENSION(SIZE(PT_MASS,1)) :: zts_mass_conv
123 REAL,
DIMENSION(SIZE(PT_MASS,1)) :: zchtc_in_mass
126 REAL(KIND=JPRB) :: zhook_handle
128 IF (lhook) CALL dr_hook(
'MASS_LAYER_E_BUDGET',0,zhook_handle)
133 DO jj=1,
SIZE(zchtc_in_mass)
134 zchtc_in_mass(jj) = max(1., zchtc_in_mass(jj))
140 zts_mass(:) = pt_mass(:,1)
142 zb(:,1) = zb(:,1) + zimpl * 4./3. * zchtc_in_mass(:)
145 + zchtc_in_mass(:) * (pti_bld(:) - 1./3. * pt_mass(:, 1) * (4 * zexpl -1.)) &
146 + pf_mass_win(:) * prad_win_mass(:) &
147 + pf_mass_wall(:) * prad_wall_mass(:) &
148 + pf_mass_floor(:) * (prad_roof_mass(:) +prad_floor_mass(:)) &
151 CALL
layer_e_budget( pt_mass, ptstep, zimpl, phc_mass, ptc_mass, pd_mass, &
152 za, zb, zc, zy, pdqs_mass )
157 zts_mass_conv(:) = zimpl * 4./3. * pt_mass(:,1) +1./3 * zts_mass(:) * (4 * zexpl -1.)
158 zts_mass(:) = zexpl * zts_mass(:) + zimpl * pt_mass(:,1)
163 pconv_mass_bld(:) = zchtc_in_mass(:) * (zts_mass_conv(:) - pti_bld(:))
169 pflx_bld_mass(:) = - pconv_mass_bld(:) &
170 + pf_mass_win(:) * prad_win_mass(:) &
171 + pf_mass_wall(:) * prad_wall_mass(:) &
172 + pf_mass_floor(:) * (prad_roof_mass(:) + prad_floor_mass(:)) &
178 pimb_mass(:) = pflx_bld_mass(:) - pdqs_mass(:)
180 IF (lhook) CALL dr_hook(
'MASS_LAYER_E_BUDGET',1,zhook_handle)
subroutine layer_e_budget(PT, PTSTEP, PIMPL, PHC, PTC, PD, PA, PB, PC, PY, PDQS)
subroutine mass_layer_e_budget(PT_MASS, PTSTEP, PHC_MASS, PTC_MASS, PD_MASS, PFLX_BLD_MASS, PDQS_MASS, PIMB_MASS, PF_MASS_WALL, PF_MASS_WIN, PF_MASS_FLOOR, PRADHT_IN, PRAD_WALL_MASS, PRAD_ROOF_MASS, PRAD_WIN_MASS, PLOAD_MASS, PTI_BLD, PRAD_FLOOR_MASS, PCONV_MASS_BLD)
subroutine layer_e_budget_get_coef(PT, PTSTEP, PIMPL, PHC, PTC, PD, PA, PB, PC, PY)