6 SUBROUTINE utci_teb(PT_CAN, PQ_CAN, PTI_BLD, PQI_BLD, PU10, PPS, &
7 pref_sw_grnd, pref_sw_fac, psca_sw, pdir_sw, pzenith,&
8 pemit_lw_fac, pemit_lw_grnd, plw_rad, ptrad_in, &
9 pbld, pbld_height, pwall_o_hor, &
10 putci_in, putci_outsun, putci_outshade, &
11 ptrad_sun, ptrad_shade )
55 USE yomhook
,ONLY : lhook, dr_hook
56 USE parkind1
,ONLY : jprb
61 REAL,
DIMENSION(:),
INTENT(IN) :: pt_can
62 REAL,
DIMENSION(:),
INTENT(IN) :: pq_can
63 REAL,
DIMENSION(:),
INTENT(IN) :: pti_bld
64 REAL,
DIMENSION(:),
INTENT(IN) :: pqi_bld
65 REAL,
DIMENSION(:),
INTENT(IN) :: pu10
66 REAL,
DIMENSION(:),
INTENT(IN) :: pps
67 REAL,
DIMENSION(:),
INTENT(IN) :: pref_sw_grnd
68 REAL,
DIMENSION(:),
INTENT(IN) :: pref_sw_fac
69 REAL,
DIMENSION(:),
INTENT(IN) :: psca_sw
70 REAL,
DIMENSION(:),
INTENT(IN) :: pdir_sw
71 REAL,
DIMENSION(:),
INTENT(IN) :: pzenith
72 REAL,
DIMENSION(:),
INTENT(IN) :: pemit_lw_fac
73 REAL,
DIMENSION(:),
INTENT(IN) :: pemit_lw_grnd
74 REAL,
DIMENSION(:),
INTENT(IN) :: plw_rad
75 REAL,
DIMENSION(:),
INTENT(IN) :: ptrad_in
76 REAL,
DIMENSION(:),
INTENT(IN) :: pbld
77 REAL,
DIMENSION(:),
INTENT(IN) :: pbld_height
78 REAL,
DIMENSION(:),
INTENT(IN) :: pwall_o_hor
79 REAL,
DIMENSION(:),
INTENT(OUT) :: putci_in
80 REAL,
DIMENSION(:),
INTENT(OUT) :: putci_outsun
81 REAL,
DIMENSION(:),
INTENT(OUT) :: putci_outshade
82 REAL,
DIMENSION(:),
INTENT(OUT) :: ptrad_sun
83 REAL,
DIMENSION(:),
INTENT(OUT) :: ptrad_shade
86 REAL,
DIMENSION(SIZE(PTI_BLD)) :: zehpa
87 REAL,
DIMENSION(SIZE(PTI_BLD)) :: zuin
88 REAL,
DIMENSION(SIZE(PTI_BLD)) :: zdir_sw
89 REAL,
DIMENSION(SIZE(PTI_BLD)) :: zzenith
91 REAL(KIND=JPRB) :: zhook_handle
93 IF (lhook) CALL dr_hook(
'UTCI_TEB',0,zhook_handle)
95 zehpa = pqi_bld * pps /(0.622 + 0.378 * pqi_bld) / 100.
97 putci_in =
utci_approx(pti_bld - xtt, zehpa, ptrad_in - xtt, zuin)
100 zehpa = pq_can * pps / (0.622 + 0.378 * pq_can) /100.
101 ptrad_sun =
trad_body(psca_sw, pref_sw_fac, pref_sw_grnd, &
102 pemit_lw_fac, pemit_lw_grnd, plw_rad,&
103 pbld, pbld_height, pwall_o_hor, pdir_sw, pzenith )
104 putci_outsun =
utci_approx(pt_can - xtt, zehpa, ptrad_sun - xtt, pu10)
112 ptrad_shade =
trad_body(psca_sw,pref_sw_fac, pref_sw_grnd, &
113 pemit_lw_fac, pemit_lw_grnd, plw_rad,&
114 pbld, pbld_height, pwall_o_hor)
115 putci_outshade =
utci_approx(pt_can - xtt, zehpa, ptrad_shade - xtt, pu10)
116 IF (lhook) CALL dr_hook(
'UTCI_TEB',1,zhook_handle)
real function, dimension(size(psca_sw)) trad_body(PSCA_SW, PREF_SW_FAC, PREF_SW_GRND, PEMIT_LW_FAC, PEMIT_LW_GRND, PLW_RAD, PBLD, PBLD_HEIGHT, PWALL_O_HOR, PDIR_SW, PZENITH)
subroutine utci_teb(PT_CAN, PQ_CAN, PTI_BLD, PQI_BLD, PU10, PPS, PREF_SW_GRND, PREF_SW_FAC, PSCA_SW, PDIR_SW, PZENITH, PEMIT_LW_FAC, PEMIT_LW_GRND, PLW_RAD, PTRAD_IN, PBLD, PBLD_HEIGHT, PWALL_O_HOR, PUTCI_IN, PUTCI_OUTSUN, PUTCI_OUTSHADE, PTRAD_SUN, PTRAD_SHADE)
real function, dimension(size(pta)) utci_approx(PTA, PEHPA, PTMRT, PVA)