7 PDEF_ROAD_DIR, T, B, TPN )
59 USE modd_data_cover_par
, ONLY : ndata_road_layer, ndata_wall_layer, &
60 ndata_roof_layer, ndata_floor_layer
84 USE modi_thermal_layers_conf
85 USE modi_ini_data_param_teb
105 REAL,
INTENT(IN) :: PDEF_ROAD_DIR
107 TYPE(
teb_t),
INTENT(INOUT),
OPTIONAL :: T
108 TYPE(
bem_t),
INTENT(INOUT),
OPTIONAL :: B
114 REAL,
DIMENSION(:,:),
ALLOCATABLE :: ZTC, ZHC, ZD
118 CHARACTER(LEN=3) :: YAVG
119 CHARACTER(LEN=4) :: YAREA
124 REAL(KIND=JPRB) :: ZHOOK_HANDLE
131 IF (
lhook)
CALL dr_hook(
'CONVERT_PATCH_TEB',0,zhook_handle)
133 IF (top%CBLD_ATYPE==
'ARI')
THEN 141 il =
SIZE(top%XCOVER,1)
147 IF (dtt%LDATA_ROAD_DIR)
THEN 148 t%XROAD_DIR=dtt%XPAR_ROAD_DIR
150 t%XROAD_DIR=pdef_road_dir
155 IF (dtt%LDATA_GARDEN)
THEN 156 t%XGARDEN=dtt%XPAR_GARDEN
158 CALL av_pgd(dtco, t%XGARDEN, top%XCOVER, dtco%XDATA_GARDEN(:),
'TWN',
'ARI' 163 IF (dtt%LDATA_GREENROOF)
THEN 164 t%XGREENROOF=dtt%XPAR_GREENROOF
165 ELSEIF (dtt%LDATA_BLDTYPE)
THEN 173 IF (dtt%LDATA_BLD)
THEN 176 CALL av_pgd(dtco, t%XBLD, top%XCOVER, dtco%XDATA_BLD(:),
'TWN',
'ARI',top%LCOVER
182 IF (dtt%LDATA_Z0_TOWN)
THEN 183 t%XZ0_TOWN=dtt%XPAR_Z0_TOWN
190 IF (dtt%LDATA_BLD_HEIGHT)
THEN 191 t%XBLD_HEIGHT=dtt%XPAR_BLD_HEIGHT
198 IF (dtt%LDATA_WALL_O_HOR)
THEN 199 t%XWALL_O_HOR=dtt%XPAR_WALL_O_HOR
201 CALL av_pgd(dtco, t%XWALL_O_HOR ,top%XCOVER ,dtco%XDATA_WALL_O_HOR (
'BLD''ARI' 206 IF (dtt%LDATA_ALB_ROOF)
THEN 207 t%XALB_ROOF=dtt%XPAR_ALB_ROOF
208 ELSEIF (dtt%LDATA_BLDTYPE)
THEN 216 IF (dtt%LDATA_EMIS_ROOF)
THEN 217 t%XEMIS_ROOF=dtt%XPAR_EMIS_ROOF
218 ELSEIF (dtt%LDATA_BLDTYPE)
THEN 227 IF (dtt%LDATA_HC_ROOF)
THEN 232 ELSEIF (dtt%LDATA_BLDTYPE)
THEN 239 DO jlayer=1,ndata_roof_layer
250 IF (dtt%LDATA_ALB_ROAD)
THEN 251 t%XALB_ROAD=dtt%XPAR_ALB_ROAD
252 ELSEIF (dtt%LDATA_BLDTYPE)
THEN 261 IF (dtt%LDATA_EMIS_ROAD)
THEN 262 t%XEMIS_ROAD=dtt%XPAR_EMIS_ROAD
263 ELSEIF (dtt%LDATA_BLDTYPE)
THEN 273 IF (dtt%LDATA_HC_ROAD)
THEN 278 ELSEIF (dtt%LDATA_BLDTYPE)
THEN 285 DO jlayer=1,ndata_road_layer
299 IF (dtt%LDATA_ALB_WALL)
THEN 300 t%XALB_WALL=dtt%XPAR_ALB_WALL
301 ELSEIF (dtt%LDATA_BLDTYPE)
THEN 309 IF (dtt%LDATA_EMIS_WALL)
THEN 310 t%XEMIS_WALL=dtt%XPAR_EMIS_WALL
311 ELSEIF (dtt%LDATA_BLDTYPE)
THEN 320 IF (dtt%LDATA_HC_WALL)
THEN 325 ELSEIF (dtt%LDATA_BLDTYPE)
THEN 332 DO jlayer=1,ndata_wall_layer
343 IF (dtt%LDATA_H_TRAFFIC)
THEN 344 t%XH_TRAFFIC=dtt%XPAR_H_TRAFFIC
351 IF (dtt%LDATA_LE_TRAFFIC)
THEN 352 t%XLE_TRAFFIC=dtt%XPAR_LE_TRAFFIC
359 IF (dtt%LDATA_H_INDUSTRY)
THEN 360 t%XH_INDUSTRY=dtt%XPAR_H_INDUSTRY
367 IF (dtt%LDATA_LE_INDUSTRY)
THEN 368 t%XLE_INDUSTRY=dtt%XPAR_LE_INDUSTRY
376 IF (dtt%LDATA_ROUGH_ROOF)
THEN 377 t%XROUGH_ROOF=dtt%XPAR_ROUGH_ROOF
378 ELSEIF (dtt%LDATA_BLDTYPE)
THEN 386 IF (dtt%LDATA_ROUGH_WALL)
THEN 387 t%XROUGH_WALL=dtt%XPAR_ROUGH_WALL
388 ELSEIF (dtt%LDATA_BLDTYPE)
THEN 396 IF (dtt%LDATA_RESIDENTIAL)
THEN 397 t%XRESIDENTIAL=dtt%XPAR_RESIDENTIAL
398 ELSEIF (dtt%LDATA_USETYPE)
THEN 410 IF (dtb%LDATA_HC_FLOOR)
THEN 412 zhc=dtb%XPAR_HC_FLOOR
413 ztc=dtb%XPAR_TC_FLOOR
415 ELSEIF (dtt%LDATA_BLDTYPE)
THEN 422 DO jlayer=1,ndata_floor_layer
434 IF (dtb%LDATA_TCOOL_TARGET)
THEN 435 b%XTCOOL_TARGET=dtb%XPAR_TCOOL_TARGET
436 ELSEIF (dtt%LDATA_USETYPE)
THEN 444 IF (dtb%LDATA_THEAT_TARGET)
THEN 445 b%XTHEAT_TARGET=dtb%XPAR_THEAT_TARGET
446 ELSEIF (dtt%LDATA_USETYPE)
THEN 453 IF (dtb%LDATA_F_WASTE_CAN)
THEN 454 b%XF_WASTE_CAN=dtb%XPAR_F_WASTE_CAN
455 ELSEIF (dtt%LDATA_BLDTYPE)
THEN 463 IF (dtb%LDATA_EFF_HEAT)
THEN 464 b%XEFF_HEAT=dtb%XPAR_EFF_HEAT
465 ELSEIF (dtt%LDATA_BLDTYPE)
THEN 473 IF (dtb%LDATA_QIN)
THEN 475 ELSEIF (dtt%LDATA_USETYPE)
THEN 478 CALL av_pgd(dtco, b%XQIN ,top%XCOVER ,
xdata_qin(:),
'TWN',
'ARI',top%LCOVER
483 IF (dtb%LDATA_QIN_FRAD)
THEN 484 b%XQIN_FRAD=dtb%XPAR_QIN_FRAD
485 ELSEIF (dtt%LDATA_USETYPE)
THEN 493 IF (dtb%LDATA_SHGC)
THEN 494 b%XSHGC=dtb%XPAR_SHGC
495 ELSEIF (dtt%LDATA_BLDTYPE)
THEN 503 IF (dtb%LDATA_U_WIN)
THEN 504 b%XU_WIN=dtb%XPAR_U_WIN
505 ELSEIF (dtt%LDATA_BLDTYPE)
THEN 513 IF (dtb%LDATA_GR)
THEN 515 ELSEIF (dtt%LDATA_BLDTYPE)
THEN 518 CALL av_pgd(dtco, b%XGR ,top%XCOVER ,
xdata_gr(:),
'TWN',
'ARI',top%LCOVER
523 IF (dtb%LDATA_SHGC_SH)
THEN 524 b%XSHGC_SH=dtb%XPAR_SHGC_SH
525 ELSEIF (dtt%LDATA_USETYPE)
THEN 533 IF (dtb%LDATA_FLOOR_HEIGHT)
THEN 534 b%XFLOOR_HEIGHT=dtb%XPAR_FLOOR_HEIGHT
535 ELSEIF (dtt%LDATA_BLDTYPE)
THEN 543 IF (dtb%LDATA_INF)
THEN 545 ELSEIF (dtt%LDATA_BLDTYPE)
THEN 548 CALL av_pgd(dtco, b%XINF ,top%XCOVER ,
xdata_inf(:),
'TWN',
'ARI',top%LCOVER
553 IF (dtb%LDATA_F_WATER_COND)
THEN 554 b%XF_WATER_COND=dtb%XPAR_F_WATER_COND
555 ELSEIF (dtt%LDATA_BLDTYPE)
THEN 563 IF (dtb%LDATA_QIN_FLAT)
THEN 564 b%XQIN_FLAT=dtb%XPAR_QIN_FLAT
565 ELSEIF (dtt%LDATA_USETYPE)
THEN 573 IF (dtb%LDATA_HR_TARGET)
THEN 574 b%XHR_TARGET=dtb%XPAR_HR_TARGET
575 ELSEIF (dtt%LDATA_USETYPE)
THEN 583 IF (dtb%LDATA_V_VENT)
THEN 584 b%XV_VENT=dtb%XPAR_V_VENT
585 ELSEIF (dtt%LDATA_BLDTYPE)
THEN 593 IF (dtb%LDATA_CAP_SYS_HEAT)
THEN 594 b%XCAP_SYS_HEAT=dtb%XPAR_CAP_SYS_HEAT
595 ELSEIF (dtt%LDATA_BLDTYPE)
THEN 603 IF (dtb%LDATA_CAP_SYS_RAT)
THEN 604 b%XCAP_SYS_RAT=dtb%XPAR_CAP_SYS_RAT
605 ELSEIF (dtt%LDATA_BLDTYPE)
THEN 613 IF (dtb%LDATA_T_ADP)
THEN 614 b%XT_ADP=dtb%XPAR_T_ADP
615 ELSEIF (dtt%LDATA_BLDTYPE)
THEN 623 IF (dtb%LDATA_M_SYS_RAT)
THEN 624 b%XM_SYS_RAT=dtb%XPAR_M_SYS_RAT
625 ELSEIF (dtt%LDATA_BLDTYPE)
THEN 633 IF (dtb%LDATA_COP_RAT)
THEN 634 b%XCOP_RAT=dtb%XPAR_COP_RAT
635 ELSEIF (dtt%LDATA_BLDTYPE)
THEN 643 IF (dtb%LDATA_T_SIZE_MAX)
THEN 644 b%XT_SIZE_MAX=dtb%XPAR_T_SIZE_MAX
645 ELSEIF (dtt%LDATA_BLDTYPE)
THEN 653 IF (dtb%LDATA_T_SIZE_MIN)
THEN 654 b%XT_SIZE_MIN=dtb%XPAR_T_SIZE_MIN
655 ELSEIF (dtt%LDATA_BLDTYPE)
THEN 663 IF (dtb%LDATA_SHADE)
THEN 664 b%XSHADE(:) = dtb%XPAR_SHADE(:)
665 ELSEIF (dtt%LDATA_USETYPE)
THEN 673 IF (dtb%LDATA_NATVENT)
THEN 674 b%XNATVENT(:) = dtb%XPAR_NATVENT(:)
675 ELSEIF (dtt%LDATA_USETYPE)
THEN 683 IF (
PRESENT(tpn))
THEN 687 IF (dtt%LDATA_EMIS_PANEL)
THEN 688 tpn%XEMIS_PANEL=dtt%XPAR_EMIS_PANEL
689 ELSEIF (dtt%LDATA_BLDTYPE)
THEN 695 IF (dtt%LDATA_ALB_PANEL)
THEN 696 tpn%XALB_PANEL=dtt%XPAR_ALB_PANEL
697 ELSEIF (dtt%LDATA_BLDTYPE)
THEN 703 IF (dtt%LDATA_EFF_PANEL)
THEN 704 tpn%XEFF_PANEL=dtt%XPAR_EFF_PANEL
705 ELSEIF (dtt%LDATA_BLDTYPE)
THEN 711 IF (dtt%LDATA_FRAC_PANEL)
THEN 712 tpn%XFRAC_PANEL=dtt%XPAR_FRAC_PANEL
713 ELSEIF (dtt%LDATA_BLDTYPE)
THEN 721 IF (
lhook)
CALL dr_hook(
'CONVERT_PATCH_TEB',1,zhook_handle)
727 INTEGER,
INTENT(IN) :: KPAR
728 ALLOCATE(zd(il,kpar))
729 ALLOCATE(zhc(il,kpar))
730 ALLOCATE(ztc(il,kpar))
subroutine ini_data_param_teb(BDD, KTYPE,
real, dimension(:,:), allocatable xdata_hc_roof
real, dimension(:), allocatable xdata_shgc_sh
real, dimension(:), allocatable xdata_alb_road
real, dimension(:), allocatable xdata_v_vent
subroutine convert_patch_teb(BDD, DTB, DTCO, DTT, TOP, PDEF_ROAD_DIR, T, B, TPN)
real, dimension(:), allocatable xdata_residential
real, dimension(:), allocatable xdata_emis_wall
real, dimension(:,:), allocatable xdata_d_roof
real, dimension(:), allocatable xdata_t_adp
real, dimension(:), allocatable xdata_f_waste_can
subroutine allocate_thermal_work(KPAR)
real, dimension(:), allocatable xdata_qin_frad
real, dimension(:), allocatable xdata_le_traffic
real, dimension(:), allocatable xdata_qin_flat
real, dimension(:), allocatable xdata_tcool_target
real, dimension(:,:), allocatable xdata_tc_road
real, dimension(:,:), allocatable xdata_hc_wall
real, dimension(:), allocatable xdata_theat_target
real, dimension(:), allocatable xdata_gr
real, dimension(:), allocatable xdata_u_win
real, dimension(:), allocatable xdata_alb_wall
real, dimension(:,:), allocatable xdata_tc_roof
real, dimension(:,:), allocatable xdata_d_road
real, dimension(:), allocatable xdata_shade
real, dimension(:), allocatable xdata_t_size_max
real, dimension(:), allocatable xdata_emis_panel
subroutine deallocate_thermal_work
real, dimension(:), allocatable xdata_m_sys_rat
real, dimension(:), allocatable xdata_shgc
real, dimension(:,:), allocatable xdata_d_floor
real, dimension(:), allocatable xdata_emis_road
real, dimension(:), allocatable xdata_alb_panel
real, dimension(:), allocatable xdata_eff_panel
real, dimension(:), allocatable xdata_inf
real, dimension(:), allocatable xdata_frac_gr
real, dimension(:), allocatable xdata_f_water_cond
real, dimension(:), allocatable xdata_h_traffic
real, dimension(:), allocatable xdata_rough_roof
real, dimension(:,:), allocatable xdata_tc_floor
real, dimension(:), allocatable xdata_hr_target
real, dimension(:), allocatable xdata_le_industry
real, dimension(:), allocatable xdata_qin
real, dimension(:), allocatable xdata_natvent
real, dimension(:,:), allocatable xdata_hc_floor
real, dimension(:), allocatable xdata_bld_height
real, dimension(:,:), allocatable xdata_tc_wall
real, dimension(:), allocatable xdata_h_industry
subroutine thermal_layers_conf(HTYPE, PD, PD_OUT, PHC, PHC_OUT, PTC, PTC
real, dimension(:), allocatable xdata_cop_rat
real, dimension(:), allocatable xdata_z0_town
real, dimension(:), allocatable xdata_cap_sys_heat
real, dimension(:), allocatable xdata_rough_wall
real, dimension(:), allocatable xdata_emis_roof
real, dimension(:), allocatable xdata_alb_roof
real, dimension(:,:), allocatable xdata_hc_road
real, dimension(:), allocatable xdata_cap_sys_rat
real, dimension(:), allocatable xdata_floor_height
real, dimension(:), allocatable xdata_t_size_min
real, dimension(:), allocatable xdata_frac_panel
real, dimension(:,:), allocatable xdata_d_wall
real, dimension(:), allocatable xdata_eff_heat