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 )
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
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
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 ini_data_param_teb(BDD, KTYPE,
subroutine abor1_sfx(YTEXT)