6 SUBROUTINE pgd_bem_par (DTCO, DGU, UG, U, USS, DTB, DTI, TG, &
57 USE yomhook
,ONLY : lhook, dr_hook
58 USE parkind1
,ONLY : jprb
61 USE modi_open_namelist
62 USE modi_close_namelist
64 USE modi_ini_var_from_data_0d
85 CHARACTER(LEN=6),
INTENT(IN) :: hprogram
86 LOGICAL,
INTENT(IN) :: oautosize
104 INTEGER,
PARAMETER :: nfloor_max = 9
105 INTEGER :: npar_floor_layer
108 CHARACTER(LEN=28) :: cfnam_shade
109 CHARACTER(LEN=6) :: cftyp_shade
110 REAL :: xunif_natvent
111 CHARACTER(LEN=28) :: cfnam_natvent
112 CHARACTER(LEN=6) :: cftyp_natvent
116 REAL,
DIMENSION(NFLOOR_MAX) :: xunif_hc_floor
117 REAL,
DIMENSION(NFLOOR_MAX) :: xunif_tc_floor
118 REAL,
DIMENSION(NFLOOR_MAX) :: xunif_d_floor
119 REAL :: xunif_floor_height
120 CHARACTER(LEN=28),
DIMENSION(NFLOOR_MAX):: cfnam_hc_floor
121 CHARACTER(LEN=28),
DIMENSION(NFLOOR_MAX):: cfnam_tc_floor
122 CHARACTER(LEN=28),
DIMENSION(NFLOOR_MAX):: cfnam_d_floor
123 CHARACTER(LEN=28) :: cfnam_floor_height
124 CHARACTER(LEN=6),
DIMENSION(NFLOOR_MAX):: cftyp_hc_floor
125 CHARACTER(LEN=6),
DIMENSION(NFLOOR_MAX):: cftyp_tc_floor
126 CHARACTER(LEN=6),
DIMENSION(NFLOOR_MAX):: cftyp_d_floor
127 CHARACTER(LEN=6) :: cftyp_floor_height
131 REAL :: xunif_tcool_target
132 REAL :: xunif_theat_target
133 REAL :: xunif_f_waste_can
134 REAL :: xunif_eff_heat
135 REAL :: xunif_hr_target
136 REAL :: xunif_cap_sys_heat
137 REAL :: xunif_cap_sys_rat
139 REAL :: xunif_m_sys_rat
140 REAL :: xunif_cop_rat
141 REAL :: xunif_f_water_cond
142 CHARACTER(LEN=28) :: cfnam_tcool_target
143 CHARACTER(LEN=28) :: cfnam_theat_target
144 CHARACTER(LEN=28) :: cfnam_f_waste_can
145 CHARACTER(LEN=28) :: cfnam_eff_heat
146 CHARACTER(LEN=28) :: cfnam_hr_target
147 CHARACTER(LEN=28) :: cfnam_cap_sys_heat
148 CHARACTER(LEN=28) :: cfnam_cap_sys_rat
149 CHARACTER(LEN=28) :: cfnam_t_adp
150 CHARACTER(LEN=28) :: cfnam_m_sys_rat
151 CHARACTER(LEN=28) :: cfnam_cop_rat
152 CHARACTER(LEN=28) :: cfnam_f_water_cond
153 CHARACTER(LEN=6) :: cftyp_tcool_target
154 CHARACTER(LEN=6) :: cftyp_theat_target
155 CHARACTER(LEN=6) :: cftyp_f_waste_can
156 CHARACTER(LEN=6) :: cftyp_eff_heat
157 CHARACTER(LEN=6) :: cftyp_hr_target
158 CHARACTER(LEN=6) :: cftyp_cap_sys_heat
159 CHARACTER(LEN=6) :: cftyp_cap_sys_rat
160 CHARACTER(LEN=6) :: cftyp_t_adp
161 CHARACTER(LEN=6) :: cftyp_m_sys_rat
162 CHARACTER(LEN=6) :: cftyp_cop_rat
163 CHARACTER(LEN=6) :: cftyp_f_water_cond
167 REAL :: xunif_qin_frad
168 REAL :: xunif_qin_flat
169 CHARACTER(LEN=28) :: cfnam_qin
170 CHARACTER(LEN=28) :: cfnam_qin_frad
171 CHARACTER(LEN=28) :: cfnam_qin_flat
172 CHARACTER(LEN=6) :: cftyp_qin
173 CHARACTER(LEN=6) :: cftyp_qin_frad
174 CHARACTER(LEN=6) :: cftyp_qin_flat
179 REAL :: xunif_shgc_sh
181 CHARACTER(LEN=28) :: cfnam_gr
182 CHARACTER(LEN=28) :: cfnam_shgc
183 CHARACTER(LEN=28) :: cfnam_shgc_sh
184 CHARACTER(LEN=28) :: cfnam_u_win
185 CHARACTER(LEN=6) :: cftyp_gr
186 CHARACTER(LEN=6) :: cftyp_shgc
187 CHARACTER(LEN=6) :: cftyp_shgc_sh
188 CHARACTER(LEN=6) :: cftyp_u_win
193 CHARACTER(LEN=28) :: cfnam_inf
194 CHARACTER(LEN=28) :: cfnam_v_vent
195 CHARACTER(LEN=6) :: cftyp_inf
196 CHARACTER(LEN=6) :: cftyp_v_vent
199 REAL :: xunif_t_size_max
200 REAL :: xunif_t_size_min
201 CHARACTER(LEN=28) :: cfnam_t_size_max
202 CHARACTER(LEN=28) :: cfnam_t_size_min
203 CHARACTER(LEN=6) :: cftyp_t_size_max
204 CHARACTER(LEN=6) :: cftyp_t_size_min
206 REAL,
DIMENSION(TG%NDIM) :: zwork
207 REAL(KIND=JPRB) :: zhook_handle
209 namelist/nam_data_bem/ npar_floor_layer, &
210 xunif_hc_floor, xunif_tc_floor, xunif_d_floor, &
211 xunif_floor_height, &
212 xunif_tcool_target, xunif_theat_target, &
213 xunif_f_waste_can, xunif_eff_heat, &
214 xunif_f_water_cond, xunif_hr_target, &
215 xunif_qin, xunif_qin_frad, xunif_qin_flat, &
216 xunif_shgc, xunif_u_win, xunif_gr,xunif_shgc_sh,&
217 xunif_inf, xunif_v_vent, &
218 xunif_cap_sys_heat, &
219 xunif_cap_sys_rat, xunif_t_adp, xunif_m_sys_rat,&
220 xunif_cop_rat, xunif_t_size_max, &
222 xunif_shade, cfnam_shade, cftyp_shade, &
223 xunif_natvent, cfnam_natvent, cftyp_natvent, &
224 cfnam_hc_floor, cfnam_tc_floor, cfnam_d_floor, &
225 cfnam_floor_height, &
226 cfnam_tcool_target, cfnam_theat_target, &
227 cfnam_f_waste_can, cfnam_eff_heat, &
228 cfnam_f_water_cond, cfnam_hr_target, &
229 cfnam_qin, cfnam_qin_frad, cfnam_qin_flat, &
230 cfnam_shgc, cfnam_u_win, cfnam_gr, &
231 cfnam_shgc_sh, cfnam_inf, cfnam_v_vent, &
232 cfnam_cap_sys_heat, &
233 cfnam_cap_sys_rat, cfnam_t_adp, cfnam_m_sys_rat,&
234 cfnam_cop_rat, cfnam_t_size_max, &
236 cftyp_hc_floor, cftyp_tc_floor, cftyp_d_floor, &
237 cftyp_floor_height, &
238 cftyp_tcool_target, cftyp_theat_target, &
239 cftyp_f_waste_can, cftyp_eff_heat, &
240 cftyp_f_water_cond, cftyp_hr_target, &
241 cftyp_qin, cftyp_qin_frad, cftyp_qin_flat, &
242 cftyp_shgc, cftyp_u_win, cftyp_gr, &
243 cftyp_shgc_sh, cftyp_inf, cftyp_v_vent, &
244 cftyp_cap_sys_heat, &
245 cftyp_cap_sys_rat, cftyp_t_adp, cftyp_m_sys_rat,&
246 cftyp_cop_rat, cftyp_t_size_max, &
249 IF (lhook) CALL dr_hook(
'PGD_BEM_PAR',0,zhook_handle)
256 xunif_natvent = xundef
257 xunif_hc_floor = xundef
258 xunif_tc_floor = xundef
259 xunif_d_floor = xundef
260 xunif_tcool_target = xundef
261 xunif_theat_target = xundef
262 xunif_f_waste_can = xundef
263 xunif_eff_heat = xundef
265 xunif_qin_frad = xundef
269 xunif_shgc_sh = xundef
270 xunif_floor_height = xundef
272 xunif_f_water_cond = xundef
273 xunif_qin_flat = xundef
274 xunif_hr_target = xundef
275 xunif_v_vent = xundef
276 xunif_cap_sys_heat = xundef
277 xunif_cap_sys_rat = xundef
279 xunif_m_sys_rat = xundef
280 xunif_cop_rat = xundef
281 xunif_t_size_max = xundef
282 xunif_t_size_min = xundef
286 cfnam_hc_floor(:) =
' '
287 cfnam_tc_floor(:) =
' '
288 cfnam_d_floor(:) =
' '
289 cfnam_tcool_target =
' '
290 cfnam_theat_target =
' '
291 cfnam_f_waste_can =
' '
299 cfnam_floor_height =
' '
301 cfnam_f_water_cond =
' '
303 cfnam_hr_target =
' '
305 cfnam_cap_sys_heat =
' '
306 cfnam_cap_sys_rat =
' '
308 cfnam_m_sys_rat =
' '
310 cfnam_t_size_max =
' '
311 cfnam_t_size_min =
' '
315 cftyp_hc_floor(:) =
' '
316 cftyp_tc_floor(:) =
' '
317 cftyp_d_floor(:) =
' '
318 cftyp_tcool_target =
' '
319 cftyp_theat_target =
' '
320 cftyp_f_waste_can =
' '
328 cftyp_floor_height =
' '
330 cftyp_f_water_cond =
' '
332 cftyp_hr_target =
' '
334 cftyp_cap_sys_heat =
' '
335 cftyp_cap_sys_rat =
' '
337 cftyp_m_sys_rat =
' '
339 cftyp_t_size_max =
' '
340 cftyp_t_size_min =
' '
350 CALL
posnam(ilunam,
'NAM_DATA_BEM',gfound,iluout)
351 IF (gfound)
READ(unit=ilunam,nml=nam_data_bem)
357 dtb%NPAR_FLOOR_LAYER = npar_floor_layer
363 IF (( any(xunif_hc_floor/=xundef) .OR. any(len_trim(cfnam_hc_floor)>0) &
364 .OR. any(xunif_tc_floor/=xundef) .OR. any(len_trim(cfnam_tc_floor)>0) &
365 .OR. any(xunif_d_floor /=xundef) .OR. any(len_trim(cfnam_d_floor )>0) &
366 ) .AND. npar_floor_layer<1 )
THEN
367 CALL
abor1_sfx(
'In order to initialize FLOOR thermal quantities, please specify NPAR_FLOOR_LAYER in namelist NAM_DATA_BEM')
372 ALLOCATE(dtb%XPAR_HC_FLOOR (tg%NDIM,npar_floor_layer))
373 ALLOCATE(dtb%XPAR_TC_FLOOR (tg%NDIM,npar_floor_layer))
374 ALLOCATE(dtb%XPAR_D_FLOOR (tg%NDIM,npar_floor_layer))
376 ALLOCATE(dtb%XPAR_TCOOL_TARGET (tg%NDIM))
377 ALLOCATE(dtb%XPAR_THEAT_TARGET (tg%NDIM))
378 ALLOCATE(dtb%XPAR_F_WASTE_CAN (tg%NDIM))
379 ALLOCATE(dtb%XPAR_EFF_HEAT (tg%NDIM))
380 ALLOCATE(dtb%XPAR_QIN (tg%NDIM))
381 ALLOCATE(dtb%XPAR_QIN_FRAD (tg%NDIM))
382 ALLOCATE(dtb%XPAR_SHGC (tg%NDIM))
383 ALLOCATE(dtb%XPAR_U_WIN (tg%NDIM))
384 ALLOCATE(dtb%XPAR_GR (tg%NDIM))
385 ALLOCATE(dtb%XPAR_SHGC_SH (tg%NDIM))
386 ALLOCATE(dtb%XPAR_FLOOR_HEIGHT (tg%NDIM))
387 ALLOCATE(dtb%XPAR_INF (tg%NDIM))
389 ALLOCATE(dtb%XPAR_F_WATER_COND (tg%NDIM))
390 ALLOCATE(dtb%XPAR_QIN_FLAT (tg%NDIM))
391 ALLOCATE(dtb%XPAR_HR_TARGET (tg%NDIM))
392 ALLOCATE(dtb%XPAR_V_VENT (tg%NDIM))
393 ALLOCATE(dtb%XPAR_CAP_SYS_HEAT (tg%NDIM))
394 ALLOCATE(dtb%XPAR_CAP_SYS_RAT (tg%NDIM))
395 ALLOCATE(dtb%XPAR_T_ADP (tg%NDIM))
396 ALLOCATE(dtb%XPAR_M_SYS_RAT (tg%NDIM))
397 ALLOCATE(dtb%XPAR_COP_RAT (tg%NDIM))
398 ALLOCATE(dtb%XPAR_T_SIZE_MAX (tg%NDIM))
399 ALLOCATE(dtb%XPAR_T_SIZE_MIN (tg%NDIM))
401 ALLOCATE(dtb%XPAR_SHADE (tg%NDIM))
402 ALLOCATE(dtb%XPAR_NATVENT (tg%NDIM))
405 IF (nfloor_max < npar_floor_layer)
THEN
406 WRITE(iluout,*)
'---------------------------------------------'
407 WRITE(iluout,*)
'Please update pgd_bem_par.F90 routine : '
408 WRITE(iluout,*)
'The maximum number of FLOOR LAYER '
409 WRITE(iluout,*)
'in the declaration of the namelist variables '
410 WRITE(iluout,*)
'must be increased to : ', npar_floor_layer
411 WRITE(iluout,*)
'---------------------------------------------'
412 CALL
abor1_sfx(
'PGD_BEM_PAR: MAXIMUM NUMBER OF NPAR_FLOOR_LAYER MUST BE INCREASED')
421 hprogram,
'MAJ',
'SHADE ',
'TWN', cfnam_shade, cftyp_shade, xunif_shade, &
422 dtb%XPAR_SHADE, dtb%LDATA_SHADE )
423 IF (.NOT.dtb%LDATA_SHADE)
DEALLOCATE(dtb%XPAR_SHADE)
426 hprogram,
'MAJ',
'NATVENT ',
'TWN', cfnam_natvent, cftyp_natvent, xunif_natvent, &
427 dtb%XPAR_NATVENT, dtb%LDATA_NATVENT )
428 IF (.NOT.dtb%LDATA_NATVENT)
DEALLOCATE(dtb%XPAR_NATVENT)
431 hprogram,
'INV',
'HC_FLOOR ',
'TWN',cfnam_hc_floor,cftyp_hc_floor, &
432 xunif_hc_floor,dtb%XPAR_HC_FLOOR,dtb%LDATA_HC_FLOOR )
433 IF (.NOT.dtb%LDATA_HC_FLOOR)
DEALLOCATE(dtb%XPAR_HC_FLOOR)
436 hprogram,
'ARI',
'TC_FLOOR ',
'TWN',cfnam_tc_floor,cftyp_tc_floor, &
437 xunif_tc_floor ,dtb%XPAR_TC_FLOOR, dtb%LDATA_TC_FLOOR )
438 IF (.NOT.dtb%LDATA_TC_FLOOR)
DEALLOCATE(dtb%XPAR_TC_FLOOR)
441 hprogram,
'ARI',
'D_FLOOR ',
'TWN',cfnam_d_floor,cftyp_d_floor, &
442 xunif_d_floor ,dtb%XPAR_D_FLOOR , dtb%LDATA_D_FLOOR )
443 IF (.NOT.dtb%LDATA_D_FLOOR)
DEALLOCATE(dtb%XPAR_D_FLOOR)
446 hprogram,
'ARI',
'TCOOL_TARGET',
'TWN',cfnam_tcool_target, cftyp_tcool_target, xunif_tcool_target, &
447 dtb%XPAR_TCOOL_TARGET, dtb%LDATA_TCOOL_TARGET)
448 IF (.NOT.dtb%LDATA_TCOOL_TARGET)
DEALLOCATE(dtb%XPAR_TCOOL_TARGET)
451 hprogram,
'ARI',
'THEAT_TARGET',
'TWN',cfnam_theat_target, cftyp_theat_target, xunif_theat_target, &
452 dtb%XPAR_THEAT_TARGET, dtb%LDATA_THEAT_TARGET)
453 IF (.NOT.dtb%LDATA_THEAT_TARGET)
DEALLOCATE(dtb%XPAR_THEAT_TARGET)
456 hprogram,
'ARI',
'F_WASTE_CAN',
'TWN',cfnam_f_waste_can, cftyp_f_waste_can, xunif_f_waste_can, &
457 dtb%XPAR_F_WASTE_CAN, dtb%LDATA_F_WASTE_CAN)
458 IF (.NOT.dtb%LDATA_F_WASTE_CAN)
DEALLOCATE(dtb%XPAR_F_WASTE_CAN)
461 hprogram,
'ARI',
'EFF_HEAT',
'TWN',cfnam_eff_heat, cftyp_eff_heat, xunif_eff_heat, &
462 dtb%XPAR_EFF_HEAT, dtb%LDATA_EFF_HEAT)
463 IF (.NOT.dtb%LDATA_EFF_HEAT)
DEALLOCATE(dtb%XPAR_EFF_HEAT)
466 hprogram,
'ARI',
'QIN',
'TWN',cfnam_qin, cftyp_qin, xunif_qin, dtb%XPAR_QIN, dtb%LDATA_QIN)
467 IF (.NOT.dtb%LDATA_QIN)
DEALLOCATE(dtb%XPAR_QIN)
470 hprogram,
'ARI',
'QIN_FRAD',
'TWN',cfnam_qin_frad, cftyp_qin_frad, xunif_qin_frad, &
471 dtb%XPAR_QIN_FRAD, dtb%LDATA_QIN_FRAD)
472 IF (.NOT.dtb%LDATA_QIN_FRAD)
DEALLOCATE(dtb%XPAR_QIN_FRAD)
475 hprogram,
'ARI',
'SHGC',
'TWN',cfnam_shgc, cftyp_shgc, xunif_shgc, dtb%XPAR_SHGC, dtb%LDATA_SHGC)
476 IF (.NOT.dtb%LDATA_SHGC)
DEALLOCATE(dtb%XPAR_SHGC)
479 hprogram,
'ARI',
'U_WIN',
'TWN',cfnam_u_win, cftyp_u_win, xunif_u_win, dtb%XPAR_U_WIN, dtb%LDATA_U_WIN)
480 IF (.NOT.dtb%LDATA_U_WIN)
DEALLOCATE(dtb%XPAR_U_WIN)
483 hprogram,
'ARI',
'GR',
'TWN',cfnam_gr, cftyp_gr, xunif_gr, dtb%XPAR_GR, dtb%LDATA_GR)
484 IF (.NOT.dtb%LDATA_GR)
DEALLOCATE(dtb%XPAR_GR)
487 hprogram,
'ARI',
'SHGC_SH',
'TWN',cfnam_shgc_sh, cftyp_shgc_sh, xunif_shgc_sh, &
488 dtb%XPAR_SHGC_SH, dtb%LDATA_SHGC_SH)
489 IF (.NOT.dtb%LDATA_SHGC_SH)
DEALLOCATE(dtb%XPAR_SHGC_SH)
492 hprogram,
'ARI',
'FLOOR_HEIGHT',
'TWN',cfnam_floor_height, cftyp_floor_height, xunif_floor_height, &
493 dtb%XPAR_FLOOR_HEIGHT, dtb%LDATA_FLOOR_HEIGHT)
494 IF (.NOT.dtb%LDATA_FLOOR_HEIGHT)
DEALLOCATE(dtb%XPAR_FLOOR_HEIGHT)
497 hprogram,
'ARI',
'INF',
'TWN',cfnam_inf, cftyp_inf, xunif_inf, dtb%XPAR_INF, dtb%LDATA_INF)
498 IF (.NOT.dtb%LDATA_INF)
DEALLOCATE(dtb%XPAR_INF)
501 hprogram,
'ARI',
'F_WATER_COND',
'TWN',cfnam_f_water_cond, cftyp_f_water_cond, xunif_f_water_cond, &
502 dtb%XPAR_F_WATER_COND, dtb%LDATA_F_WATER_COND)
503 IF (.NOT.dtb%LDATA_F_WATER_COND)
DEALLOCATE(dtb%XPAR_F_WATER_COND)
506 hprogram,
'ARI',
'QIN_FLAT',
'TWN',cfnam_qin_flat, cftyp_qin_flat, xunif_qin_flat, &
507 dtb%XPAR_QIN_FLAT, dtb%LDATA_QIN_FLAT)
508 IF (.NOT.dtb%LDATA_QIN_FLAT)
DEALLOCATE(dtb%XPAR_QIN_FLAT)
511 hprogram,
'ARI',
'HR_TARGET',
'TWN',cfnam_hr_target, cftyp_hr_target, xunif_hr_target, &
512 dtb%XPAR_HR_TARGET, dtb%LDATA_HR_TARGET)
513 IF (.NOT.dtb%LDATA_HR_TARGET)
DEALLOCATE(dtb%XPAR_HR_TARGET)
516 hprogram,
'ARI',
'V_VENT',
'TWN',cfnam_v_vent, cftyp_v_vent, &
517 xunif_v_vent, dtb%XPAR_V_VENT, dtb%LDATA_V_VENT)
518 IF (.NOT.dtb%LDATA_V_VENT)
DEALLOCATE(dtb%XPAR_V_VENT)
522 hprogram,
'ARI',
'T_SIZE_MAX',
'TWN',cfnam_t_size_max, cftyp_t_size_max, xunif_t_size_max, &
523 dtb%XPAR_T_SIZE_MAX, dtb%LDATA_T_SIZE_MAX)
524 IF (.NOT.dtb%LDATA_T_SIZE_MAX)
DEALLOCATE(dtb%XPAR_T_SIZE_MAX)
527 hprogram,
'ARI',
'T_SIZE_MIN',
'TWN',cfnam_t_size_min, cftyp_t_size_min, xunif_t_size_min, &
528 dtb%XPAR_T_SIZE_MIN, dtb%LDATA_T_SIZE_MIN)
529 IF (.NOT.dtb%LDATA_T_SIZE_MIN)
DEALLOCATE(dtb%XPAR_T_SIZE_MIN)
532 hprogram,
'ARI',
'CAP_SYS_HEAT',
'TWN',cfnam_cap_sys_heat, cftyp_cap_sys_heat, xunif_cap_sys_heat, &
533 dtb%XPAR_CAP_SYS_HEAT, dtb%LDATA_CAP_SYS_HEAT)
534 IF (.NOT.dtb%LDATA_CAP_SYS_HEAT)
DEALLOCATE(dtb%XPAR_CAP_SYS_HEAT)
537 hprogram,
'ARI',
'CAP_SYS_RAT',
'TWN',cfnam_cap_sys_rat, cftyp_cap_sys_rat, xunif_cap_sys_rat, &
538 dtb%XPAR_CAP_SYS_RAT, dtb%LDATA_CAP_SYS_RAT)
539 IF (.NOT.dtb%LDATA_CAP_SYS_RAT)
DEALLOCATE(dtb%XPAR_CAP_SYS_RAT)
542 hprogram,
'ARI',
'M_SYS_RAT',
'TWN',cfnam_m_sys_rat, cftyp_m_sys_rat, xunif_m_sys_rat, &
543 dtb%XPAR_M_SYS_RAT, dtb%LDATA_M_SYS_RAT)
544 IF (.NOT.dtb%LDATA_M_SYS_RAT)
DEALLOCATE(dtb%XPAR_M_SYS_RAT)
547 IF (dtb%LDATA_CAP_SYS_HEAT .OR. dtb%LDATA_CAP_SYS_RAT .OR. dtb%LDATA_M_SYS_RAT)
THEN
548 WRITE(iluout,*)
'==> You choose LAUTOSIZE=T <=='
549 WRITE(iluout,*)
'Therefore HVAC systems characteristics will be computed automatically'
550 IF (dtb%LDATA_CAP_SYS_HEAT)
THEN
551 WRITE(iluout,*)
'Data you provided for CAP_SYS_HEAT are then discarded.'
552 DEALLOCATE(dtb%XPAR_CAP_SYS_HEAT)
554 IF (dtb%LDATA_CAP_SYS_RAT )
THEN
555 WRITE(iluout,*)
'Data you provided for CAP_SYS_RAT are then discarded.'
556 DEALLOCATE(dtb%XPAR_CAP_SYS_RAT)
558 IF (dtb%LDATA_M_SYS_RAT )
THEN
559 WRITE(iluout,*)
'Data you provided for M_SYS_RAT are then discarded.'
560 DEALLOCATE(dtb%XPAR_M_SYS_RAT)
563 dtb%LDATA_CAP_SYS_HEAT = .false.
564 dtb%LDATA_CAP_SYS_RAT = .false.
565 dtb%LDATA_M_SYS_RAT = .false.
567 IF (dtb%LDATA_T_SIZE_MAX .OR. dtb%LDATA_T_SIZE_MAX)
THEN
568 WRITE(iluout,*)
'==> You choose LAUTOSIZE=F <=='
569 WRITE(iluout,*)
'Therefore HVAC systems characteristics are specified'
570 WRITE(iluout,*)
'and you do not need the minimal and maximum temperatures'
571 WRITE(iluout,*)
'that would be used if you have chosen an automatic calibration.'
572 IF (dtb%LDATA_T_SIZE_MAX)
THEN
573 WRITE(iluout,*)
'Data you provided for T_SIZE_MAX are then discarded.'
574 DEALLOCATE(dtb%XPAR_T_SIZE_MAX)
576 IF (dtb%LDATA_T_SIZE_MIN)
THEN
577 WRITE(iluout,*)
'Data you provided for T_SIZE_MIN are then discarded.'
578 DEALLOCATE(dtb%XPAR_T_SIZE_MIN)
581 dtb%LDATA_T_SIZE_MAX = .false.
582 dtb%LDATA_T_SIZE_MIN = .false.
586 hprogram,
'ARI',
'T_ADP',
'TWN',cfnam_t_adp, cftyp_t_adp, xunif_t_adp, dtb%XPAR_T_ADP, dtb%LDATA_T_ADP)
587 IF (.NOT.dtb%LDATA_T_ADP)
DEALLOCATE(dtb%XPAR_T_ADP)
590 hprogram,
'ARI',
'COP_RAT',
'TWN',cfnam_cop_rat, cftyp_cop_rat, xunif_cop_rat, &
591 dtb%XPAR_COP_RAT, dtb%LDATA_COP_RAT)
592 IF (.NOT.dtb%LDATA_COP_RAT)
DEALLOCATE(dtb%XPAR_COP_RAT)
601 IF (lhook) CALL dr_hook(
'PGD_BEM_PAR',1,zhook_handle)
605 CHARACTER(LEN=5),
INTENT(IN) :: htype
606 LOGICAL,
INTENT(IN) :: odata_hc
607 LOGICAL,
INTENT(IN) :: odata_tc
608 LOGICAL,
INTENT(IN) :: odata_d
610 IF (odata_hc .OR. odata_tc .OR. odata_d)
THEN
611 IF (.NOT. (odata_hc .AND. odata_tc .AND. odata_d))
THEN
612 WRITE(iluout,*)
'*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*'
613 WRITE(iluout,*)
'When specifying data for thermal ',trim(htype),
' characteristics,'
614 WRITE(iluout,*)
'All three parameters MUST be defined:'
615 WRITE(iluout,*)
'Heat capacity, Thermal conductivity and depths of layers'
617 WRITE(iluout,*)
'In your case :'
619 WRITE(iluout,*)
'Heat capacity is defined'
621 WRITE(iluout,*)
'Heat capacity is NOT defined'
624 WRITE(iluout,*)
'Thermal conductivity is defined'
626 WRITE(iluout,*)
'Thermal conductivity is NOT defined'
629 WRITE(iluout,*)
'Depths of layers are defined'
631 WRITE(iluout,*)
'Depths of layers are NOT defined'
633 WRITE(iluout,*)
'*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*'
634 CALL
abor1_sfx(
'Heat capacity, Thermal conductivity and depths of layers MUST all be defined for '//htype)
subroutine abor1_sfx(YTEXT)
subroutine pgd_bem_par(DTCO, DGU, UG, U, USS, DTB, DTI, TG, HPROGRAM, OAUTOSIZE)
subroutine close_namelist(HPROGRAM, KLUNAM)
subroutine ini_var_from_data_0d(DTCO, DGU, UG, U, USS, HPROGRAM, HATYPE, HNAME, HTYPE, HFNAM, HFTYP, PUNIF, PFIELD, OPRESENT)
subroutine posnam(KULNAM, HDNAML, OFOUND, KLUOUT)
subroutine get_luout(HPROGRAM, KLUOUT)
subroutine coherence_thermal_data_fl(HTYPE, ODATA_HC, ODATA_TC, ODATA_D)
subroutine open_namelist(HPROGRAM, KLUNAM, HFILE)