6 SUBROUTINE init_bem_n ( DTCO, TOP, BOP, DTT, DTB, BDD, G, &
53 USE modi_convert_patch_teb
55 USE modi_hvac_autosize
57 USE modi_stores_hvac_autosize
76 TYPE(
grid_t),
INTENT(INOUT) :: G
77 TYPE(
teb_t),
INTENT(INOUT) :: T
78 TYPE(
bem_t),
INTENT(INOUT) :: B
80 INTEGER,
INTENT(IN) :: KLUOUT
89 REAL(KIND=JPRB) :: ZHOOK_HANDLE
101 ilu =
SIZE(top%XCOVER,1)
102 IF (top%CBEM==
'DEF') ilu=0
104 ALLOCATE(b%XHC_FLOOR (ilu,bop%NFLOOR_LAYER))
105 ALLOCATE(b%XTC_FLOOR (ilu,bop%NFLOOR_LAYER))
106 ALLOCATE(b%XD_FLOOR (ilu,bop%NFLOOR_LAYER))
108 ALLOCATE(b%XTCOOL_TARGET(ilu))
109 ALLOCATE(b%XTHEAT_TARGET(ilu))
110 ALLOCATE(b%XEFF_HEAT (ilu))
111 ALLOCATE(b%XSHGC (ilu))
112 ALLOCATE(b%XQIN (ilu))
113 ALLOCATE(b%XQIN_FRAD (ilu))
114 ALLOCATE(b%XSHGC_SH (ilu))
115 ALLOCATE(b%XU_WIN (ilu))
116 ALLOCATE(b%XTRAN_WIN (ilu))
117 ALLOCATE(b%XFLOOR_HEIGHT(ilu))
118 ALLOCATE(b%XINF (ilu))
120 ALLOCATE(b%XQIN_FLAT (ilu))
121 ALLOCATE(b%XHR_TARGET (ilu))
122 ALLOCATE(b%XV_VENT (ilu))
123 ALLOCATE(b%XCAP_SYS_HEAT(ilu))
124 ALLOCATE(b%XCAP_SYS_RAT (ilu))
125 ALLOCATE(b%XT_ADP (ilu))
126 ALLOCATE(b%XM_SYS_RAT (ilu))
127 ALLOCATE(b%XCOP_RAT (ilu))
128 ALLOCATE(b%XT_SIZE_MAX (ilu))
129 ALLOCATE(b%XT_SIZE_MIN (ilu))
130 ALLOCATE(b%XF_WATER_COND(ilu))
131 ALLOCATE(b%CNATVENT (ilu))
132 ALLOCATE(b%XNATVENT (ilu))
134 ALLOCATE(b%XABS_WIN (ilu))
135 ALLOCATE(b%XUGG_WIN (ilu))
136 ALLOCATE(b%LSHADE (ilu))
137 ALLOCATE(b%XSHADE (ilu))
138 ALLOCATE(b%LSHAD_DAY(ilu))
139 ALLOCATE(b%LNATVENT_NIGHT(ilu))
140 ALLOCATE(b%XAUX_MAX (ilu))
141 ALLOCATE(b%XN_FLOOR(ilu))
142 ALLOCATE(b%XGLAZ_O_BLD(ilu))
143 ALLOCATE(b%XMASS_O_BLD(ilu))
144 ALLOCATE(b%XFLOOR_HW_RATIO(ilu))
145 ALLOCATE(b%XF_FLOOR_MASS(ilu))
146 ALLOCATE(b%XF_FLOOR_WALL(ilu))
147 ALLOCATE(b%XF_FLOOR_WIN(ilu))
148 ALLOCATE(b%XF_FLOOR_ROOF(ilu))
149 ALLOCATE(b%XF_WALL_FLOOR(ilu))
150 ALLOCATE(b%XF_WALL_MASS(ilu))
151 ALLOCATE(b%XF_WALL_WIN(ilu))
152 ALLOCATE(b%XF_WIN_FLOOR(ilu))
153 ALLOCATE(b%XF_WIN_MASS(ilu))
154 ALLOCATE(b%XF_WIN_WALL(ilu))
155 ALLOCATE(b%XF_WIN_WIN(ilu))
156 ALLOCATE(b%XF_MASS_FLOOR(ilu))
157 ALLOCATE(b%XF_MASS_WALL(ilu))
158 ALLOCATE(b%XF_MASS_WIN(ilu))
160 SELECT CASE(top%CBEM)
166 b%XF_WASTE_CAN(:) = 0.
178 CALL bem_morpho(t%XBLD, t%XWALL_O_HOR, t%XBLD_HEIGHT, &
186 DO jj=1,
SIZE(b%XSHADE)
187 IF (b%XSHADE(jj) >= 0.0 .AND. b%XSHADE(jj) < 0.5)
THEN 188 b%LSHADE(jj) = .false.
189 ELSEIF (b%XSHADE(jj) >= 0.5 .AND. b%XSHADE(jj) <= 1.0)
THEN 190 b%LSHADE(jj) = .true.
193 b%LSHADE(jj) = .false.
196 IF (gprint)
WRITE(kluout,*) &
197 'TEB-BEM : Error in specifying shading devices for at least one point, no shading device for these points' 198 b%LSHAD_DAY(:) = .false.
203 DO jj=1,
SIZE(b%XNATVENT)
204 IF (b%XNATVENT(jj) >= 0.0 .AND. b%XNATVENT(jj) < 0.5)
THEN 205 b%CNATVENT(jj) =
'NONE' 206 ELSEIF (b%XNATVENT(jj) >= 0.5 .AND. b%XNATVENT(jj) < 1.5)
THEN 207 b%CNATVENT(jj) =
'MANU' 208 ELSEIF (b%XNATVENT(jj) >= 1.5 .AND. b%XNATVENT(jj) <= 2.5)
THEN 209 b%CNATVENT(jj) =
'AUTO' 210 ELSEIF (b%XNATVENT(jj) >= 2.5 .AND. b%XNATVENT(jj) <= 3.5)
THEN 211 b%CNATVENT(jj) =
'MECH' 214 b%CNATVENT(jj) =
'NONE' 217 IF (gprint)
WRITE(kluout,*)
'TEB-BEM : Chosen option for surventilation is not yet implemented; None venting is kept instead' 219 b%LNATVENT_NIGHT(:) = .false.
227 IF (top%CBEM==
'BEM' .AND. bop%LAUTOSIZE)
THEN
subroutine stores_hvac_autosize(B, BOP, DTB)
subroutine convert_patch_teb(BDD, DTB, DTCO, DTT, TOP, PDEF_ROAD_DIR, T, B, TPN)
subroutine init_bem_n(DTCO, TOP, BOP, DTT, DTB, BDD, G, T, B, KLUOUT)
subroutine hvac_autosize(B, BOP, G, T, TOP, KI, KLUOUT)
subroutine bem_morpho(PBLD, PWALL_O_HOR, PBLD_HEIGHT, PWALL_O_BLD, B)
subroutine window_data(KI, B)