6 SUBROUTINE urban_lw_coef(B, T, PLW_RAD, PEMIS_G, PTS_SR, PTS_G, &
7 PLW_WA_TO_WB, PLW_WA_TO_R, PLW_WB_TO_R, &
8 PLW_WA_TO_NR,PLW_WB_TO_NR, &
9 PLW_WA_TO_G, PLW_WB_TO_G, &
10 PLW_WA_TO_WIN, PLW_WB_TO_WIN, &
11 PLW_R_TO_WA, PLW_R_TO_WB, PLW_R_TO_WIN, &
12 PLW_G_TO_WA, PLW_G_TO_WB, PLW_G_TO_WIN, &
13 PLW_S_TO_WA, PLW_S_TO_WB, PLW_S_TO_R, &
14 PLW_S_TO_NR, PLW_S_TO_G, PLW_S_TO_WIN, &
15 PLW_WIN_TO_WA, PLW_WIN_TO_WB, PLW_WIN_TO_R, &
16 PLW_WIN_TO_NR, PLW_WIN_TO_G, &
17 PLW_NR_TO_WA, PLW_NR_TO_WB, PLW_NR_TO_WIN )
76 TYPE(
bem_t),
INTENT(INOUT) :: B
77 TYPE(
teb_t),
INTENT(INOUT) :: T
79 REAL,
DIMENSION(:),
INTENT(IN) :: PLW_RAD
80 REAL,
DIMENSION(:),
INTENT(IN) :: PEMIS_G
82 REAL,
DIMENSION(:),
INTENT(IN) :: PTS_G
83 REAL,
DIMENSION(:),
INTENT(IN) :: PTS_SR
85 REAL,
DIMENSION(:),
INTENT(OUT) :: PLW_WA_TO_WB
86 REAL,
DIMENSION(:),
INTENT(OUT) :: PLW_WA_TO_R
87 REAL,
DIMENSION(:),
INTENT(OUT) :: PLW_WB_TO_R
88 REAL,
DIMENSION(:),
INTENT(OUT) :: PLW_WA_TO_NR
89 REAL,
DIMENSION(:),
INTENT(OUT) :: PLW_WB_TO_NR
90 REAL,
DIMENSION(:),
INTENT(OUT) :: PLW_WA_TO_G
91 REAL,
DIMENSION(:),
INTENT(OUT) :: PLW_WB_TO_G
92 REAL,
DIMENSION(:),
INTENT(OUT) :: PLW_WA_TO_WIN
93 REAL,
DIMENSION(:),
INTENT(OUT) :: PLW_WB_TO_WIN
95 REAL,
DIMENSION(:),
INTENT(OUT) :: PLW_R_TO_WA
96 REAL,
DIMENSION(:),
INTENT(OUT) :: PLW_R_TO_WB
97 REAL,
DIMENSION(:),
INTENT(OUT) :: PLW_R_TO_WIN
99 REAL,
DIMENSION(:),
INTENT(OUT) :: PLW_G_TO_WA
100 REAL,
DIMENSION(:),
INTENT(OUT) :: PLW_G_TO_WB
101 REAL,
DIMENSION(:),
INTENT(OUT) :: PLW_G_TO_WIN
103 REAL,
DIMENSION(:),
INTENT(OUT) :: PLW_S_TO_WA
104 REAL,
DIMENSION(:),
INTENT(OUT) :: PLW_S_TO_WB
105 REAL,
DIMENSION(:),
INTENT(OUT) :: PLW_S_TO_R
106 REAL,
DIMENSION(:),
INTENT(OUT) :: PLW_S_TO_NR
107 REAL,
DIMENSION(:),
INTENT(OUT) :: PLW_S_TO_G
108 REAL,
DIMENSION(:),
INTENT(OUT) :: PLW_S_TO_WIN
110 REAL,
DIMENSION(:),
INTENT(OUT) :: PLW_WIN_TO_WA
111 REAL,
DIMENSION(:),
INTENT(OUT) :: PLW_WIN_TO_WB
112 REAL,
DIMENSION(:),
INTENT(OUT) :: PLW_WIN_TO_R
113 REAL,
DIMENSION(:),
INTENT(OUT) :: PLW_WIN_TO_NR
114 REAL,
DIMENSION(:),
INTENT(OUT) :: PLW_WIN_TO_G
116 REAL,
DIMENSION(:),
INTENT(OUT) :: PLW_NR_TO_WA
117 REAL,
DIMENSION(:),
INTENT(OUT) :: PLW_NR_TO_WB
118 REAL,
DIMENSION(:),
INTENT(OUT) :: PLW_NR_TO_WIN
122 REAL,
DIMENSION(SIZE(T%XBLD)) :: ZT_S
124 REAL,
DIMENSION(SIZE(T%XBLD)) :: ZEMIS_WIN
125 REAL,
DIMENSION(SIZE(T%XBLD)) :: ZF_W_W
126 REAL,
DIMENSION(SIZE(T%XBLD)) :: ZF_R_W
127 REAL,
DIMENSION(SIZE(T%XBLD)) :: ZF_R_WIN
128 REAL,
DIMENSION(SIZE(T%XBLD)) :: ZF_W_R
129 REAL,
DIMENSION(SIZE(T%XBLD)) :: ZF_W_G
130 REAL,
DIMENSION(SIZE(T%XBLD)) :: ZF_W_WIN
131 REAL,
DIMENSION(SIZE(T%XBLD)) :: ZF_W_NR
132 REAL,
DIMENSION(SIZE(T%XBLD)) :: ZF_WIN_W
133 REAL,
DIMENSION(SIZE(T%XBLD)) :: ZF_WIN_R
134 REAL,
DIMENSION(SIZE(T%XBLD)) :: ZF_WIN_G
135 REAL,
DIMENSION(SIZE(T%XBLD)) :: ZF_WIN_NR
136 REAL,
DIMENSION(SIZE(T%XBLD)) :: ZF_G_W
137 REAL,
DIMENSION(SIZE(T%XBLD)) :: ZF_G_WIN
139 REAL :: ZE1, ZE2, ZF, ZT1, ZT2, ZLW
140 zlw(ze1,ze2,zf,zt1,zt2) = 4.*
xstefan*ze1*ze2*zf*((zt1+zt2)/2.)**3
143 REAL(KIND=JPRB) :: ZHOOK_HANDLE
147 zt_s(:) = (plw_rad(:)/
xstefan)**0.25
149 DO jj=1,
SIZE(t%XROAD)
154 zf_w_r(jj) = t%XSVF_WALL(jj) * (t%XROAD(jj) /(1.-t%XBLD(jj)))
155 zf_w_g(jj) = t%XSVF_WALL(jj) * (t%XGARDEN(jj) /(1.-t%XBLD(jj)))
156 zf_w_nr(jj) = t%XSVF_WALL(jj)
158 zf_win_r(jj) = zf_w_r(jj)
159 zf_win_g(jj) = zf_w_g(jj)
160 zf_win_nr(jj) = zf_w_nr(jj)
162 zf_r_w(jj) = (1 - t%XSVF_ROAD(jj))*(1.-b%XGR(jj)) * 0.5
163 zf_r_win(jj) = (1 - t%XSVF_ROAD(jj))*b%XGR(jj)
165 zf_g_w(jj) = zf_r_w(jj)
166 zf_g_win(jj) = zf_r_win(jj)
168 zf_win_w(jj) = (1.-2.*t%XSVF_WALL(jj))*(1.-b%XGR(jj))
169 zf_w_w(jj) = (1.-2.*t%XSVF_WALL(jj))*(1.-b%XGR(jj))
170 zf_w_win(jj) = (1.-2.*t%XSVF_WALL(jj))*b%XGR(jj)
173 plw_wa_to_wb(jj)=zlw(t%XEMIS_WALL(jj),t%XEMIS_WALL(jj),zf_w_w(jj),t%XT_WALL_A(jj,1),t%XT_WALL_B(jj,1))
175 plw_wa_to_r(jj) = zlw(t%XEMIS_WALL(jj),t%XEMIS_ROAD(jj),zf_r_w(jj),t%XT_WALL_A(jj,1),t%XT_ROAD(jj,1))
176 plw_wb_to_r(jj) = zlw(t%XEMIS_WALL(jj),t%XEMIS_ROAD(jj),zf_r_w(jj),t%XT_WALL_B(jj,1),t%XT_ROAD(jj,1))
177 plw_r_to_wa(jj) = zlw(t%XEMIS_ROAD(jj),t%XEMIS_WALL(jj),zf_w_r(jj),t%XT_ROAD(jj,1),t%XT_WALL_A(jj,1))
178 plw_r_to_wb(jj) = zlw(t%XEMIS_ROAD(jj),t%XEMIS_WALL(jj),zf_w_r(jj),t%XT_ROAD(jj,1),t%XT_WALL_B(jj,1))
180 IF (
SIZE(pts_g)>0)
THEN 181 plw_wa_to_g(jj) = zlw(t%XEMIS_WALL(jj),pemis_g(jj),zf_g_w(jj),t%XT_WALL_A(jj,1),pts_g(jj))
182 plw_wb_to_g(jj) = zlw(t%XEMIS_WALL(jj),pemis_g(jj),zf_g_w(jj),t%XT_WALL_B(jj,1),pts_g(jj))
183 plw_g_to_wa(jj) = zlw(pemis_g(jj),t%XEMIS_WALL(jj),zf_w_g(jj),pts_g(jj),t%XT_WALL_A(jj,1))
184 plw_g_to_wb(jj) = zlw(pemis_g(jj),t%XEMIS_WALL(jj),zf_w_g(jj),pts_g(jj),t%XT_WALL_B(jj,1))
193 IF (pts_sr(jj) .EQ.
xundef)
THEN 194 plw_wa_to_nr(jj) = 0.
195 plw_wb_to_nr(jj) = 0.
196 plw_nr_to_wa(jj) = 0.
197 plw_nr_to_wb(jj) = 0.
199 plw_win_to_nr(jj) = 0.
200 plw_nr_to_win(jj) = 0
204 plw_wa_to_nr(jj) = zlw(t%XEMIS_WALL(jj),t%TSNOW_ROAD%EMIS(jj),zf_r_w(jj),t%XT_WALL_A(jj,1),pts_sr(jj))
205 plw_wb_to_nr(jj) = zlw(t%XEMIS_WALL(jj),t%TSNOW_ROAD%EMIS(jj),zf_r_w(jj),t%XT_WALL_B(jj,1),pts_sr(jj))
206 plw_nr_to_wa(jj) = zlw(t%TSNOW_ROAD%EMIS(jj),t%XEMIS_WALL(jj),zf_w_nr(jj),pts_sr(jj),t%XT_WALL_A(jj,1))
207 plw_nr_to_wb(jj) = zlw(t%TSNOW_ROAD%EMIS(jj),t%XEMIS_WALL(jj),zf_w_nr(jj),pts_sr(jj),t%XT_WALL_B(jj,1))
209 plw_win_to_nr(jj)= zlw(zemis_win(jj),t%TSNOW_ROAD%EMIS(jj),zf_r_win(jj),b%XT_WIN1(jj),pts_sr(jj))
210 plw_nr_to_win(jj)= zlw(t%TSNOW_ROAD%EMIS(jj),zemis_win(jj),zf_win_nr(jj),pts_sr(jj),b%XT_WIN1(jj))
212 plw_s_to_nr(jj) = zlw(1.,t%TSNOW_ROAD%EMIS(jj),t%XSVF_ROAD(jj),zt_s(jj),pts_sr(jj))
215 plw_win_to_r(jj)= zlw(zemis_win(jj),t%XEMIS_ROAD(jj),zf_r_win(jj),b%XT_WIN1(jj),t%XT_ROAD(jj,1))
216 plw_r_to_win(jj)= zlw(t%XEMIS_ROAD(jj),zemis_win(jj),zf_win_r(jj),t%XT_ROAD(jj,1),b%XT_WIN1(jj))
218 IF (
SIZE(pts_g)>0)
THEN 219 plw_win_to_g(jj)= zlw(zemis_win(jj),pemis_g(jj),zf_g_win(jj),b%XT_WIN1(jj),pts_g(jj))
220 plw_g_to_win(jj)= zlw(pemis_g(jj),zemis_win(jj),zf_win_g(jj),pts_g(jj),b%XT_WIN1(jj))
222 plw_win_to_g(jj) = 0.
223 plw_g_to_win(jj) = 0.
226 plw_win_to_wa(jj) = zlw(zemis_win(jj),t%XEMIS_WALL(jj),zf_w_win(jj),b%XT_WIN1(jj),t%XT_WALL_A(jj,1))
227 plw_win_to_wb(jj) = zlw(zemis_win(jj),t%XEMIS_WALL(jj),zf_w_win(jj),b%XT_WIN1(jj),t%XT_WALL_B(jj,1))
228 plw_wa_to_win(jj) = zlw(t%XEMIS_WALL(jj),zemis_win(jj),zf_win_w(jj),t%XT_WALL_A(jj,1),b%XT_WIN1(jj))
229 plw_wb_to_win(jj) = zlw(t%XEMIS_WALL(jj),zemis_win(jj),zf_win_w(jj),t%XT_WALL_B(jj,1),b%XT_WIN1(jj))
231 plw_s_to_win(jj) = zlw(1.,zemis_win(jj),t%XSVF_WALL(jj),zt_s(jj),b%XT_WIN1(jj))
233 plw_s_to_wa(jj) = zlw(1.,t%XEMIS_WALL(jj),t%XSVF_WALL(jj),zt_s(jj),t%XT_WALL_A(jj,1))
234 plw_s_to_wb(jj) = zlw(1.,t%XEMIS_WALL(jj),t%XSVF_WALL(jj),zt_s(jj),t%XT_WALL_B(jj,1))
236 IF (
SIZE(pts_g)>0)
THEN 237 plw_s_to_g(jj) = zlw(1.,pemis_g(jj),t%XSVF_ROAD(jj),zt_s(jj),pts_g(jj))
239 plw_s_to_r(jj) = zlw(1.,t%XEMIS_ROAD(jj),t%XSVF_ROAD(jj),zt_s(jj),t%XT_ROAD(jj,1))
240 plw_s_to_nr(jj) = zlw(1.,t%TSNOW_ROAD%EMIS(jj),t%XSVF_ROAD(jj),zt_s(jj),pts_sr(jj))
subroutine urban_lw_coef(B, T, PLW_RAD, PEMIS_G, PTS_SR, PTS_G, 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)