SURFEX  V8_0
Surfex V8_0 release
 All Classes Files Functions Variables
hvac_autosize.F90
Go to the documentation of this file.
1 !SFX_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
2 !SFX_LIC This is part of the SURFEX software governed by the CeCILL-C licence
3 !SFX_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
4 !SFX_LIC for details. version 1.
5 ! #############################################################
6 SUBROUTINE hvac_autosize (BDD, DTCO, DGU, B, BOP, UG, U, TG, T, TOP, &
7  ki,kluout)
8 ! #############################################################
9 !!
10 !! PURPOSE
11 !! -------
12 !!
13 !! Calibrates HVAC systems for TEB-BEM
14 !!
15 !! AUTHOR
16 !! ------
17 !!
18 !! G. Pigeon * Meteo-France *
19 !!
20 !! MODIFICATIONS
21 !! -------------
22 !! Original 05/2011
23 !! modified 08/2013 add solar panels (V. Masson)
24 !-------------------------------------------------------------------------------
25 !
26 !* 0. DECLARATIONS
27 ! ------------
28 !
29 !
30 !
34 USE modd_bem_n, ONLY : bem_t
37 USE modd_surf_atm_n, ONLY : surf_atm_t
38 USE modd_teb_grid_n, ONLY : teb_grid_t
39 USE modd_teb_n, ONLY : teb_t
41 !
42 !
43 USE modd_csts, ONLY : xcpd, xpi, xp00, xrd, xstefan
44 !
45 USE modd_surfex_omp, ONLY : nblocktot
46 !
47 USE modi_teb
48 USE modi_sunpos
49 USE modi_sw_daycycle
50 USE modi_urban_lw_coef
51 USE modi_urban_solar_abs
52 USE modi_get_sizes_parallel
53 !
54 USE yomhook ,ONLY : lhook, dr_hook
55 USE parkind1 ,ONLY : jprb
56 !
57 #ifdef AIX64
58 USE omp_lib
59 #endif
60 !
61 IMPLICIT NONE
62 !
63 #ifndef AIX64
64  include 'omp_lib.h'
65 #endif
66 !
67 !* 0.1 Declaration of arguments
68 ! ------------------------
69 !
70 TYPE(bld_desc_t), INTENT(INOUT) :: bdd
71 TYPE(data_cover_t), INTENT(INOUT) :: dtco
72 TYPE(diag_surf_atm_t), INTENT(INOUT) :: dgu
73 TYPE(bem_t), INTENT(INOUT) :: b
74 TYPE(bem_options_t), INTENT(INOUT) :: bop
75 TYPE(surf_atm_grid_t), INTENT(INOUT) :: ug
76 TYPE(surf_atm_t), INTENT(INOUT) :: u
77 TYPE(teb_grid_t), INTENT(INOUT) :: tg
78 TYPE(teb_t), INTENT(INOUT) :: t
79 TYPE(teb_options_t), INTENT(INOUT) :: top
80 !
81 !
82 INTEGER, INTENT(IN) :: ki ! number of points
83 INTEGER, INTENT(IN) :: kluout ! output listing logical unit
84 !
85 !* 0.2 Declaration of local variables
86 ! ------------------------------
87 !
88 LOGICAL, PARAMETER :: gcanopy=.false.
89  CHARACTER(LEN=3), PARAMETER :: ybem='BEM'
90 
91 REAL, PARAMETER :: pptstep = 300.
92 INTEGER, PARAMETER :: jpyear = 2004 ! Current year (UTC)
93 
94 !local variable
95 INTEGER :: imonth ! Current month (UTC)
96 INTEGER :: iday ! Current day (UTC)
97 REAL :: ztime ! Time at start of the run (s)
98 !
99 REAL, DIMENSION(KI) :: zu_roof
100 REAL, DIMENSION(KI) :: zu_wall
101 REAL, DIMENSION(KI) :: zt_canyon
102 REAL, DIMENSION(KI) :: zq_canyon
103 REAL, DIMENSION(KI) :: zu_canyon
104 REAL, DIMENSION(KI) :: zz_lowcan
105 REAL, DIMENSION(KI) :: zdir_sw
106 REAL, DIMENSION(KI) :: zsca_sw
107 !
108  CHARACTER(LEN=3) :: himplicit_wind
109  CHARACTER(LEN=6) :: hz0h
110  CHARACTER(LEN=5) :: ych_bem
111 INTEGER :: jj
112 INTEGER :: jforc_step
113 INTEGER :: inb_step_atm
114 !
115 REAL, DIMENSION(KI) :: zfrac_panel
116 REAL, DIMENSION(KI) :: zalb_panel
117 !! GREGOIRE 13/03
118 REAL, DIMENSION(KI) :: zroad
119 REAL, DIMENSION(KI) :: zgarden
120 REAL, DIMENSION(KI) :: zsvf_garden
121 !! GREGOIRE 13/03
122 REAL, DIMENSION(KI) :: zzref
123 REAL, DIMENSION(KI) :: zps
124 REAL, DIMENSION(KI) :: zpa
125 REAL, DIMENSION(KI) :: zexns
126 REAL, DIMENSION(KI) :: zexna
127 REAL, DIMENSION(KI) :: zta
128 REAL, DIMENSION(KI) :: zqa
129 REAL, DIMENSION(KI) :: zrhoa
130 REAL, DIMENSION(KI) :: zlw_rad
131 REAL, DIMENSION(KI) :: zasnow_roof
132 REAL, DIMENSION(KI) :: zasnow_road
133 REAL, DIMENSION(KI) :: zdn_roof
134 REAL, DIMENSION(KI) :: zdf_roof
135 REAL, DIMENSION(KI) :: zdn_road
136 REAL, DIMENSION(KI) :: zdf_road
137 REAL, DIMENSION(KI) :: zemis_garden
138 REAL, DIMENSION(KI) :: zesnow_road
139 REAL, DIMENSION(KI) :: ztssnow_road
140 REAL, DIMENSION(KI) :: zws_roof
141 REAL, DIMENSION(KI) :: zws_road
142  CHARACTER(LEN=4) :: hsnow_roof
143 REAL, DIMENSION(KI,1):: zwsnow_roof
144 REAL, DIMENSION(KI,1) :: ztsnow_roof
145 REAL, DIMENSION(KI,1) :: zrsnow_roof
146 REAL, DIMENSION(KI) :: ztssnow_roof
147 REAL, DIMENSION(KI) :: zesnow_roof
148  CHARACTER(LEN=4) :: hsnow_road
149 REAL, DIMENSION(KI,1) :: zwsnow_road
150 REAL, DIMENSION(KI,1) :: ztsnow_road
151 REAL, DIMENSION(KI,1) :: zrsnow_road
152 REAL, DIMENSION(KI) :: zrr
153 REAL, DIMENSION(KI) :: zsr
154 REAL, DIMENSION(KI) :: zqsat_roof
155 REAL, DIMENSION(KI) :: zqsat_road
156 REAL, DIMENSION(KI) :: zdelt_roof
157 REAL, DIMENSION(KI) :: zdelt_road
158 REAL, DIMENSION(KI) :: zabs_sw_roof
159 REAL, DIMENSION(KI) :: zabs_sw_road
160 REAL, DIMENSION(KI) :: zabs_sw_wall_a
161 REAL, DIMENSION(KI) :: zabs_sw_wall_b
162 REAL, DIMENSION(KI) :: zabs_sw_garden
163 REAL, DIMENSION(KI) :: zabs_sw_greenroof
164 REAL, DIMENSION(KI) :: zabs_sw_panel
165 REAL, DIMENSION(KI) :: zabs_sw_snow_roof
166 REAL, DIMENSION(KI) :: zabs_sw_snow_road
167 REAL, DIMENSION(KI) :: zrec_sw_road
168 REAL, DIMENSION(KI) :: zrec_sw_snow_road
169 REAL, DIMENSION(KI) :: zrec_sw_wall_a
170 REAL, DIMENSION(KI) :: zrec_sw_wall_b
171 REAL, DIMENSION(KI) :: zrec_sw_garden
172 REAL, DIMENSION(KI) :: zrec_sw_roof
173 REAL, DIMENSION(KI) :: zabs_lw_roof ! absorbed IR rad by roof
174 REAL, DIMENSION(KI) :: zabs_lw_snow_roof ! absorbed IR rad by snow on roof
175 REAL, DIMENSION(KI) :: zabs_lw_road ! absorbed IR rad by road
176 REAL, DIMENSION(KI) :: zabs_lw_snow_road ! absorbed IR rad by snow on road
177 REAL, DIMENSION(KI) :: zabs_lw_wall_a ! absorbed IR rad by wall
178 REAL, DIMENSION(KI) :: zabs_lw_wall_b ! absorbed IR rad by wall
179 REAL, DIMENSION(KI) :: zdir_alb_town
180 REAL, DIMENSION(KI) :: zsca_alb_town
181 REAL, DIMENSION(KI) :: zsw_rad_garden
182 REAL, DIMENSION(KI) :: zabs_sw_win
183 REAL, DIMENSION(KI) :: zrec_sw_win
184 REAL, DIMENSION(KI) :: zref_sw_grnd
185 REAL, DIMENSION(KI) :: zref_sw_fac
186 REAL,DIMENSION(KI) :: zt1 ! intermediate variable
187 REAL,DIMENSION(KI) :: ztn ! intermediate variable
188 REAL,DIMENSION(KI,TOP%NROAD_LAYER ) :: zt_road ! road layers temperatures
189 REAL,DIMENSION(KI,TOP%NROOF_LAYER) :: zt_roof ! roof layers temperatures
190 REAL,DIMENSION(KI,TOP%NWALL_LAYER) :: zt_wall_a ! wall layers temperatures
191 REAL,DIMENSION(KI,TOP%NWALL_LAYER) :: zt_wall_b ! wall layers temperatures
192 REAL,DIMENSION(KI,BOP%NFLOOR_LAYER ) :: zt_floor ! building floor temperature
193 REAL,DIMENSION(KI,BOP%NFLOOR_LAYER ) :: zt_mass ! building mass temperature
194 REAL, DIMENSION(KI) :: zts_garden
195 REAL, DIMENSION(KI) :: zt_win1
196 REAL, DIMENSION(KI) :: zlw_wa_to_wb ! longwave exchange coefficients
197 REAL, DIMENSION(KI) :: zlw_wa_to_r
198 REAL, DIMENSION(KI) :: zlw_wb_to_r
199 REAL, DIMENSION(KI) :: zlw_wa_to_nr
200 REAL, DIMENSION(KI) :: zlw_wb_to_nr
201 REAL, DIMENSION(KI) :: zlw_wa_to_g
202 REAL, DIMENSION(KI) :: zlw_wb_to_g
203 REAL, DIMENSION(KI) :: zlw_wa_to_win
204 REAL, DIMENSION(KI) :: zlw_wb_to_win
205 REAL, DIMENSION(KI) :: zlw_r_to_wa
206 REAL, DIMENSION(KI) :: zlw_r_to_wb
207 REAL, DIMENSION(KI) :: zlw_r_to_win
208 REAL, DIMENSION(KI) :: zlw_g_to_wa
209 REAL, DIMENSION(KI) :: zlw_g_to_wb
210 REAL, DIMENSION(KI) :: zlw_g_to_win
211 REAL, DIMENSION(KI) :: zlw_s_to_wa
212 REAL, DIMENSION(KI) :: zlw_s_to_wb
213 REAL, DIMENSION(KI) :: zlw_s_to_r
214 REAL, DIMENSION(KI) :: zlw_s_to_nr
215 REAL, DIMENSION(KI) :: zlw_s_to_g
216 REAL, DIMENSION(KI) :: zlw_s_to_win
217 REAL, DIMENSION(KI) :: zlw_win_to_wa
218 REAL, DIMENSION(KI) :: zlw_win_to_wb
219 REAL, DIMENSION(KI) :: zlw_win_to_r
220 REAL, DIMENSION(KI) :: zlw_win_to_nr
221 REAL, DIMENSION(KI) :: zlw_win_to_g
222 REAL, DIMENSION(KI) :: zlw_nr_to_wa
223 REAL, DIMENSION(KI) :: zlw_nr_to_wb
224 REAL, DIMENSION(KI) :: zlw_nr_to_win
225 REAL, DIMENSION(KI) :: zti_bld
226 REAL, DIMENSION(KI) :: zrn_roof ! net radiation over roof
227 REAL, DIMENSION(KI) :: zh_roof ! sensible heat flux over roof
228 REAL, DIMENSION(KI) :: zle_roof ! latent heat flux over roof
229 REAL, DIMENSION(KI) :: zlew_roof ! latent heat flux over roof (snow)
230 REAL, DIMENSION(KI) :: zgflux_roof ! flux through the roof
231 REAL, DIMENSION(KI) :: zrunoff_roof ! runoff over the ground
232 REAL, DIMENSION(KI) :: zrn_road ! net radiation over road
233 REAL, DIMENSION(KI) :: zh_road ! sensible heat flux over road
234 REAL, DIMENSION(KI) :: zle_road ! latent heat flux over road
235 REAL, DIMENSION(KI) :: zlew_road ! latent heat flux over road (snow)
236 REAL, DIMENSION(KI) :: zgflux_road ! flux through the road
237 REAL, DIMENSION(KI) :: zrunoff_road ! runoff over the ground
238 REAL, DIMENSION(KI) :: zrn_wall_a ! net radiation over wall
239 REAL, DIMENSION(KI) :: zh_wall_a ! sensible heat flux over wall
240 REAL, DIMENSION(KI) :: zle_wall_a ! latent heat flux over wall
241 REAL, DIMENSION(KI) :: zgflux_wall_a ! flux through the wall
242 REAL, DIMENSION(KI) :: zrn_wall_b ! net radiation over wall
243 REAL, DIMENSION(KI) :: zh_wall_b ! sensible heat flux over wall
244 REAL, DIMENSION(KI) :: zle_wall_b ! latent heat flux over wall
245 REAL, DIMENSION(KI) :: zgflux_wall_b ! flux through the wall
246 REAL, DIMENSION(KI) :: zrn_blt ! net radiation over built surf
247 REAL, DIMENSION(KI) :: zh_blt ! sensible heat flux over built surf
248 REAL, DIMENSION(KI) :: zle_blt ! latent heat flux over built surf
249 REAL, DIMENSION(KI) :: zgflux_blt ! flux through the built surf
250 REAL, DIMENSION(KI) :: zrnsnow_roof ! net radiation over snow
251 REAL, DIMENSION(KI) :: zhsnow_roof ! sensible heat flux over snow
252 REAL, DIMENSION(KI) :: zlesnow_roof ! latent heat flux over snow
253 REAL, DIMENSION(KI) :: zgsnow_roof ! flux under the snow
254 REAL, DIMENSION(KI) :: zmelt_roof ! snow melt
255 REAL, DIMENSION(KI) :: zrnsnow_road ! net radiation over snow
256 REAL, DIMENSION(KI) :: zhsnow_road ! sensible heat flux over snow
257 REAL, DIMENSION(KI) :: zlesnow_road ! latent heat flux over snow
258 REAL, DIMENSION(KI) :: zgsnow_road ! flux under the snow
259 REAL, DIMENSION(KI) :: zmelt_road ! snow melt
260 REAL, DIMENSION(KI) :: zuw_road ! Momentum flux for roads
261 REAL, DIMENSION(KI) :: zuw_roof ! Momentum flux for roofs
262 REAL, DIMENSION(KI) :: zduwdu_road !
263 REAL, DIMENSION(KI) :: zduwdu_roof !
264 REAL, DIMENSION(KI) :: zustar_town ! friction velocity over town
265 REAL, DIMENSION(KI) :: zcd ! town averaged drag coefficient
266 REAL, DIMENSION(KI) :: zcdn ! town averaged neutral drag coefficient
267 REAL, DIMENSION(KI) :: zch_town ! town averaged heat transfer coefficient
268 REAL, DIMENSION(KI) :: zri_town ! town averaged Richardson number
269 REAL, DIMENSION(KI) :: zresa_town ! town aerodynamical resistance
270 REAL, DIMENSION(KI) :: zdqs_town ! heat storage inside town
271 REAL, DIMENSION(KI) :: zqf_town ! total anthropogenic heat
272 REAL, DIMENSION(KI) :: zqf_bld ! anthropogenic heat flux of domestic heating
273 REAL, DIMENSION(KI) :: zflx_bld ! heat flux between inside of the bld
274 REAL, DIMENSION(KI) :: zac_roof ! roof conductance
275 REAL, DIMENSION(KI) :: zac_road ! road conductance
276 REAL, DIMENSION(KI) :: zac_wall ! wall conductance
277 REAL, DIMENSION(KI) :: zac_top ! top conductance
278 REAL, DIMENSION(KI) :: zac_garden ! garden conductance
279 REAL, DIMENSION(KI) :: zac_roof_wat ! roof water conductance
280 REAL, DIMENSION(KI) :: zac_road_wat ! roof water conductance
281 REAL, DIMENSION(KI) :: zh_bld_cool
282 REAL, DIMENSION(KI) :: zt_bld_cool
283 REAL, DIMENSION(KI) :: zh_bld_heat
284 REAL, DIMENSION(KI) :: zle_bld_cool
285 REAL, DIMENSION(KI) :: zle_bld_heat
286 REAL, DIMENSION(KI) :: zh_waste
287 REAL, DIMENSION(KI) :: zle_waste
288 REAL, DIMENSION(KI) :: zhvac_cool
289 REAL, DIMENSION(KI) :: zhvac_heat
290 REAL, DIMENSION(KI) :: zt_win2
291 REAL, DIMENSION(KI) :: zqi_bld
292 REAL, DIMENSION(KI) :: zm_sys
293 REAL, DIMENSION(KI) :: zq_sys
294 REAL, DIMENSION(KI) :: zt_sys
295 REAL, DIMENSION(KI) :: ztr_sw_win
296 REAL, DIMENSION(KI) :: zfan_power
297 REAL, DIMENSION(KI) :: zabs_lw_win
298 REAL, DIMENSION(KI) :: zemit_lw_fac
299 REAL, DIMENSION(KI) :: zemit_lw_road
300 REAL, DIMENSION(KI) :: zt_rad_ind
301 REAL, DIMENSION(KI) :: zhu_bld
302 REAL, DIMENSION(KI) :: ztsun
303 REAL, DIMENSION(KI) :: zzenith
304 REAL, DIMENSION(KI) :: zazim
305 REAL, DIMENSION(KI) :: zalb_garden
306 REAL, DIMENSION(KI) :: zalb_greenroof
307 REAL, DIMENSION(KI) :: zaux_max
308 REAL, DIMENSION(KI) :: zcap_sys
309 REAL, DIMENSION(KI) :: zcop
310 REAL, DIMENSION(KI) :: zpew_a_coef
311 REAL, DIMENSION(KI) :: zpew_b_coef
312 REAL, DIMENSION(KI) :: ztot_sw
313 REAL, DIMENSION(KI) :: ztout_eq
314 REAL, DIMENSION(KI) :: zt_sky
315 REAL, DIMENSION(KI) :: zf_water_cond
316 !
317 !new for shading
318 REAL, DIMENSION(KI) :: ze_shading
319 LOGICAL, DIMENSION(KI) :: gshad_day
320 LOGICAL, DIMENSION(KI) :: gshade
321 LOGICAL, DIMENSION(KI) :: gnatvent_night
322 !
323  CHARACTER(LEN=6) :: ycool_coil
324  CHARACTER(LEN=6) :: yheat_coil
325  CHARACTER(LEN=4),DIMENSION(KI) :: ynatvent
326 !
327 ! Case greenroof
328 REAL, DIMENSION(KI) :: zrn_greenroof
329 REAL, DIMENSION(KI) :: zh_greenroof
330 REAL, DIMENSION(KI) :: zle_greenroof
331 REAL, DIMENSION(KI) :: zgflux_greenroof
332 REAL, DIMENSION(KI) :: zrunoff_greenroof
333 REAL, DIMENSION(KI) :: zdrain_greenroof
334 REAL, DIMENSION(KI) :: zuw_greenroof
335 REAL, DIMENSION(KI) :: zg_greenroof_roof
336 REAL, DIMENSION(KI) :: zrn_strlroof
337 REAL, DIMENSION(KI) :: zh_strlroof
338 REAL, DIMENSION(KI) :: zle_strlroof
339 REAL, DIMENSION(KI) :: zgflux_strlroof
340 REAL, DIMENSION(KI) :: zrunoff_strlroof
341 !
342 ! Road irrigation (not used here)
343 LOGICAL :: gpar_rd_irrig = .false.
344 REAL, DIMENSION(KI) :: zrd_start_month
345 REAL, DIMENSION(KI) :: zrd_end_month
346 REAL, DIMENSION(KI) :: zrd_start_hour
347 REAL, DIMENSION(KI) :: zrd_end_hour
348 REAL, DIMENSION(KI) :: zrd_24h_irrig
349 REAL, DIMENSION(KI) :: zirrig_road
350 !
351 INTEGER, DIMENSION(:), ALLOCATABLE :: isize_omp
352 !
353 !RJ: temp variable for OMP region handling
354 #ifdef RJ_OFIX
355 INTEGER :: inblocktot
356 #endif
357 !
358 REAL(KIND=JPRB) :: zhook_handle
359 !
360 !* 0. Initialization
361 ! --------------
362 !
363 IF (lhook) CALL dr_hook('HVAC_AUTOSIZE',0,zhook_handle)
364 !
365 himplicit_wind = 'NEW'
366 !
367 ! Date
368 imonth = 7
369 iday = 12
370 ztime = 0.
371 !
372 ! Design parameters
373 zzref = 50.
374 zps = 101325.
375 zqa = 0.011
376 zu_canyon = 2.5
377 zaux_max = 0.
378 zt_sky = 253.15
379 !
380 !
381 ! Initialization
382 b%CUR%XM_SYS_RAT = 0.
383 b%CUR%XCAP_SYS_RAT = 0.
384 b%CUR%XCAP_SYS_HEAT = 0.
385 zlw_rad= 300.
386 !
387 ! Non-used parameters
388 zz_lowcan = zzref
389 hz0h = 'KAND07'
390 ych_bem = 'DOE-2'
391 
392 
393 inb_step_atm = 3600*24*4/pptstep
394 zpa = zps
395 zexns = (zps/xp00)**(xrd/xcpd)
396 zexna = (zpa/xp00)**(xrd/xcpd)
397 hsnow_roof = 'NONE'
398 hsnow_road = 'NONE'
399 zasnow_roof = 0.8
400 zasnow_road = 0.8
401 zdn_roof = 0.0
402 zdf_roof = 1.0
403 zdn_road = 0.0
404 zdf_road = 1.0
405 zemis_garden = 1.0
406 zesnow_road = 1.0
407 ztssnow_road = 273.0
408 zws_roof = 0.0
409 zws_road = 0.0
410 zwsnow_roof = 0.0
411 ztsnow_roof = 273.0
412 zrsnow_roof = 0.0
413 ztssnow_roof = 273.0
414 zesnow_roof = 0.0
415 zwsnow_road = 0.0
416 ztsnow_road = 273.0
417 zrsnow_road = 0.0
418 zrr = 0.0
419 zsr = 0.0
420 zqsat_roof = 0.015
421 zqsat_road = 0.015
422 zdelt_roof = 0.0
423 zdelt_road = 0.0
424 zts_garden = 300.
425 zpew_a_coef = 0.5
426 zpew_b_coef = 0.5
427 ze_shading(:) = 0.
428 gnatvent_night(:) = .false.
429 gshade(:) = .false.
430 gshad_day(:) = .false.
431 ! solar panels are not taken into account in the building's HVAC equipment sizing process
432 zfrac_panel = 0.
433 zalb_panel = 0.1
434 !
435 ! greenroofs are not taken into account in the building's HVAC equipment sizing process
436 zrn_greenroof(:) = 0.
437 zh_greenroof(:) = 0.
438 zle_greenroof(:) = 0.
439 zgflux_greenroof(:) = 0.
440 zuw_greenroof(:) = 0.
441 zrunoff_greenroof(:) = 0.
442 zdrain_greenroof(:) = 0.
443 !* one supposes zero conduction heat flux between the greenroof and the roof.
444 zg_greenroof_roof(:) = 0.
445 !
446 !* road watering (not used)
447 zrd_start_month= 1.
448 zrd_end_month = 1.
449 zrd_start_hour = 0.
450 zrd_end_hour = 24.
451 zrd_24h_irrig = 0.
452 !
453 !* A. Autosize of the heating system
454 ! ---------------------------------
455 !
456 ycool_coil = 'IDEAL '
457 yheat_coil = 'IDEAL '
458 ynatvent(:) = 'NONE'
459 zf_water_cond(:) = 0.
460 zrhoa = 1.30
461 ztout_eq(:) = (b%CUR%XT_SIZE_MIN(:) + zt_sky(:))/2.
462 !
463 zu_roof(:) = 0.0
464 DO jj=1,top%NROOF_LAYER
465  zu_roof(:) = zu_roof(:) + t%CUR%XD_ROOF(:,jj)/t%CUR%XTC_ROOF(:,jj)
466 END DO
467 zu_roof(:) = zu_roof(:) + 1./10. + 1./25.
468 zu_roof(:) = 1. / zu_roof(:)
469 !
470 zu_wall(:) = 0.0
471 DO jj=1,top%NWALL_LAYER
472  zu_wall(:) = zu_wall(:) + t%CUR%XD_WALL(:,jj)/t%CUR%XTC_WALL(:,jj)
473 END DO
474 zu_wall(:) = zu_wall(:) + 1./10. + 1./25.
475 zu_wall(:) = 1. / zu_wall(:)
476 !
477 ! Heating Coil Capacity [W m-2(bld)]
478 b%CUR%XCAP_SYS_HEAT(:) = zu_wall(:) * t%CUR%XWALL_O_BLD(:) * (b%CUR%XTHEAT_TARGET(:) - ztout_eq(:)) &
479  + b%CUR%XU_WIN(:) * b%CUR%XGLAZ_O_BLD(:) * (b%CUR%XTHEAT_TARGET(:) - ztout_eq(:)) &
480  + zu_roof(:) * (b%CUR%XTHEAT_TARGET(:) - ztout_eq(:)) &
481  - b%CUR%XQIN(:) * t%CUR%XBLD_HEIGHT(:) / b%CUR%XFLOOR_HEIGHT(:)* &
482  (1 - b%CUR%XQIN_FLAT(:)) &
483  + b%CUR%XINF(:) * t%CUR%XBLD_HEIGHT(:) / 3600* zrhoa(:) * xcpd * &
484  (b%CUR%XTHEAT_TARGET(:) - b%CUR%XT_SIZE_MIN(:)) &
485  + b%CUR%XV_VENT(:) * t%CUR%XBLD_HEIGHT(:) / 3600* zrhoa(:) * xcpd * &
486  (b%CUR%XTHEAT_TARGET(:) - b%CUR%XT_SIZE_MIN(:))
487 !
488 ! Rated air flow rate [kg s-1 m-2(bld)]
489 b%CUR%XM_SYS_RAT(:) = b%CUR%XCAP_SYS_HEAT(:)/xcpd/(323.15 - b%CUR%XTHEAT_TARGET(:))
490 !
491 !
492 !* B. Autosize of the cooling system
493 ! -----------------------------------
494 !
495 zrhoa = 1.15
496 ! Initial values
497 ! initial value for air temperature and outdoor wall/roof/window/road temperature
498 zt_canyon(:) = 10.7/2 * sin(2*xpi/(24*3600) * (ztime+16*3600)) + (b%CUR%XT_SIZE_MAX(:)-10.7/2)
499 !! !ZTI_BLD = 297.16 ! indoor air temperature
500 DO jj=1,ki
501  zti_bld(jj) = max(b%CUR%XTHEAT_TARGET(jj),zt_canyon(jj)) ! indoor air temperature
502 ENDDO
503 zt_roof(:,top%NROOF_LAYER) = zti_bld(:) ! roof layers temperatures
504 zt_wall_a(:,top%NWALL_LAYER) = zti_bld(:) ! wall layers temperatures
505 DO jj=1,bop%NFLOOR_LAYER
506  zt_floor(:,jj) = zti_bld(:) ! building floor temperature
507  zt_mass(:,jj) = zti_bld(:) ! building mass temperature
508 ENDDO
509 
510 !ROAD
511 DO jj=1,top%NROAD_LAYER
512  zt_road(:,jj) = zt_canyon(:)
513 ENDDO
514 !ROOF
515 zt_roof(:,1) = zt_canyon(:)
516 zt1(:)=zt_roof(:,1)
517 ztn(:)=zt_roof(:,top%NROOF_LAYER)
518 IF (top%NROOF_LAYER .GT. 2) CALL interp_proftwall(zt1, ztn, t%CUR%XD_ROOF, zt_roof)
519 !WALL
520 zt_wall_a(:,1) = zt_canyon(:)
521 zt1(:)=zt_wall_a(:,1)
522 ztn(:)=zt_wall_a(:,top%NWALL_LAYER)
523 IF (top%NWALL_LAYER .GT. 2) CALL interp_proftwall(zt1, ztn, t%CUR%XD_WALL, zt_wall_a)
524 zt_wall_b = zt_wall_a
525 !OUTDOOR WINDOW TEMPERATURE
526 zt_win1(:) = zt_canyon(:)
527 !!
528 zt_win2(:) = zti_bld(:)
529 !!
530 zq_canyon = 0.011
531 zqi_bld = 0.011
532 zt_sys = zti_bld
533 zq_sys = zqi_bld
534 !
535 !! GREGOIRE 13/03
536 zroad(:) = t%CUR%XROAD(:)+t%CUR%XGARDEN(:)
537 zgarden(:) = 0.
538 zalb_garden(:) = 0.
539 zalb_greenroof(:) = 0.
540 zac_garden(:) = 0.
541 zsvf_garden(:) = 0.
542 !
543 !
544 !RJ: fix for OMP races
545 !RJ: run parallely for prep, but pseudo serially for offline (already in OMP here)
546 #ifdef RJ_OFIX
547 inblocktot=nblocktot
548 !RJ: next one prevents double split in OMP parallel region
549 !$ IF(OMP_IN_PARALLEL()) INBLOCKTOT=1
550 ALLOCATE(isize_omp(0:inblocktot-1))
551  CALL get_sizes_parallel(dtco, dgu, ug, u, &
552  inblocktot,ki,0,isize_omp)
553 #else
554 ALLOCATE(isize_omp(0:0))
555  CALL get_sizes_parallel(dtco, dgu, ug, u, &
556  1,ki,0,isize_omp)
557 #endif
558 
559 DO jforc_step= 1,inb_step_atm
560 !
561 ! Daily outdoor air temperature cycle
562  zt_canyon(:) = 10.7/2 * sin(2*xpi/(24*3600) * (ztime+16*3600)) &
563  + (b%CUR%XT_SIZE_MAX(:)-10.7/2)
564  zta(:) = zt_canyon(:)
565 !
566 !
567 !* B.1 Solar radiation
568 ! ---------------
569 !
570  CALL sunpos(isize_omp, jpyear, imonth, iday, ztime, tg%XLON, tg%XLAT, ztsun, zzenith, zazim)
571 !
572  CALL sw_daycycle(ki, zzenith, ztot_sw)
573 !
574  zdir_sw(:) = 0.88 * ztot_sw(:) * 0.85 ! manual adjustment
575  zsca_sw(:) = 0.12 * ztot_sw(:) * 0.85 ! manual adjustment
576  WHERE (zdir_sw < 0.0)
577  zdir_sw = 0.0
578  END WHERE
579  WHERE (zsca_sw < 0.0)
580  zsca_sw = 0.0
581  END WHERE
582 
583 !
584  CALL urban_solar_abs(ybem, top%CROAD_DIR, top%CWALL_OPT, &
585  zdir_sw, zsca_sw, zzenith, zazim, &
586  t%CUR%XBLD, zgarden, t%CUR%XROAD_DIR, t%CUR%XROAD, t%CUR%XGREENROOF, &
587  t%CUR%XWALL_O_HOR, t%CUR%XCAN_HW_RATIO, &
588  t%CUR%XALB_ROOF, &
589  t%CUR%XALB_ROAD, t%CUR%XSVF_ROAD, t%CUR%XALB_WALL, t%CUR%XSVF_WALL, &
590  zfrac_panel, zalb_panel, &
591  zalb_garden, zsvf_garden, &
592  zalb_greenroof, &
593  zasnow_roof, zasnow_road, &
594  zdn_roof, zdf_roof, zdn_road, zdf_road, &
595  b%CUR%XGR, b%CUR%XABS_WIN, b%CUR%XSHGC, b%CUR%XSHGC_SH, b%CUR%XALB_WIN, &
596  zabs_sw_roof, zabs_sw_road, &
597  zabs_sw_wall_a, zabs_sw_wall_b, &
598  zabs_sw_garden, zabs_sw_greenroof, &
599  zabs_sw_snow_roof, zabs_sw_snow_road, &
600  zabs_sw_panel, &
601  zrec_sw_road, zrec_sw_snow_road, &
602  zrec_sw_wall_a, zrec_sw_wall_b, &
603  zrec_sw_garden, zrec_sw_roof, &
604  zdir_alb_town,zsca_alb_town, &
605  zsw_rad_garden, zabs_sw_win, zrec_sw_win, &
606  b%CUR%XTRAN_WIN, &
607  zref_sw_grnd, zref_sw_fac, ztr_sw_win, &
608  ze_shading, gshad_day, gshade )
609 !
610 !
611 !* B.2 LW properties
612 ! -------------
613 !
614  CALL urban_lw_coef(b%CUR%XGR, t%CUR%XBLD, zlw_rad, &
615  t%CUR%XEMIS_ROAD, t%CUR%XSVF_ROAD, t%CUR%XEMIS_WALL, t%CUR%XSVF_WALL, &
616  zemis_garden, t%CUR%XROAD, zgarden, &
617  zesnow_road, &
618  ztssnow_road, zt_wall_a(:,1), zt_wall_b(:,1), &
619  zt_road(:,1), zts_garden, zt_win1, &
620  zlw_wa_to_wb, zlw_wa_to_r, zlw_wb_to_r, &
621  zlw_wa_to_nr,zlw_wb_to_nr, &
622  zlw_wa_to_g, zlw_wb_to_g, &
623  zlw_wa_to_win, zlw_wb_to_win, &
624  zlw_r_to_wa, zlw_r_to_wb, zlw_r_to_win, &
625  zlw_g_to_wa, zlw_g_to_wb, zlw_g_to_win, &
626  zlw_s_to_wa, zlw_s_to_wb, zlw_s_to_r, &
627  zlw_s_to_nr, zlw_s_to_g, zlw_s_to_win, &
628  zlw_win_to_wa, zlw_win_to_wb, zlw_win_to_r, &
629  zlw_win_to_nr, zlw_win_to_g, &
630  zlw_nr_to_wa, zlw_nr_to_wb, zlw_nr_to_win )
631 !
632 !* B.3 TEB simulation
633 ! -------------
634 !
635  CALL teb(hz0h, himplicit_wind, top%CWALL_OPT, ybem, &
636  top%TTIME, ztsun, &
637  zt_canyon, zq_canyon, zu_canyon, &
638  zt_canyon, zq_canyon, zu_canyon, zz_lowcan, zti_bld, &
639  zt_roof, zt_road, zt_wall_a, zt_wall_b, &
640  zws_roof, zws_road, &
641  hsnow_roof, zwsnow_roof, ztsnow_roof, zrsnow_roof, &
642  zasnow_roof, ztssnow_roof, zesnow_roof, &
643  hsnow_road, zwsnow_road, ztsnow_road, zrsnow_road, &
644  zasnow_road, ztssnow_road, zesnow_road, &
645  zpew_a_coef, zpew_b_coef, &
646  zpew_a_coef, zpew_b_coef, &
647  zps, zpa, zexns, zexna, zta, zqa, zrhoa, zlw_rad, &
648  zrr, zsr, zzref, zzref, zu_canyon, &
649  t%CUR%XH_TRAFFIC, t%CUR%XLE_TRAFFIC, t%CUR%XH_INDUSTRY, t%CUR%XLE_INDUSTRY, &
650  pptstep, t%CUR%XZ0_TOWN, t%CUR%XBLD, zgarden, t%CUR%XROAD, t%CUR%XGREENROOF, &
651  t%CUR%XBLD_HEIGHT, t%CUR%XWALL_O_HOR, t%CUR%XCAN_HW_RATIO, t%CUR%XWALL_O_GRND, &
652  zdf_roof, zdn_roof, zdf_road, &
653  zdn_road, zqsat_roof, zqsat_road, zdelt_roof, zdelt_road,&
654  t%CUR%XEMIS_ROOF, t%CUR%XHC_ROOF, t%CUR%XTC_ROOF, t%CUR%XD_ROOF, &
655  t%CUR%XEMIS_ROAD, t%CUR%XHC_ROAD, t%CUR%XTC_ROAD, &
656  t%CUR%XD_ROAD, t%CUR%XEMIS_WALL, zts_garden, &
657  t%CUR%XHC_WALL, t%CUR%XTC_WALL, t%CUR%XD_WALL, zrn_roof, zh_roof, zle_roof,&
658  zlew_roof, zgflux_roof, zrunoff_roof, &
659  zrn_greenroof, zh_greenroof, zle_greenroof, &
660  zgflux_greenroof, zuw_greenroof, &
661  zrunoff_greenroof,zdrain_greenroof, &
662  zrn_strlroof, zh_strlroof, zle_strlroof, zgflux_strlroof,&
663  zrunoff_strlroof, &
664  zrn_road, zh_road, &
665  zle_road, zlew_road, zgflux_road, zrunoff_road, &
666  zrn_wall_a, zh_wall_a, zle_wall_a, zgflux_wall_a, &
667  zrn_wall_b, zh_wall_b, zle_wall_b, zgflux_wall_b, &
668  zrn_blt, zh_blt, zle_blt, zgflux_blt, &
669  zrnsnow_roof, zhsnow_roof, zlesnow_roof, zgsnow_roof, &
670  zmelt_roof, &
671  zrnsnow_road, zhsnow_road, zlesnow_road, zgsnow_road, &
672  zmelt_road, &
673  zg_greenroof_roof, &
674  zuw_road, zuw_roof, zduwdu_road, zduwdu_roof, &
675  zustar_town, zcd, zcdn, zch_town, zri_town, &
676  zresa_town, zdqs_town, zqf_town, zqf_bld, zflx_bld, &
677  zac_roof, zac_road, zac_wall, zac_top, zac_garden, &
678  zac_roof_wat, zac_road_wat, zabs_sw_roof, zabs_lw_roof, &
679  zabs_sw_snow_roof, zabs_lw_snow_roof, zabs_sw_road, &
680  zabs_lw_road, zabs_sw_snow_road, zabs_lw_snow_road, &
681  zabs_sw_wall_a, zabs_lw_wall_a, &
682  zabs_sw_wall_b, zabs_lw_wall_b, &
683  zlw_wa_to_wb, &
684  zlw_wa_to_r, zlw_wb_to_r, &
685  zlw_wa_to_nr, zlw_wb_to_nr, &
686  zlw_r_to_wa, zlw_r_to_wb, &
687  zlw_g_to_wa, zlw_g_to_wb, &
688  zlw_s_to_wa, zlw_s_to_wb, zlw_s_to_r, &
689  zlw_s_to_nr, zlw_nr_to_wa, zlw_nr_to_wb, &
690  zlw_nr_to_win, zlw_wa_to_win, zlw_wb_to_win, &
691  zlw_g_to_win, &
692  zlw_r_to_win, zlw_s_to_win, zlw_win_to_wa, zlw_win_to_wb,&
693  zlw_win_to_r, zlw_win_to_nr, &
694  ynatvent, &
695  ycool_coil, zf_water_cond, yheat_coil, bop%LAUTOSIZE, &
696  iday, zaux_max, zt_floor, zt_mass, zh_bld_cool, &
697  zt_bld_cool, zh_bld_heat, zle_bld_cool, zle_bld_heat, &
698  zh_waste, zle_waste, b%CUR%XF_WASTE_CAN, zhvac_cool, zhvac_heat,&
699  b%CUR%XQIN, b%CUR%XQIN_FRAD, b%CUR%XQIN_FLAT, b%CUR%XGR, b%CUR%XEFF_HEAT, &
700  b%CUR%XINF, b%CUR%XTCOOL_TARGET, b%CUR%XTHEAT_TARGET, b%CUR%XHR_TARGET, zt_win2, &
701  zqi_bld, b%CUR%XV_VENT, b%CUR%XCAP_SYS_HEAT, b%CUR%XCAP_SYS_RAT, b%CUR%XT_ADP, &
702  b%CUR%XM_SYS_RAT, b%CUR%XCOP_RAT, zcap_sys, zm_sys, zcop, zq_sys, &
703  zt_sys, ztr_sw_win, zfan_power, b%CUR%XHC_FLOOR, b%CUR%XTC_FLOOR, &
704  b%CUR%XD_FLOOR, zt_win1, zabs_sw_win, zabs_lw_win, &
705  b%CUR%XUGG_WIN, zemit_lw_fac, &
706  zemit_lw_road, zt_rad_ind, zhu_bld, ztime, ze_shading, &
707  gnatvent_night(:), b%CUR%XN_FLOOR, t%CUR%XWALL_O_BLD, b%CUR%XGLAZ_O_BLD, &
708  b%CUR%XMASS_O_BLD, b%CUR%XFLOOR_HW_RATIO, b%CUR%XF_FLOOR_MASS, b%CUR%XF_FLOOR_WALL, &
709  b%CUR%XF_FLOOR_WIN, b%CUR%XF_FLOOR_ROOF, b%CUR%XF_WALL_FLOOR, b%CUR%XF_WALL_MASS, &
710  b%CUR%XF_WALL_WIN, b%CUR%XF_WIN_FLOOR, b%CUR%XF_WIN_MASS, b%CUR%XF_WIN_WALL, &
711  b%CUR%XF_MASS_FLOOR, b%CUR%XF_MASS_WALL, b%CUR%XF_MASS_WIN, gcanopy, ych_bem, &
712  t%CUR%XROUGH_ROOF, t%CUR%XROUGH_WALL, b%CUR%XF_WIN_WIN, &
713  gpar_rd_irrig, zrd_start_month, zrd_end_month, &
714  zrd_start_hour, zrd_end_hour, zrd_24h_irrig, zirrig_road )
715 !
716 !
717 ! Time update
718  ztime = ztime + pptstep
719  IF (ztime >= 86400) THEN
720  ztime = 0.0
721  iday = iday + 1
722  END IF
723 !
724 ENDDO
725 
726 !
727 !
728 !
729 ! -----------------------------------------------------------
730 ! Print autosize results
731 ! -----------------------------------------------------------
732 !
733 WRITE(kluout,*) ' '
734 WRITE(kluout,*) ' --------------------------------'
735 WRITE(kluout,*) ' HVAC AUTOSIZE CALCULATIONS '
736 WRITE(kluout,*) ' '
737 WRITE(kluout,*) ' Rated mass flow rate:'
738 WRITE(kluout,*) ' ',maxval(b%CUR%XM_SYS_RAT), 'kg s-1 m-2(bld)'
739 WRITE(kluout,*) ' ',minval(b%CUR%XM_SYS_RAT), 'kg s-1 m-2(bld)'
740 WRITE(kluout,*) ' Rated cooling system capacity:'
741 WRITE(kluout,*) ' ',maxval(b%CUR%XCAP_SYS_RAT), 'W m-2(bld)'
742 WRITE(kluout,*) ' ',minval(b%CUR%XCAP_SYS_RAT), 'W m-2(bld)'
743 WRITE(kluout,*) ' Rated heating sysem capacity:'
744 WRITE(kluout,*) ' ',maxval(b%CUR%XCAP_SYS_HEAT), 'W m-2(bld)'
745 WRITE(kluout,*) ' ',minval(b%CUR%XCAP_SYS_HEAT), 'W m-2(bld)'
746 WRITE(kluout,*) ' --------------------------------'
747 WRITE(kluout,*) ' '
748 IF (lhook) CALL dr_hook('HVAC_AUTOSIZE',1,zhook_handle)
749 !
750  CONTAINS
751 !
752 SUBROUTINE interp_proftwall(PT1, PTN, PD, PT)
753 !interpolation of vertical profile for 'wall' : roof/wall
754 !arguments
755 REAL, DIMENSION(:), INTENT(IN) :: pt1 !temperature layer 1
756 REAL, DIMENSION(:), INTENT(IN) :: ptn !temperature layer N
757 REAL, DIMENSION(:,:), INTENT(IN) :: pd !depth of all layers
758 REAL, DIMENSION(:,:), INTENT(OUT) :: pt !temperature of all layers
759 !local variables
760 INTEGER :: ilayer ! number of layers
761 REAL, DIMENSION(SIZE(PT1)) :: zdn ! total depth from mid layer 1 to mid layer n
762 REAL, DIMENSION(SIZE(PT1)) :: zd ! sequential depth in the calculation
763 INTEGER :: jj, ji
764 
765 ilayer=SIZE(pd,2)
766 DO ji=1,ki
767  zdn(ji) = 0.5 * pd(ji,1)
768  DO jj=2,ilayer-1
769  zdn(ji) = zdn(ji) + pd(ji,jj)
770  ENDDO
771  zdn(ji) = zdn(ji) + 0.5 * pd(ji,ilayer)
772 ENDDO
773 DO ji=1,ki
774  zd(ji) = 0.5*pd(ji,1)
775  DO jj=2,ilayer-1
776  zd(ji) = zd(ji) + 0.5*pd(ji,jj)
777  pt(ji,jj) = pt1(ji) + (ptn(ji)-pt1(ji)) / zdn(ji) * zd(ji)
778  zd(ji) = zd(ji) + 0.5 * pd(ji,jj)
779  ENDDO
780  pt(ji,1) = pt1(ji)
781  pt(ji,ilayer) = ptn(ji)
782 ENDDO
783 END SUBROUTINE interp_proftwall
784 
785 END SUBROUTINE hvac_autosize
subroutine get_sizes_parallel(DTCO, DGU, UG, U, KPROC, KSIZE, KPROCMIN, KSIZE_TASK, OSHADOWS)
subroutine sw_daycycle(KI, PZENITH, PTOT_SW)
Definition: sw_daycycle.F90:6
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 interp_proftwall(PT1, PTN, PD, PT)
subroutine sunpos(KSIZE_OMP, KYEAR, KMONTH, KDAY, PTIME, PLON, PLAT, PTSUN, PZENITH, PAZIMSOL)
Definition: sunpos.F90:6
subroutine hvac_autosize(BDD, DTCO, DGU, B, BOP, UG, U, TG, T, TOP, KI, KLUOUT)
subroutine urban_solar_abs(HBEM, HROAD_DIR, HWALL_OPT, PDIR_SW, PSCA_SW, PZENITH, PAZIM, PBLD, PGARDEN, PROAD_DIR, PROAD, PFRAC_GR, PWALL_O_HOR, PCAN_HW_RATIO, PALB_ROOF, PALB_ROAD, PSVF_ROAD, PALB_WALL, PSVF_WALL, PFRAC_PANEL, PALB_PANEL, PALB_GARDEN, PSVF_GARDEN, PALB_GREENROOF, PASNOW_ROOF, PASNOW_ROAD, PDN_ROOF, PDF_ROOF, PDN_ROAD, PDF_ROAD, PGR, PABS_WIN, PSHGC, PSHGC_SH, PALB_WIN, PABS_SW_ROOF, PABS_SW_ROAD, PABS_SW_WALL_A, PABS_SW_WALL_B, PABS_SW_GARDEN, PABS_SW_GREENROOF, PABS_SW_SNOW_ROOF, PABS_SW_SNOW_ROAD, PABS_SW_SOLAR_PANEL, PREC_SW_ROAD, PREC_SW_SNOW_ROAD, PREC_SW_WALL_A, PREC_SW_WALL_B, PREC_SW_GARDEN, PREC_SW_ROOF, PDIR_ALB_TOWN, PSCA_ALB_TOWN, PSW_RAD_GARDEN, PABS_SW_WIN, PREC_SW_WIN, PTRAN_WIN, PREF_SW_GRND, PREF_SW_FAC, PTR_SW_WIN, PE_SHADING, OSHAD_DAY, OSHADE)
subroutine teb(HZ0H, HIMPLICIT_WIND, HWALL_OPT, HBEM, TPTIME, PTSUN, PT_CANYON, PQ_CANYON, PU_CANYON, PT_LOWCAN, PQ_LOWCAN, PU_LOWCAN, PZ_LOWCAN, PTI_BLD, PT_ROOF, PT_ROAD, PT_WALL_A, PT_WALL_B, PWS_ROOF, PWS_ROAD, HSNOW_ROOF, PWSNOW_ROOF, PTSNOW_ROOF, PRSNOW_ROOF, PASNOW_ROOF, PTSSNOW_ROOF, PESNOW_ROOF, HSNOW_ROAD, PWSNOW_ROAD, PTSNOW_ROAD, PRSNOW_ROAD, PASNOW_ROAD, PTSSNOW_ROAD, PESNOW_ROAD, PPEW_A_COEF, PPEW_B_COEF, PPEW_A_COEF_LOWCAN, PPEW_B_COEF_LOWCAN, PPS, PPA, PEXNS, PEXNA, PTA, PQA, PRHOA, PLW_RAD, PRR, PSR, PZREF, PUREF, PVMOD, PH_TRAFFIC, PLE_TRAFFIC, PH_INDUSTRY, PLE_INDUSTRY, PTSTEP, PZ0_TOWN, PBLD, PGARDEN, PROAD, PFRAC_GR, PBLD_HEIGHT, PWALL_O_HOR, PCAN_HW_RATIO, PWALL_O_GRND, PDF_ROOF, PDN_ROOF, PDF_ROAD, PDN_ROAD, PQSAT_ROOF, PQSAT_ROAD, PDELT_ROOF, PDELT_ROAD, PEMIS_ROOF, PHC_ROOF, PTC_ROOF, PD_ROOF, PEMIS_ROAD, PHC_ROAD, PTC_ROAD, PD_ROAD, PEMIS_WALL, PTS_GARDEN, PHC_WALL, PTC_WALL, PD_WALL, PRN_ROOF, PH_ROOF, PLE_ROOF, PLEW_ROOF, PGFLUX_ROOF, PRUNOFF_ROOF, PRN_GREENROOF, PH_GREENROOF, PLE_GREENROOF, PGFLUX_GREENROOF, PUW_GREENROOF, PRUNOFF_GREENROOF, PDRAIN_GREENROOF, PRN_STRLROOF, PH_STRLROOF, PLE_STRLROOF, PGFLUX_STRLROOF, PRUNOFF_STRLROOF, PRN_ROAD, PH_ROAD, PLE_ROAD, PLEW_ROAD, PGFLUX_ROAD, PRUNOFF_ROAD, PRN_WALL_A, PH_WALL_A, PLE_WALL_A, PGFLUX_WALL_A, PRN_WALL_B, PH_WALL_B, PLE_WALL_B, PGFLUX_WALL_B, PRN_BLT, PH_BLT, PLE_BLT, PGFLUX_BLT, PRNSNOW_ROOF, PHSNOW_ROOF, PLESNOW_ROOF, PGSNOW_ROOF, PMELT_ROOF, PRNSNOW_ROAD, PHSNOW_ROAD, PLESNOW_ROAD, PGSNOW_ROAD, PMELT_ROAD, PG_GREENROOF_ROOF, PUW_ROAD, PUW_ROOF, PDUWDU_ROAD, PDUWDU_ROOF, PUSTAR_TOWN, PCD, PCDN, PCH_TOWN, PRI_TOWN, PRESA_TOWN, PDQS_TOWN, PQF_TOWN, PQF_BLD, PFLX_BLD, PAC_ROOF, PAC_ROAD, PAC_WALL, PAC_TOP, PAC_GARDEN, PAC_ROOF_WAT, PAC_ROAD_WAT, PABS_SW_ROOF, PABS_LW_ROOF, PABS_SW_SNOW_ROOF, PABS_LW_SNOW_ROOF, PABS_SW_ROAD, PABS_LW_ROAD, PABS_SW_SNOW_ROAD, PABS_LW_SNOW_ROAD, PABS_SW_WALL_A, PABS_LW_WALL_A, PABS_SW_WALL_B, PABS_LW_WALL_B, PLW_WA_TO_WB, PLW_WA_TO_R, PLW_WB_TO_R, PLW_WA_TO_NR, PLW_WB_TO_NR, PLW_R_TO_WA, PLW_R_TO_WB, PLW_G_TO_WA, PLW_G_TO_WB, PLW_S_TO_WA, PLW_S_TO_WB, PLW_S_TO_R, PLW_S_TO_NR, PLW_NR_TO_WA, PLW_NR_TO_WB, PLW_NR_TO_WIN, PLW_WA_TO_WIN, PLW_WB_TO_WIN, PLW_G_TO_WIN, PLW_R_TO_WIN, PLW_S_TO_WIN, PLW_WIN_TO_WA, PLW_WIN_TO_WB, PLW_WIN_TO_R, PLW_WIN_TO_NR, HNATVENT, HCOOL_COIL, PF_WATER_COND, HHEAT_COIL, OAUTOSIZE, KDAY, PAUX_MAX, PT_FLOOR, PT_MASS, PH_BLD_COOL, PT_BLD_COOL, PH_BLD_HEAT, PLE_BLD_COOL, PLE_BLD_HEAT, PH_WASTE, PLE_WASTE, PF_WASTE_CAN, PHVAC_COOL, PHVAC_HEAT, PQIN, PQIN_FRAD, PQIN_FLAT, PGR, PEFF_HEAT, PINF, PTCOOL_TARGET, PTHEAT_TARGET, PHR_TARGET, PT_WIN2, PQI_BLD, PV_VENT, PCAP_SYS_HEAT, PCAP_SYS_RAT, PT_ADP, PM_SYS_RAT, PCOP_RAT, PCAP_SYS, PM_SYS, PCOP, PQ_SYS, PT_SYS, PTR_SW_WIN, PFAN_POWER, PHC_FLOOR, PTC_FLOOR, PD_FLOOR, PT_WIN1, PABS_SW_WIN, PABS_LW_WIN, PUGG_WIN, PEMIT_LW_FAC, PEMIT_LW_ROAD, PT_RAD_IND, PHU_BLD, PTIME, PE_SHADING, ONATVENT_NIGHT, PN_FLOOR, PWALL_O_BLD, PGLAZ_O_BLD, PMASS_O_BLD, PFLOOR_HW_RATIO, PF_FLOOR_MASS, PF_FLOOR_WALL, PF_FLOOR_WIN, PF_FLOOR_ROOF, PF_WALL_FLOOR, PF_WALL_MASS, PF_WALL_WIN, PF_WIN_FLOOR, PF_WIN_MASS, PF_WIN_WALL, PF_MASS_FLOOR, PF_MASS_WALL, PF_MASS_WIN, OCANOPY, HCH_BEM, PROUGH_ROOF, PROUGH_WALL, PF_WIN_WIN, OPAR_RD_IRRIG, PRD_START_MONTH, PRD_END_MONTH, PRD_START_HOUR, PRD_END_HOUR, PRD_24H_IRRIG, PIRRIG_ROAD)
Definition: teb.F90:6