7 pemis_road, pts_road, &
8 pemis_wall, pts_wall_a, &
10 pemis_garden, pts_garden, &
11 pemis_greenroof, pts_greenroof, &
12 tsnow_roof, tsnow_road, &
13 proad, pfrac_gr, pgarden, pbld, &
14 pwall_o_hor, psvf_road, &
15 psvf_wall, psvf_garden, &
16 pemis, ptsrad, pt_win1, &
58 USE modi_urban_lw_coef
63 USE yomhook
,ONLY : lhook, dr_hook
64 USE parkind1
,ONLY : jprb
71 REAL,
DIMENSION(:),
INTENT(IN) :: pemis_roof
72 REAL,
DIMENSION(:),
INTENT(IN) :: pts_roof
73 REAL,
DIMENSION(:),
INTENT(IN) :: pemis_road
74 REAL,
DIMENSION(:),
INTENT(IN) :: pts_road
75 REAL,
DIMENSION(:),
INTENT(IN) :: pemis_wall
76 REAL,
DIMENSION(:),
INTENT(IN) :: pts_wall_a
77 REAL,
DIMENSION(:),
INTENT(IN) :: pts_wall_b
78 REAL,
DIMENSION(:),
INTENT(IN) :: pemis_garden
79 REAL,
DIMENSION(:),
INTENT(IN) :: pts_greenroof
80 REAL,
DIMENSION(:),
INTENT(IN) :: pemis_greenroof
81 REAL,
DIMENSION(:),
INTENT(IN) :: pts_garden
84 REAL,
DIMENSION(:),
INTENT(IN) :: proad
85 REAL,
DIMENSION(:),
INTENT(IN) :: pfrac_gr
86 REAL,
DIMENSION(:),
INTENT(IN) :: pgarden
87 REAL,
DIMENSION(:),
INTENT(IN) :: pbld
88 REAL,
DIMENSION(:),
INTENT(IN) :: pwall_o_hor
89 REAL,
DIMENSION(:),
INTENT(IN) :: psvf_road
90 REAL,
DIMENSION(:),
INTENT(IN) :: psvf_wall
91 REAL,
DIMENSION(:),
INTENT(IN) :: psvf_garden
92 REAL,
DIMENSION(:),
INTENT(OUT):: pemis
93 REAL,
DIMENSION(:),
INTENT(OUT):: ptsrad
94 REAL,
DIMENSION(:),
INTENT(IN) :: pt_win1
95 REAL,
DIMENSION(:),
INTENT(IN) :: pgr
101 REAL,
DIMENSION(SIZE(PEMIS_ROOF)) :: zdn_roof
102 REAL,
DIMENSION(SIZE(PEMIS_ROOF)) :: zdn_road
103 REAL,
DIMENSION(SIZE(PBLD)) :: zdf_roof
104 REAL,
DIMENSION(SIZE(PBLD)) :: zdf_road
105 LOGICAL,
DIMENSION(SIZE(PBLD)) :: gmask
107 REAL,
DIMENSION(SIZE(PBLD)) :: zlw_wa_to_wb
108 REAL,
DIMENSION(SIZE(PBLD)) :: zlw_wa_to_r
109 REAL,
DIMENSION(SIZE(PBLD)) :: zlw_wb_to_r
110 REAL,
DIMENSION(SIZE(PBLD)) :: zlw_wa_to_nr
111 REAL,
DIMENSION(SIZE(PBLD)) :: zlw_wb_to_nr
112 REAL,
DIMENSION(SIZE(PBLD)) :: zlw_wa_to_g
113 REAL,
DIMENSION(SIZE(PBLD)) :: zlw_wb_to_g
114 REAL,
DIMENSION(SIZE(PBLD)) :: zlw_wa_to_win
115 REAL,
DIMENSION(SIZE(PBLD)) :: zlw_wb_to_win
116 REAL,
DIMENSION(SIZE(PBLD)) :: zlw_r_to_wa
117 REAL,
DIMENSION(SIZE(PBLD)) :: zlw_r_to_wb
118 REAL,
DIMENSION(SIZE(PBLD)) :: zlw_r_to_win
119 REAL,
DIMENSION(SIZE(PBLD)) :: zlw_g_to_wa
120 REAL,
DIMENSION(SIZE(PBLD)) :: zlw_g_to_wb
121 REAL,
DIMENSION(SIZE(PBLD)) :: zlw_g_to_win
122 REAL,
DIMENSION(SIZE(PBLD)) :: zlw_s_to_wa
123 REAL,
DIMENSION(SIZE(PBLD)) :: zlw_s_to_wb
124 REAL,
DIMENSION(SIZE(PBLD)) :: zlw_s_to_r
125 REAL,
DIMENSION(SIZE(PBLD)) :: zlw_s_to_nr
126 REAL,
DIMENSION(SIZE(PBLD)) :: zlw_s_to_g
127 REAL,
DIMENSION(SIZE(PBLD)) :: zlw_s_to_win
128 REAL,
DIMENSION(SIZE(PBLD)) :: zlw_win_to_wa
129 REAL,
DIMENSION(SIZE(PBLD)) :: zlw_win_to_wb
130 REAL,
DIMENSION(SIZE(PBLD)) :: zlw_win_to_r
131 REAL,
DIMENSION(SIZE(PBLD)) :: zlw_win_to_nr
132 REAL,
DIMENSION(SIZE(PBLD)) :: zlw_win_to_g
133 REAL,
DIMENSION(SIZE(PBLD)) :: zlw_nr_to_wa
134 REAL,
DIMENSION(SIZE(PBLD)) :: zlw_nr_to_wb
135 REAL,
DIMENSION(SIZE(PBLD)) :: zlw_nr_to_win
137 REAL,
DIMENSION(SIZE(PBLD)) :: zlw_rad
139 REAL,
DIMENSION(SIZE(PBLD)) :: zabs_lw_wall
140 REAL,
DIMENSION(SIZE(PBLD)) :: zabs_lw_road
141 REAL,
DIMENSION(SIZE(PBLD)) :: zabs_lw_roof
142 REAL,
DIMENSION(SIZE(PBLD)) :: zabs_lw_snow_road
143 REAL,
DIMENSION(SIZE(PBLD)) :: zabs_lw_snow_roof
144 REAL,
DIMENSION(SIZE(PBLD)) :: zabs_lw_garden
145 REAL,
DIMENSION(SIZE(PBLD)) :: zabs_lw_greenroof
146 REAL,
DIMENSION(SIZE(PBLD)) :: zlw_up
148 REAL,
DIMENSION(SIZE(PBLD)) :: zt_sky
149 REAL(KIND=JPRB) :: zhook_handle
156 IF (lhook) CALL dr_hook(
'AVERAGED_TSRAD_TEB',0,zhook_handle)
158 CALL
snow_frac_road(tsnow_road%WSNOW(:,1,1),gmask,zdn_road,zdf_road)
159 CALL
snow_frac_roof(tsnow_roof%WSNOW(:,1,1),gmask,zdn_roof,zdf_roof)
162 zlw_rad(:)= xstefan * (pts_road(:) ** 4)
165 zabs_lw_roof(:) = pemis_roof(:) * (zlw_rad(:) - xstefan * pts_roof(:)**4)
168 zabs_lw_snow_roof(:) = tsnow_roof%EMIS(:,1) * (zlw_rad(:) - xstefan * tsnow_roof%TS(:,1)**4)
171 pemis(:) = pbld(:) * (1.-pfrac_gr(:)) * (zdf_roof(:)*pemis_roof(:) &
172 + zdn_roof(:)*tsnow_roof%EMIS(:,1)) &
173 + pbld(:) * pfrac_gr(:) * pemis_greenroof(:)
179 zt_sky(:) = (zlw_rad(:)/xstefan)**0.25
182 pemis_road, psvf_road, pemis_wall, psvf_wall, &
183 pemis_garden, proad, pgarden, &
184 tsnow_road%EMIS(:,1), &
185 pts_road, pts_wall_a, pts_wall_b, &
186 pts_road, pts_garden, pt_win1, &
187 zlw_wa_to_wb, zlw_wa_to_r, zlw_wb_to_r, &
188 zlw_wa_to_nr,zlw_wb_to_nr, &
189 zlw_wa_to_g, zlw_wb_to_g, &
190 zlw_wa_to_win, zlw_wb_to_win, &
191 zlw_r_to_wa, zlw_r_to_wb, zlw_r_to_win, &
192 zlw_g_to_wa, zlw_g_to_wb, zlw_g_to_win, &
193 zlw_s_to_wa, zlw_s_to_wb, zlw_s_to_r, &
194 zlw_s_to_nr, zlw_s_to_g, zlw_s_to_win, &
195 zlw_win_to_wa, zlw_win_to_wb, zlw_win_to_r, &
196 zlw_win_to_nr, zlw_win_to_g, &
197 zlw_nr_to_wa, zlw_nr_to_wb, zlw_nr_to_win )
203 pemis(:) = pemis(:) &
204 + proad(:)*psvf_road(:)* (zdf_road(:)* pemis_road(:) &
205 + zdn_road(:)* tsnow_road%EMIS(:,1)) &
206 + pwall_o_hor(:) * psvf_wall(:) * pemis_wall(:) &
207 + pgarden(:) * psvf_garden(:) * pemis_garden(:)
211 zabs_lw_road(:) = zlw_s_to_r(:) * (zt_sky(:) - pts_road(:)) &
212 + zlw_wa_to_r(:) * (pts_wall_a(:) - pts_road(:)) &
213 + zlw_wb_to_r(:) * (pts_wall_b(:) - pts_road(:)) &
214 + zlw_win_to_r(:) * (pt_win1(:) - pts_road(:))
218 zabs_lw_wall(:) =( zlw_s_to_wa(:) * (zt_sky(:) - pts_wall_a(:)) &
219 + zlw_r_to_wa(:) * (pts_road(:) - pts_wall_a(:)) &
220 + zlw_g_to_wa(:) * (pts_garden(:)- pts_wall_a(:)) &
221 + zlw_win_to_wa(:)* (pt_win1(:) - pts_wall_a(:)) &
222 + zlw_s_to_wb(:) * (zt_sky(:) - pts_wall_b(:)) &
223 + zlw_r_to_wb(:) * (pts_road(:) - pts_wall_b(:)) &
224 + zlw_g_to_wb(:) * (pts_garden(:)- pts_wall_b(:)) &
225 + zlw_win_to_wb(:)* (pt_win1(:) - pts_wall_b(:)))&
230 zabs_lw_snow_road(:) = zlw_s_to_r(:) * (zt_sky(:) - tsnow_road%TS(:,1)) &
231 + zlw_wa_to_nr(:) * (pts_wall_a(:) - tsnow_road%TS(:,1)) &
232 + zlw_wb_to_nr(:) * (pts_wall_b(:) - tsnow_road%TS(:,1)) &
233 + zlw_win_to_nr(:) * (pt_win1(:) - tsnow_road%TS(:,1))
236 zabs_lw_garden(:) = zlw_s_to_g(:)*(zt_sky(:)-pts_garden(:)) &
237 + zlw_wa_to_g(:)*(pts_wall_a(:)-pts_garden(:)) &
238 + zlw_wb_to_g(:)*(pts_wall_b(:)-pts_garden(:)) &
239 + zlw_win_to_g(:)*(pt_win1(:)-pts_garden(:))
242 zabs_lw_greenroof(:) = pemis_greenroof(:) * (zlw_rad(:) - xstefan * pts_greenroof(:)** 4)
246 zlw_up(:) = zlw_rad(:) &
247 - ( pbld(:) *(1.-pfrac_gr(:))*zdf_roof(:)*zabs_lw_roof(:) &
248 +pbld(:) *(1.-pfrac_gr(:))*zdn_roof(:)*zabs_lw_snow_roof(:) &
249 +pbld(:) * pfrac_gr(:) *zabs_lw_greenroof(:) &
250 +proad(:) *zdf_road(:)*zabs_lw_road(:) &
251 +proad(:) *zdn_road(:)*zabs_lw_snow_road(:) &
252 +pwall_o_hor(:) *zabs_lw_wall(:) &
253 +pgarden(:) *zabs_lw_garden(:))
256 ptsrad(:) = ((zlw_up(:) - zlw_rad(:)*(1.-pemis(:))) /pemis(:)/xstefan)**0.25
258 IF (lhook) CALL dr_hook(
'AVERAGED_TSRAD_TEB',1,zhook_handle)
subroutine averaged_tsrad_teb(PEMIS_ROOF, PTS_ROOF, PEMIS_ROAD, PTS_ROAD, PEMIS_WALL, PTS_WALL_A, PTS_WALL_B, PEMIS_GARDEN, PTS_GARDEN, PEMIS_GREENROOF, PTS_GREENROOF, TSNOW_ROOF, TSNOW_ROAD, PROAD, PFRAC_GR, PGARDEN, PBLD, PWALL_O_HOR, PSVF_ROAD, PSVF_WALL, PSVF_GARDEN, PEMIS, PTSRAD, PT_WIN1, PGR)
subroutine snow_frac_roof(PWSNOW_ROOF, OSNOW, PDN_ROOF, PDF_ROOF)
subroutine urban_lw_coef(PGR, PBLD, PLW_RAD, PEMIS_R, PSVF_R, PEMIS_W, PSVF_W, PEMIS_G, PROAD, PGARDEN, PESNOW_R, PTS_SR, PTS_W_A, PTS_W_B, PTS_R, PTS_G, PTS_WIN, PLW_WA_TO_WB, PLW_WA_TO_R, PLW_WB_TO_R, PLW_WA_TO_NR, PLW_WB_TO_NR, PLW_WA_TO_G, PLW_WB_TO_G, PLW_WA_TO_WIN, PLW_WB_TO_WIN, PLW_R_TO_WA, PLW_R_TO_WB, PLW_R_TO_WIN, PLW_G_TO_WA, PLW_G_TO_WB, PLW_G_TO_WIN, PLW_S_TO_WA, PLW_S_TO_WB, PLW_S_TO_R, PLW_S_TO_NR, PLW_S_TO_G, PLW_S_TO_WIN, PLW_WIN_TO_WA, PLW_WIN_TO_WB, PLW_WIN_TO_R, PLW_WIN_TO_NR, PLW_WIN_TO_G, PLW_NR_TO_WA, PLW_NR_TO_WB, PLW_NR_TO_WIN)
subroutine snow_frac_road(PWSNOW_ROAD, OSNOW, PDN_ROAD, PDF_ROAD)