8 pz0_town, palb_roof, palb_road, palb_wall, &
9 pemis_roof, pemis_road, pemis_wall, phc_roof, &
10 phc_road, phc_wall, ptc_roof, ptc_road, ptc_wall, &
11 pd_roof, pd_road, pd_wall, pbld_height, &
12 pwall_o_hor, pbld, pcan_hw_ratio, ph_traffic, &
13 ple_traffic, ph_industry, ple_industry, &
14 pgarden, ogarden, phc_floor, &
15 ptc_floor, pd_floor, ptcool_target, ptheat_target, &
16 pf_waste_can, peff_heat, pqin, pqin_frad, pshgc, &
17 pu_win, pgr, pshgc_sh, pfloor_height, pinf, &
18 pf_water_cond, pqin_flat, phr_target, pv_vent, &
19 pcap_sys_heat, pcap_sys_rat, pt_adp, pm_sys_rat, &
20 pcop_rat, pt_size_max, pt_size_min, pshade, &
21 pnatvent, prough_roof, prough_wall, pgreenroof, &
23 pemis_panel, palb_panel, peff_panel, pfrac_panel )
68 USE yomhook
,ONLY : lhook, dr_hook
69 USE parkind1
,ONLY : jprb
79 INTEGER,
DIMENSION(:),
INTENT(IN) :: ktype
83 REAL,
DIMENSION(:),
INTENT(OUT),
OPTIONAL :: pz0_town
84 REAL,
DIMENSION(:),
INTENT(OUT),
OPTIONAL :: palb_roof
85 REAL,
DIMENSION(:),
INTENT(OUT),
OPTIONAL :: palb_road
86 REAL,
DIMENSION(:),
INTENT(OUT),
OPTIONAL :: palb_wall
87 REAL,
DIMENSION(:),
INTENT(OUT),
OPTIONAL :: pemis_roof
88 REAL,
DIMENSION(:),
INTENT(OUT),
OPTIONAL :: pemis_road
89 REAL,
DIMENSION(:),
INTENT(OUT),
OPTIONAL :: pemis_wall
90 REAL,
DIMENSION(:,:),
INTENT(OUT),
OPTIONAL :: phc_roof
91 REAL,
DIMENSION(:,:),
INTENT(OUT),
OPTIONAL :: phc_road
92 REAL,
DIMENSION(:,:),
INTENT(OUT),
OPTIONAL :: phc_wall
93 REAL,
DIMENSION(:,:),
INTENT(OUT),
OPTIONAL :: ptc_roof
94 REAL,
DIMENSION(:,:),
INTENT(OUT),
OPTIONAL :: ptc_road
95 REAL,
DIMENSION(:,:),
INTENT(OUT),
OPTIONAL :: ptc_wall
96 REAL,
DIMENSION(:,:),
INTENT(OUT),
OPTIONAL :: pd_roof
97 REAL,
DIMENSION(:,:),
INTENT(OUT),
OPTIONAL :: pd_road
98 REAL,
DIMENSION(:,:),
INTENT(OUT),
OPTIONAL :: pd_wall
99 REAL,
DIMENSION(:),
INTENT(OUT),
OPTIONAL :: pbld_height
100 REAL,
DIMENSION(:),
INTENT(OUT),
OPTIONAL :: pwall_o_hor
101 REAL,
DIMENSION(:),
INTENT(OUT),
OPTIONAL :: pbld
102 REAL,
DIMENSION(:),
INTENT(OUT),
OPTIONAL :: pcan_hw_ratio
103 REAL,
DIMENSION(:),
INTENT(OUT),
OPTIONAL :: ph_traffic
104 REAL,
DIMENSION(:),
INTENT(OUT),
OPTIONAL :: ple_traffic
105 REAL,
DIMENSION(:),
INTENT(OUT),
OPTIONAL :: ph_industry
106 REAL,
DIMENSION(:),
INTENT(OUT),
OPTIONAL :: ple_industry
107 REAL,
DIMENSION(:),
INTENT(OUT),
OPTIONAL :: pgarden
108 LOGICAL,
INTENT(IN),
OPTIONAL :: ogarden
110 REAL,
DIMENSION(:,:),
INTENT(OUT),
OPTIONAL :: phc_floor
111 REAL,
DIMENSION(:,:),
INTENT(OUT),
OPTIONAL :: ptc_floor
112 REAL,
DIMENSION(:,:),
INTENT(OUT),
OPTIONAL :: pd_floor
114 REAL,
DIMENSION(:),
INTENT(OUT),
OPTIONAL :: ptcool_target
115 REAL,
DIMENSION(:),
INTENT(OUT),
OPTIONAL :: ptheat_target
116 REAL,
DIMENSION(:),
INTENT(OUT),
OPTIONAL :: pf_waste_can
117 REAL,
DIMENSION(:),
INTENT(OUT),
OPTIONAL :: peff_heat
118 REAL,
DIMENSION(:),
INTENT(OUT),
OPTIONAL :: pqin
119 REAL,
DIMENSION(:),
INTENT(OUT),
OPTIONAL :: pqin_frad
120 REAL,
DIMENSION(:),
INTENT(OUT),
OPTIONAL :: pshgc
121 REAL,
DIMENSION(:),
INTENT(OUT),
OPTIONAL :: pu_win
122 REAL,
DIMENSION(:),
INTENT(OUT),
OPTIONAL :: pgr
123 REAL,
DIMENSION(:),
INTENT(OUT),
OPTIONAL :: pshgc_sh
124 REAL,
DIMENSION(:),
INTENT(OUT),
OPTIONAL :: pfloor_height
125 REAL,
DIMENSION(:),
INTENT(OUT),
OPTIONAL :: pinf
126 REAL,
DIMENSION(:),
INTENT(OUT),
OPTIONAL :: pf_water_cond
127 REAL,
DIMENSION(:),
INTENT(OUT),
OPTIONAL :: pqin_flat
128 REAL,
DIMENSION(:),
INTENT(OUT),
OPTIONAL :: phr_target
129 REAL,
DIMENSION(:),
INTENT(OUT),
OPTIONAL :: pv_vent
130 REAL,
DIMENSION(:),
INTENT(OUT),
OPTIONAL :: pcap_sys_heat
131 REAL,
DIMENSION(:),
INTENT(OUT),
OPTIONAL :: pcap_sys_rat
132 REAL,
DIMENSION(:),
INTENT(OUT),
OPTIONAL :: pt_adp
133 REAL,
DIMENSION(:),
INTENT(OUT),
OPTIONAL :: pm_sys_rat
134 REAL,
DIMENSION(:),
INTENT(OUT),
OPTIONAL :: pcop_rat
135 REAL,
DIMENSION(:),
INTENT(OUT),
OPTIONAL :: pt_size_max
136 REAL,
DIMENSION(:),
INTENT(OUT),
OPTIONAL :: pt_size_min
137 REAL,
DIMENSION(:),
INTENT(OUT),
OPTIONAL :: pshade
138 REAL,
DIMENSION(:),
INTENT(OUT),
OPTIONAL :: pnatvent
139 REAL,
DIMENSION(:),
INTENT(OUT),
OPTIONAL :: prough_roof
140 REAL,
DIMENSION(:),
INTENT(OUT),
OPTIONAL :: prough_wall
141 REAL,
DIMENSION(:),
INTENT(OUT),
OPTIONAL :: presidential
142 REAL,
DIMENSION(:),
INTENT(OUT),
OPTIONAL :: pgreenroof
143 REAL,
DIMENSION(:),
INTENT(OUT),
OPTIONAL :: pemis_panel
144 REAL,
DIMENSION(:),
INTENT(OUT),
OPTIONAL :: palb_panel
145 REAL,
DIMENSION(:),
INTENT(OUT),
OPTIONAL :: peff_panel
146 REAL,
DIMENSION(:),
INTENT(OUT),
OPTIONAL :: pfrac_panel
151 INTEGER,
DIMENSION(:),
ALLOCATABLE :: ilist
152 REAL,
DIMENSION(SIZE(KTYPE)) :: zgarden
157 REAL(KIND=JPRB) :: zhook_handle
162 IF (lhook) CALL dr_hook(
'INI_DATA_PARAM_TEB',0,zhook_handle)
170 ALLOCATE(ilist(maxval(bdd%NDESC_CODE_LIST)))
172 DO jlist=1,bdd%NDESC_CODE
173 ilist(bdd%NDESC_CODE_LIST(jlist)) = jlist
179 DO jloop=1,
SIZE(ktype)
185 IF (ktype(jloop)<=
SIZE(ilist) .AND. ktype(jloop)>0) iindex = ilist(ktype(jloop))
187 IF (present(pz0_town))
THEN
190 IF (present(pbld_height))
THEN
191 pbld_height(jloop)=10.
195 IF (present(ogarden))
THEN
196 IF (.NOT. ogarden) zgarden(jloop) = 0.
198 IF (present(pgarden))
THEN
199 pgarden(jloop)=zgarden(jloop)
202 IF (present(pbld))
THEN
204 pbld(jloop) = pbld(jloop) / (1. - zgarden(jloop))
207 IF (present(pwall_o_hor))
THEN
208 pwall_o_hor(jloop)=0.5
209 pwall_o_hor(jloop) = pwall_o_hor(jloop) / (1. - zgarden(jloop))
212 IF (present(pcan_hw_ratio) .AND. present(pbld) .AND. present(pwall_o_hor))
THEN
213 pcan_hw_ratio(jloop)= 0.5 * pwall_o_hor(jloop) / (1.-pbld(jloop))
214 ELSEIF (present(pcan_hw_ratio) .AND. &
215 (.NOT.present(pbld) .OR. .NOT.present(pwall_o_hor)) )
THEN
216 CALL
abor1_sfx(
"INI_DATA_PARAM_TEB: WHEN CALLING WITH CAN_HW_RATIO, BLD AND "// &
217 "WALL_O_HOR MUST ALSO BE IN ARGUMENTS")
220 IF (present(ph_traffic))
THEN
221 ph_traffic(jloop)= 10.
224 IF (present(ple_traffic))
THEN
225 ple_traffic(jloop)= 0.
228 IF (present(ph_industry))
THEN
229 ph_industry(jloop)= 5.
232 IF (present(ple_industry))
THEN
233 ple_industry(jloop)= 0.
236 IF (present(palb_road))
THEN
237 palb_road(jloop)=bdd%XDESC_ALB_ROAD(iindex)
239 IF (present(pemis_road))
THEN
240 pemis_road(jloop)=bdd%XDESC_EMIS_ROAD(iindex)
242 IF (present(phc_road))
THEN
243 phc_road(jloop,:)= bdd%XDESC_HC_ROAD(iindex,:)
245 IF (present(ptc_road))
THEN
246 ptc_road(jloop,:)= bdd%XDESC_TC_ROAD(iindex,:)
248 IF (present(pd_road))
THEN
249 pd_road(jloop,:)= bdd%XDESC_D_ROAD(iindex,:)
257 IF (ktype(jloop)<=
SIZE(ilist) .AND. ktype(jloop)>0) iindex = ilist(ktype(jloop))
259 IF (present(palb_roof))
THEN
260 palb_roof(jloop)=bdd%XDESC_ALB_ROOF(iindex)
262 IF (present(palb_wall))
THEN
263 palb_wall(jloop)=bdd%XDESC_ALB_WALL(iindex)
266 IF (present(pemis_roof))
THEN
267 pemis_roof(jloop)=bdd%XDESC_EMIS_ROOF(iindex)
269 IF (present(pemis_wall))
THEN
270 pemis_wall(jloop)=bdd%XDESC_EMIS_WALL(iindex)
273 IF (present(phc_roof))
THEN
274 phc_roof(jloop,:)= bdd%XDESC_HC_ROOF(iindex,:)
276 IF (present(phc_wall))
THEN
277 phc_wall(jloop,:)= bdd%XDESC_HC_WALL(iindex,:)
280 IF (present(ptc_roof))
THEN
281 ptc_roof(jloop,:)= bdd%XDESC_TC_ROOF(iindex,:)
283 IF (present(ptc_wall))
THEN
284 ptc_wall(jloop,:)= bdd%XDESC_TC_WALL(iindex,:)
287 IF (present(pd_roof))
THEN
288 pd_roof(jloop,:)= bdd%XDESC_D_ROOF(iindex,:)
290 IF (present(pd_wall))
THEN
291 pd_wall(jloop,:)= bdd%XDESC_D_WALL(iindex,:)
295 IF (present(phc_floor))
THEN
296 phc_floor(jloop,:)= bdd%XDESC_HC_FLOOR(iindex,:)
299 IF (present(ptc_floor))
THEN
300 ptc_floor(jloop,:)= bdd%XDESC_TC_FLOOR(iindex,:)
303 IF (present(pd_floor))
THEN
304 pd_floor(jloop,:)= bdd%XDESC_D_FLOOR(iindex,:)
307 IF (present(peff_heat))
THEN
308 peff_heat(jloop) = bdd%XDESC_EFF_HEAT(iindex)
311 IF (present(pshgc))
THEN
312 pshgc(jloop) = bdd%XDESC_SHGC(iindex)
315 IF (present(pu_win))
THEN
316 pu_win(jloop) = bdd%XDESC_U_WIN(iindex)
319 IF (present(pgr))
THEN
320 pgr(jloop) = bdd%XDESC_GR(iindex)
323 IF (present(pcop_rat))
THEN
324 pcop_rat(jloop) = bdd%XDESC_COP_RAT(iindex)
327 IF (present(pf_water_cond))
THEN
328 pf_water_cond(jloop) = bdd%XDESC_F_WATER_COND(iindex)
331 IF (present(pf_waste_can))
THEN
332 pf_waste_can(jloop) = bdd%XDESC_F_WASTE_CAN(iindex)
335 IF (present(pinf))
THEN
336 pinf(jloop) = bdd%XDESC_INF(iindex)
339 IF (present(pv_vent))
THEN
340 pv_vent(jloop) = bdd%XDESC_V_VENT(iindex)
343 IF (present(pgreenroof))
THEN
344 pgreenroof(jloop) = bdd%XDESC_GREENROOF(iindex)
347 IF (present(pemis_panel))
THEN
348 pemis_panel(jloop) = bdd%XDESC_EMIS_PANEL(iindex)
351 IF (present(palb_panel))
THEN
352 palb_panel(jloop) = bdd%XDESC_ALB_PANEL(iindex)
355 IF (present(peff_panel))
THEN
356 peff_panel(jloop) = bdd%XDESC_EFF_PANEL(iindex)
359 IF (present(pfrac_panel))
THEN
360 pfrac_panel(jloop) = bdd%XDESC_FRAC_PANEL(iindex)
369 IF (ktype(jloop)<=
SIZE(bdd%NDESC_USE_LIST) .AND. ktype(jloop)>0) &
370 iindex = bdd%NDESC_USE_LIST(ktype(jloop))
372 IF (present(ptcool_target))
THEN
373 ptcool_target(jloop) = bdd%XDESC_TCOOL_TARGET(iindex)
376 IF (present(ptheat_target))
THEN
377 ptheat_target(jloop) = bdd%XDESC_THEAT_TARGET(iindex)
380 IF (present(pqin))
THEN
381 pqin(jloop) = bdd%XDESC_QIN(iindex)
384 IF (present(pqin_flat))
THEN
385 pqin_flat(jloop) = bdd%XDESC_QIN_FLAT(iindex)
388 IF (present(pshgc_sh))
THEN
389 pshgc_sh(jloop) = bdd%XDESC_SHGC_SH(iindex)
392 IF (present(pshade))
THEN
393 pshade(jloop) = bdd%XDESC_SHADE(iindex)
396 IF (present(pnatvent))
THEN
397 pnatvent(jloop) = bdd%XDESC_NATVENT(iindex)
400 IF (present(presidential))
THEN
401 presidential(jloop) = bdd%XDESC_RESIDENTIAL(iindex)
410 IF (present(pcap_sys_heat))
THEN
411 pcap_sys_heat(jloop) = 100.
414 IF (present(pcap_sys_rat))
THEN
415 pcap_sys_rat(jloop) = 90.
418 IF (present(pt_adp))
THEN
419 pt_adp(jloop) = 285.66
422 IF (present(pm_sys_rat))
THEN
423 pm_sys_rat(jloop) = 0.0067
426 IF (present(pt_size_max))
THEN
427 pt_size_max(jloop) = 301.95
430 IF (present(pt_size_min))
THEN
431 pt_size_min(jloop) = 268.96
434 IF (present(pfloor_height))
THEN
435 pfloor_height(jloop) = 2.9
438 IF (present(pqin_frad))
THEN
439 pqin_frad(jloop) = 0.2
442 IF (present(phr_target))
THEN
443 phr_target(jloop) = 0.5
446 IF (present(prough_roof))
THEN
447 prough_roof(jloop) = 1.52
450 IF (present(prough_wall))
THEN
451 prough_wall(jloop) = 1.52
459 IF (lhook) CALL dr_hook(
'INI_DATA_PARAM_TEB',1,zhook_handle)
subroutine abor1_sfx(YTEXT)
subroutine ini_data_param_teb(BDD, KTYPE, PZ0_TOWN, PALB_ROOF, PALB_ROAD, PALB_WALL, PEMIS_ROOF, PEMIS_ROAD, PEMIS_WALL, PHC_ROOF, PHC_ROAD, PHC_WALL, PTC_ROOF, PTC_ROAD, PTC_WALL, PD_ROOF, PD_ROAD, PD_WALL, PBLD_HEIGHT, PWALL_O_HOR, PBLD, PCAN_HW_RATIO, PH_TRAFFIC, PLE_TRAFFIC, PH_INDUSTRY, PLE_INDUSTRY, PGARDEN, OGARDEN, PHC_FLOOR, PTC_FLOOR, PD_FLOOR, PTCOOL_TARGET, PTHEAT_TARGET, PF_WASTE_CAN, PEFF_HEAT, PQIN, PQIN_FRAD, PSHGC, PU_WIN, PGR, PSHGC_SH, PFLOOR_HEIGHT, PINF, PF_WATER_COND, PQIN_FLAT, PHR_TARGET, PV_VENT, PCAP_SYS_HEAT, PCAP_SYS_RAT, PT_ADP, PM_SYS_RAT, PCOP_RAT, PT_SIZE_MAX, PT_SIZE_MIN, PSHADE, PNATVENT, PROUGH_ROOF, PROUGH_WALL, PGREENROOF, PRESIDENTIAL, PEMIS_PANEL, PALB_PANEL, PEFF_PANEL, PFRAC_PANEL)