5 SUBROUTINE window_e_budget(PU_WIN, PEMIS_WIN, PF_WIN_FLOOR, PF_WIN_WALL, PF_WIN_MASS, &
6 plw_w_to_win, plw_r_to_win, plw_g_to_win, &
7 plw_nr_to_win, plw_s_to_win, prad_roof_win, prad_wall_win, &
8 pabs_sw_win, plw_rad, pac_wall, &
9 pradht_in, pti_bld, pts_mass, pts_floor, prhoa, pdn_road, &
10 pt_canyon, pts_wall, pts_road, ptsnow_road, &
11 pts_garden, pt_win1, pt_win2, prad_win_floor, &
12 prad_win_mass, pconv_win_bld, pemit_lw_win, pabs_lw_win, pload_in_win)
64 USE yomhook
,ONLY : lhook, dr_hook
65 USE parkind1
,ONLY : jprb
71 REAL,
DIMENSION(:),
INTENT(IN) :: pu_win
72 REAL,
DIMENSION(:),
INTENT(IN) :: pemis_win
73 REAL,
DIMENSION(:),
INTENT(IN) :: pf_win_floor
74 REAL,
DIMENSION(:),
INTENT(IN) :: pf_win_wall
75 REAL,
DIMENSION(:),
INTENT(IN) :: pf_win_mass
76 REAL,
DIMENSION(:),
INTENT(IN) :: plw_w_to_win
78 REAL,
DIMENSION(:),
INTENT(IN) :: plw_r_to_win
80 REAL,
DIMENSION(:),
INTENT(IN) :: plw_g_to_win
81 REAL,
DIMENSION(:),
INTENT(IN) :: plw_nr_to_win
82 REAL,
DIMENSION(:),
INTENT(IN) :: plw_s_to_win
84 REAL,
DIMENSION(:),
INTENT(IN) :: prad_roof_win
85 REAL,
DIMENSION(:),
INTENT(IN) :: prad_wall_win
86 REAL,
DIMENSION(:),
INTENT(IN) :: pabs_sw_win
87 REAL,
DIMENSION(:),
INTENT(IN) :: plw_rad
88 REAL,
DIMENSION(:),
INTENT(IN) :: pac_wall
89 REAL,
DIMENSION(:),
INTENT(IN) :: pradht_in
91 REAL,
DIMENSION(:),
INTENT(IN) :: pti_bld
92 REAL,
DIMENSION(:),
INTENT(IN) :: pts_mass
93 REAL,
DIMENSION(:),
INTENT(IN) :: pts_floor
94 REAL,
DIMENSION(:),
INTENT(IN) :: prhoa
95 REAL,
DIMENSION(:),
INTENT(IN) :: pdn_road
96 REAL,
DIMENSION(:),
INTENT(IN) :: pt_canyon
97 REAL,
DIMENSION(:),
INTENT(IN) :: pts_wall
98 REAL,
DIMENSION(:),
INTENT(IN) :: pts_road
99 REAL,
DIMENSION(:),
INTENT(IN) :: ptsnow_road
100 REAL,
DIMENSION(:),
INTENT(IN) :: pts_garden
101 REAL,
DIMENSION(:),
INTENT(OUT) :: pt_win1
102 REAL,
DIMENSION(:),
INTENT(INOUT) :: pt_win2
103 REAL,
DIMENSION(:),
INTENT(OUT) :: prad_win_floor
104 REAL,
DIMENSION(:),
INTENT(OUT) :: prad_win_mass
105 REAL,
DIMENSION(:),
INTENT(OUT) :: pconv_win_bld
106 REAL,
DIMENSION(:),
INTENT(OUT) :: pemit_lw_win
107 REAL,
DIMENSION(:),
INTENT(OUT) :: pabs_lw_win
108 REAL,
DIMENSION(:),
INTENT(IN) :: pload_in_win
112 REAL,
DIMENSION(SIZE(PT_CANYON)) :: zt_sky
113 REAL,
DIMENSION(SIZE(PT_CANYON)) :: za12
114 REAL,
DIMENSION(SIZE(PT_CANYON)) :: zb2
115 REAL,
DIMENSION(SIZE(PT_CANYON)) :: zb1
116 REAL,
DIMENSION(SIZE(PT_CANYON)) :: za21
117 REAL,
DIMENSION(SIZE(PT_CANYON)) :: zchtc_in_win
123 DO jj=1,
SIZE(zchtc_in_win)
124 zchtc_in_win(jj) = max(1., zchtc_in_win(jj))
129 zt_sky(:) = (plw_rad(:)/xstefan)**0.25
131 za12(:) = zchtc_in_win(:) &
132 + pradht_in(:) * pf_win_mass(:) &
133 + pradht_in(:) * pf_win_floor(:) &
136 zb1(:) = zchtc_in_win(:) * pti_bld(:) &
137 + pradht_in(:) * pf_win_mass(:) * pts_mass(:) &
138 + pf_win_wall(:) * prad_wall_win(:) &
139 + pf_win_floor(:) * prad_roof_win(:) &
140 + pradht_in(:) * pf_win_floor(:)* pts_floor(:) &
141 + pload_in_win(:) + pabs_sw_win(:) /2.
143 za21(:) = - pac_wall(:) * prhoa(:)*xcpd &
146 - plw_r_to_win(:) *(1.-pdn_road(:))&
148 - plw_nr_to_win(:) * pdn_road(:) &
151 zb2(:) = - pac_wall(:) * prhoa(:)*xcpd*pt_canyon(:) &
152 - plw_s_to_win(:) * zt_sky(:) &
153 - plw_w_to_win(:) * pts_wall(:) &
154 - plw_r_to_win(:) *(1.-pdn_road(:)) * pts_road(:) &
155 - plw_g_to_win(:) * pts_garden(:) &
156 - plw_nr_to_win(:) * pdn_road(:) * ptsnow_road(:) &
160 pt_win1(:) = ( zb2(:) - zb1(:)*pu_win(:)/za12(:) ) / &
161 ( za21(:) + pu_win(:)**2/za12(:) )
164 pt_win2(:) = (zb1(:) + pu_win(:)*pt_win1(:) ) / za12(:)
167 pabs_lw_win(:) = plw_s_to_win(:) * (zt_sky(:) - pt_win1(:)) + &
168 (1.-pdn_road(:))* plw_r_to_win(:) * (pts_road(:) - pt_win1(:)) + &
169 plw_g_to_win(:) * (pts_garden(:) - pt_win1(:)) + &
170 plw_w_to_win(:) * (pts_wall(:) - pt_win1(:)) + &
171 pdn_road(:) * plw_nr_to_win(:) * (ptsnow_road(:) - pt_win1(:))
174 pemit_lw_win(:) = xstefan * pt_win1(:)**4 + (1 - pemis_win(:))/pemis_win(:) * pabs_lw_win(:)
176 prad_win_floor(:) = pradht_in(:) * (pt_win2(:) - pts_floor(:))
177 prad_win_mass(:) = pradht_in(:) * (pt_win2(:) - pts_mass(:))
178 pconv_win_bld(:) = zchtc_in_win(:) * (pt_win2(:) - pti_bld(:))
subroutine window_e_budget(PU_WIN, PEMIS_WIN, PF_WIN_FLOOR, PF_WIN_WALL, PF_WIN_MASS, PLW_W_TO_WIN, PLW_R_TO_WIN, PLW_G_TO_WIN, PLW_NR_TO_WIN, PLW_S_TO_WIN, PRAD_ROOF_WIN, PRAD_WALL_WIN, PABS_SW_WIN, PLW_RAD, PAC_WALL, PRADHT_IN, PTI_BLD, PTS_MASS, PTS_FLOOR, PRHOA, PDN_ROAD, PT_CANYON, PTS_WALL, PTS_ROAD, PTSNOW_ROAD, PTS_GARDEN, PT_WIN1, PT_WIN2, PRAD_WIN_FLOOR, PRAD_WIN_MASS, PCONV_WIN_BLD, PEMIT_LW_WIN, PABS_LW_WIN, PLOAD_IN_WIN)