6 SUBROUTINE writesurf_pgd_teb_par_n (BDD, DTB, DTGD, DTGR, DTT, DGU, U, TGDO, TGDP, TGRO, TIR, TOP, &
63 USE modi_write_bld_description_n
64 USE modi_writesurf_pgd_teb_irrig_n
67 USE yomhook
,ONLY : lhook, dr_hook
68 USE parkind1
,ONLY : jprb
89 CHARACTER(LEN=6),
INTENT(IN) :: hprogram
95 CHARACTER(LEN=12) :: yrecfm
96 CHARACTER(LEN=100):: ycomment
99 REAL,
DIMENSION(:),
ALLOCATABLE :: zwork
100 REAL(KIND=JPRB) :: zhook_handle
104 IF (lhook) CALL dr_hook(
'WRITESURF_PGD_TEB_PAR_N',0,zhook_handle)
108 hprogram,yrecfm,dtt%LDATA_BLDTYPE,iresp,hcomment=ycomment)
109 IF (dtt%LDATA_BLDTYPE)
THEN
111 ycomment=
'X_Y_'//yrecfm//
' (m)'
112 ALLOCATE(zwork(
SIZE(dtt%NPAR_BLDTYPE)))
113 zwork=float(dtt%NPAR_BLDTYPE(:))
115 hprogram,yrecfm,zwork,iresp,ycomment)
122 hprogram,yrecfm,dtt%LDATA_BLD_AGE,iresp,hcomment=ycomment)
123 IF (dtt%LDATA_BLD_AGE)
THEN
125 ycomment=
'X_Y_'//yrecfm//
' (m)'
126 ALLOCATE(zwork(
SIZE(dtt%NPAR_BLD_AGE)))
127 zwork=float(dtt%NPAR_BLD_AGE(:))
129 hprogram,yrecfm,zwork,iresp,ycomment)
136 hprogram,yrecfm,dtt%LDATA_USETYPE,iresp,hcomment=ycomment)
137 IF (dtt%LDATA_USETYPE)
THEN
139 ycomment=
'X_Y_'//yrecfm//
' (m)'
140 ALLOCATE(zwork(
SIZE(dtt%NPAR_USETYPE)))
141 zwork=float(dtt%NPAR_USETYPE(:))
143 hprogram,yrecfm,zwork,iresp,ycomment)
154 hprogram,yrecfm,dtt%LDATA_Z0_TOWN,iresp,hcomment=ycomment)
155 IF (dtt%LDATA_Z0_TOWN)
THEN
157 ycomment=
'X_Y_'//yrecfm//
' (m)'
159 hprogram,yrecfm,dtt%XPAR_Z0_TOWN,iresp,ycomment)
165 hprogram,yrecfm,dtt%LDATA_BLD,iresp,hcomment=ycomment)
166 IF (dtt%LDATA_BLD)
THEN
168 ycomment=
'X_Y_'//yrecfm//
' (-)'
170 hprogram,yrecfm,dtt%XPAR_BLD,iresp,ycomment)
176 hprogram,yrecfm,dtt%LDATA_GARDEN,iresp,hcomment=ycomment)
177 IF (dtt%LDATA_GARDEN)
THEN
179 ycomment=
'X_Y_'//yrecfm//
' (-)'
181 hprogram,yrecfm,dtt%XPAR_GARDEN,iresp,ycomment)
187 hprogram,yrecfm,dtt%LDATA_GREENROOF,iresp,hcomment=ycomment)
188 IF (dtt%LDATA_GREENROOF)
THEN
190 ycomment=
'X_Y_'//yrecfm//
' (-)'
192 hprogram,yrecfm,dtt%XPAR_GREENROOF,iresp,ycomment)
198 hprogram,yrecfm,dtt%LDATA_ROAD_DIR,iresp,hcomment=ycomment)
199 IF (dtt%LDATA_ROAD_DIR)
THEN
201 ycomment=
'X_Y_'//yrecfm//
' (-)'
203 hprogram,yrecfm,dtt%XPAR_ROAD_DIR,iresp,ycomment)
209 hprogram,yrecfm,dtt%LDATA_ALB_ROOF,iresp,hcomment=ycomment)
210 IF (dtt%LDATA_ALB_ROOF)
THEN
212 ycomment=
'X_Y_'//yrecfm//
' (-)'
214 hprogram,yrecfm,dtt%XPAR_ALB_ROOF,iresp,ycomment)
220 hprogram,yrecfm,dtt%LDATA_EMIS_ROOF,iresp,hcomment=ycomment)
221 IF (dtt%LDATA_EMIS_ROOF)
THEN
223 ycomment=
'X_Y_'//yrecfm//
' (-)'
225 hprogram,yrecfm,dtt%XPAR_EMIS_ROOF,iresp,ycomment)
228 IF (dtt%LDATA_HC_ROOF)
THEN
229 ycomment=
'Number of specified Roof thermal layers'
231 hprogram,
'PAR_RF_LAYER',dtt%NPAR_ROOF_LAYER,iresp,ycomment)
237 hprogram,yrecfm,dtt%LDATA_HC_ROOF,iresp,hcomment=ycomment)
238 IF (dtt%LDATA_HC_ROOF)
THEN
239 DO jlayer=1,dtt%NPAR_ROOF_LAYER
240 WRITE(yrecfm,fmt=
'(A9,I1.1)')
'D_HC_ROOF',jlayer
241 ycomment=
'X_Y_'//yrecfm//
' (J/K/m3)'
243 hprogram,yrecfm,dtt%XPAR_HC_ROOF(:,jlayer),iresp,ycomment)
250 hprogram,yrecfm,dtt%LDATA_TC_ROOF,iresp,hcomment=ycomment)
251 IF (dtt%LDATA_TC_ROOF)
THEN
252 DO jlayer=1,dtt%NPAR_ROOF_LAYER
253 WRITE(yrecfm,fmt=
'(A9,I1.1)')
'D_TC_ROOF',jlayer
254 ycomment=
'X_Y_'//yrecfm//
' (W/K/m)'
256 hprogram,yrecfm,dtt%XPAR_TC_ROOF(:,jlayer),iresp,ycomment)
263 hprogram,yrecfm,dtt%LDATA_D_ROOF,iresp,hcomment=ycomment)
264 IF (dtt%LDATA_D_ROOF)
THEN
265 DO jlayer=1,dtt%NPAR_ROOF_LAYER
266 WRITE(yrecfm,fmt=
'(A8,I1.1)')
'D_D_ROOF',jlayer
267 ycomment=
'X_Y_'//yrecfm//
' (m)'
269 hprogram,yrecfm,dtt%XPAR_D_ROOF(:,jlayer),iresp,ycomment)
276 hprogram,yrecfm,dtt%LDATA_ALB_ROAD,iresp,hcomment=ycomment)
277 IF (dtt%LDATA_ALB_ROAD)
THEN
279 ycomment=
'X_Y_'//yrecfm//
' (-)'
281 hprogram,yrecfm,dtt%XPAR_ALB_ROAD,iresp,ycomment)
287 hprogram,yrecfm,dtt%LDATA_EMIS_ROAD,iresp,hcomment=ycomment)
288 IF (dtt%LDATA_EMIS_ROAD)
THEN
290 ycomment=
'X_Y_'//yrecfm//
' (-)'
292 hprogram,yrecfm,dtt%XPAR_EMIS_ROAD,iresp,ycomment)
295 IF (dtt%LDATA_HC_ROAD)
THEN
296 ycomment=
'Number of specified Road thermal layers'
298 hprogram,
'PAR_RD_LAYER',dtt%NPAR_ROAD_LAYER,iresp,ycomment)
304 hprogram,yrecfm,dtt%LDATA_HC_ROAD,iresp,hcomment=ycomment)
305 IF (dtt%LDATA_HC_ROAD)
THEN
306 DO jlayer=1,dtt%NPAR_ROAD_LAYER
307 WRITE(yrecfm,fmt=
'(A9,I1.1)')
'D_HC_ROAD',jlayer
308 ycomment=
'X_Y_'//yrecfm//
' (J/K/m3)'
310 hprogram,yrecfm,dtt%XPAR_HC_ROAD(:,jlayer),iresp,ycomment)
317 hprogram,yrecfm,dtt%LDATA_TC_ROAD,iresp,hcomment=ycomment)
318 IF (dtt%LDATA_TC_ROAD)
THEN
319 DO jlayer=1,dtt%NPAR_ROAD_LAYER
320 WRITE(yrecfm,fmt=
'(A9,I1.1)')
'D_TC_ROAD',jlayer
321 ycomment=
'X_Y_'//yrecfm//
' (W/K/m)'
323 hprogram,yrecfm,dtt%XPAR_TC_ROAD(:,jlayer),iresp,ycomment)
330 hprogram,yrecfm,dtt%LDATA_D_ROAD,iresp,hcomment=ycomment)
331 IF (dtt%LDATA_D_ROAD)
THEN
332 DO jlayer=1,dtt%NPAR_ROAD_LAYER
333 WRITE(yrecfm,fmt=
'(A8,I1.1)')
'D_D_ROAD',jlayer
334 ycomment=
'X_Y_'//yrecfm//
' (m)'
336 hprogram,yrecfm,dtt%XPAR_D_ROAD(:,jlayer),iresp,ycomment)
343 hprogram,yrecfm,dtt%LDATA_ALB_WALL,iresp,hcomment=ycomment)
344 IF (dtt%LDATA_ALB_WALL)
THEN
346 ycomment=
'X_Y_'//yrecfm//
' (-)'
348 hprogram,yrecfm,dtt%XPAR_ALB_WALL,iresp,ycomment)
354 hprogram,yrecfm,dtt%LDATA_EMIS_WALL,iresp,hcomment=ycomment)
355 IF (dtt%LDATA_EMIS_WALL)
THEN
357 ycomment=
'X_Y_'//yrecfm//
' (-)'
359 hprogram,yrecfm,dtt%XPAR_EMIS_WALL,iresp,ycomment)
363 IF (dtt%LDATA_HC_WALL)
THEN
364 ycomment=
'Number of specified Wall thermal layers'
366 hprogram,
'PAR_WL_LAYER',dtt%NPAR_WALL_LAYER,iresp,ycomment)
372 hprogram,yrecfm,dtt%LDATA_HC_WALL,iresp,hcomment=ycomment)
373 IF (dtt%LDATA_HC_WALL)
THEN
374 DO jlayer=1,dtt%NPAR_WALL_LAYER
375 WRITE(yrecfm,fmt=
'(A9,I1.1)')
'D_HC_WALL',jlayer
376 ycomment=
'X_Y_'//yrecfm//
' (J/K/m3)'
378 hprogram,yrecfm,dtt%XPAR_HC_WALL(:,jlayer),iresp,ycomment)
385 hprogram,yrecfm,dtt%LDATA_TC_WALL,iresp,hcomment=ycomment)
386 IF (dtt%LDATA_TC_WALL)
THEN
387 DO jlayer=1,dtt%NPAR_WALL_LAYER
388 WRITE(yrecfm,fmt=
'(A9,I1.1)')
'D_TC_WALL',jlayer
389 ycomment=
'X_Y_'//yrecfm//
' (W/K/m)'
391 hprogram,yrecfm,dtt%XPAR_TC_WALL(:,jlayer),iresp,ycomment)
398 hprogram,yrecfm,dtt%LDATA_D_WALL,iresp,hcomment=ycomment)
399 IF (dtt%LDATA_D_WALL)
THEN
400 DO jlayer=1,dtt%NPAR_WALL_LAYER
401 WRITE(yrecfm,fmt=
'(A8,I1.1)')
'D_D_WALL',jlayer
402 ycomment=
'X_Y_'//yrecfm//
' (m)'
404 hprogram,yrecfm,dtt%XPAR_D_WALL(:,jlayer),iresp,ycomment)
408 yrecfm=
'L_BLD_HEIGHT'
411 hprogram,yrecfm,dtt%LDATA_BLD_HEIGHT,iresp,hcomment=ycomment)
412 IF (dtt%LDATA_BLD_HEIGHT)
THEN
414 ycomment=
'X_Y_'//yrecfm//
' (m)'
416 hprogram,yrecfm,dtt%XPAR_BLD_HEIGHT,iresp,ycomment)
419 yrecfm=
'L_WALL_O_HOR'
422 hprogram,yrecfm,dtt%LDATA_WALL_O_HOR,iresp,hcomment=ycomment)
423 IF (dtt%LDATA_WALL_O_HOR)
THEN
425 ycomment=
'X_Y_'//yrecfm//
' (-)'
427 hprogram,yrecfm,dtt%XPAR_WALL_O_HOR,iresp,ycomment)
433 hprogram,yrecfm,dtt%LDATA_H_TRAFFIC,iresp,hcomment=ycomment)
434 IF (dtt%LDATA_H_TRAFFIC)
THEN
436 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
438 hprogram,yrecfm,dtt%XPAR_H_TRAFFIC,iresp,ycomment)
444 hprogram,yrecfm,dtt%LDATA_LE_TRAFFIC,iresp,hcomment=ycomment)
445 IF (dtt%LDATA_LE_TRAFFIC)
THEN
447 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
449 hprogram,yrecfm,dtt%XPAR_LE_TRAFFIC,iresp,ycomment)
455 hprogram,yrecfm,dtt%LDATA_H_INDUSTRY,iresp,hcomment=ycomment)
456 IF (dtt%LDATA_H_INDUSTRY)
THEN
458 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
460 hprogram,yrecfm,dtt%XPAR_H_INDUSTRY,iresp,ycomment)
466 hprogram,yrecfm,dtt%LDATA_LE_INDUSTRY,iresp,hcomment=ycomment)
467 IF (dtt%LDATA_LE_INDUSTRY)
THEN
469 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
471 hprogram,yrecfm,dtt%XPAR_LE_INDUSTRY,iresp,ycomment)
474 yrecfm=
'L_ROUGH_ROOF'
477 hprogram,yrecfm,dtt%LDATA_ROUGH_ROOF,iresp,hcomment=ycomment)
478 IF (dtt%LDATA_ROUGH_ROOF)
THEN
479 yrecfm=
'D_ROUGH_ROOF'
480 ycomment=
'X_Y_'//yrecfm//
' (-)'
482 hprogram,yrecfm,dtt%XPAR_ROUGH_ROOF,iresp,ycomment)
485 yrecfm=
'L_ROUGH_WALL'
488 hprogram,yrecfm,dtt%LDATA_ROUGH_WALL,iresp,hcomment=ycomment)
489 IF (dtt%LDATA_ROUGH_WALL)
THEN
490 yrecfm=
'D_ROUGH_WALL'
491 ycomment=
'X_Y_'//yrecfm//
' (-)'
493 hprogram,yrecfm,dtt%XPAR_ROUGH_WALL,iresp,ycomment)
496 yrecfm=
'L_F_RESIDENT'
499 hprogram,yrecfm,dtt%LDATA_RESIDENTIAL,iresp,hcomment=ycomment)
500 IF (dtt%LDATA_RESIDENTIAL)
THEN
501 yrecfm=
'D_F_RESIDENT'
502 ycomment=
'X_Y_'//yrecfm//
' (-)'
504 hprogram,yrecfm,dtt%XPAR_RESIDENTIAL,iresp,ycomment)
509 yrecfm=
'L_EMIS_PANEL'
512 hprogram,yrecfm,dtt%LDATA_EMIS_PANEL,iresp,hcomment=ycomment)
513 IF (dtt%LDATA_EMIS_PANEL)
THEN
514 yrecfm=
'D_EMIS_PANEL'
515 ycomment=
'X_Y_'//yrecfm//
' (-)'
517 hprogram,yrecfm,dtt%XPAR_EMIS_PANEL,iresp,ycomment)
523 hprogram,yrecfm,dtt%LDATA_ALB_PANEL,iresp,hcomment=ycomment)
524 IF (dtt%LDATA_ALB_PANEL)
THEN
526 ycomment=
'X_Y_'//yrecfm//
' (-)'
528 hprogram,yrecfm,dtt%XPAR_ALB_PANEL,iresp,ycomment)
534 hprogram,yrecfm,dtt%LDATA_EFF_PANEL,iresp,hcomment=ycomment)
535 IF (dtt%LDATA_EFF_PANEL)
THEN
537 ycomment=
'X_Y_'//yrecfm//
' (-)'
539 hprogram,yrecfm,dtt%XPAR_EFF_PANEL,iresp,ycomment)
542 yrecfm=
'L_FRAC_PANEL'
545 hprogram,yrecfm,dtt%LDATA_FRAC_PANEL,iresp,hcomment=ycomment)
546 IF (dtt%LDATA_FRAC_PANEL)
THEN
547 yrecfm=
'D_FRAC_PANEL'
548 ycomment=
'X_Y_'//yrecfm//
' (-)'
550 hprogram,yrecfm,dtt%XPAR_FRAC_PANEL,iresp,ycomment)
555 IF (top%CBEM .EQ.
'BEM')
THEN
557 IF (dtb%LDATA_HC_FLOOR)
THEN
558 ycomment=
'Number of specified Floor thermal layers'
560 hprogram,
'PAR_FL_LAYER',dtb%NPAR_FLOOR_LAYER,iresp,ycomment)
566 hprogram,yrecfm,dtb%LDATA_HC_FLOOR,iresp,hcomment=ycomment)
567 IF (dtb%LDATA_HC_FLOOR)
THEN
568 DO jlayer=1,dtb%NPAR_FLOOR_LAYER
569 WRITE(yrecfm,fmt=
'(A10,I1.1)')
'D_HC_FLOOR',jlayer
570 ycomment=
'X_Y_'//yrecfm//
' (J/K/m3)'
572 hprogram,yrecfm,dtb%XPAR_HC_FLOOR(:,jlayer),iresp,ycomment)
579 hprogram,yrecfm,dtb%LDATA_TC_FLOOR,iresp,hcomment=ycomment)
580 IF (dtb%LDATA_TC_FLOOR)
THEN
581 DO jlayer=1,dtb%NPAR_FLOOR_LAYER
582 WRITE(yrecfm,fmt=
'(A10,I1.1)')
'D_TC_FLOOR',jlayer
583 ycomment=
'X_Y_'//yrecfm//
' (W/K/m)'
585 hprogram,yrecfm,dtb%XPAR_TC_FLOOR(:,jlayer),iresp,ycomment)
592 hprogram,yrecfm,dtb%LDATA_D_FLOOR,iresp,hcomment=ycomment)
593 IF (dtb%LDATA_D_FLOOR)
THEN
594 DO jlayer=1,dtb%NPAR_FLOOR_LAYER
595 WRITE(yrecfm,fmt=
'(A9,I1.1)')
'D_D_FLOOR',jlayer
596 ycomment=
'X_Y_'//yrecfm//
' (m)'
598 hprogram,yrecfm,dtb%XPAR_D_FLOOR(:,jlayer),iresp,ycomment)
602 yrecfm=
'L_TCOOL_TARG'
605 hprogram,yrecfm,dtb%LDATA_TCOOL_TARGET,iresp,hcomment=ycomment)
606 IF (dtb%LDATA_TCOOL_TARGET)
THEN
607 yrecfm=
'D_TCOOL_TARG'
608 ycomment=
'X_Y_'//yrecfm//
' (K)'
610 hprogram,yrecfm,dtb%XPAR_TCOOL_TARGET,iresp,ycomment)
613 yrecfm=
'L_THEAT_TARG'
616 hprogram,yrecfm,dtb%LDATA_THEAT_TARGET,iresp,hcomment=ycomment)
617 IF (dtb%LDATA_THEAT_TARGET)
THEN
618 yrecfm=
'D_THEAT_TARG'
619 ycomment=
'X_Y_'//yrecfm//
' (K)'
621 hprogram,yrecfm,dtb%XPAR_THEAT_TARGET,iresp,ycomment)
624 yrecfm=
'L_F_WAST_CAN'
627 hprogram,yrecfm,dtb%LDATA_F_WASTE_CAN,iresp,hcomment=ycomment)
628 IF (dtb%LDATA_F_WASTE_CAN)
THEN
629 yrecfm=
'D_F_WAST_CAN'
630 ycomment=
'X_Y_'//yrecfm//
' (-)'
632 hprogram,yrecfm,dtb%XPAR_F_WASTE_CAN,iresp,ycomment)
638 hprogram,yrecfm,dtb%LDATA_EFF_HEAT,iresp,hcomment=ycomment)
639 IF (dtb%LDATA_EFF_HEAT)
THEN
641 ycomment=
'X_Y_'//yrecfm//
' (-)'
643 hprogram,yrecfm,dtb%XPAR_EFF_HEAT,iresp,ycomment)
649 hprogram,yrecfm,dtb%LDATA_QIN,iresp,hcomment=ycomment)
650 IF (dtb%LDATA_QIN)
THEN
652 ycomment=
'X_Y_'//yrecfm//
' (K)'
654 hprogram,yrecfm,dtb%XPAR_QIN,iresp,ycomment)
660 hprogram,yrecfm,dtb%LDATA_QIN_FRAD,iresp,hcomment=ycomment)
661 IF (dtb%LDATA_QIN_FRAD)
THEN
663 ycomment=
'X_Y_'//yrecfm//
' (K)'
665 hprogram,yrecfm,dtb%XPAR_QIN_FRAD,iresp,ycomment)
671 hprogram,yrecfm,dtb%LDATA_SHGC,iresp,hcomment=ycomment)
672 IF (dtb%LDATA_SHGC)
THEN
674 ycomment=
'X_Y_'//yrecfm//
' (-)'
676 hprogram,yrecfm,dtb%XPAR_SHGC,iresp,ycomment)
682 hprogram,yrecfm,dtb%LDATA_U_WIN,iresp,hcomment=ycomment)
683 IF (dtb%LDATA_U_WIN)
THEN
685 ycomment=
'X_Y_'//yrecfm//
' (W m-2 K-1)'
687 hprogram,yrecfm,dtb%XPAR_U_WIN,iresp,ycomment)
693 hprogram,yrecfm,dtb%LDATA_GR,iresp,hcomment=ycomment)
694 IF (dtb%LDATA_GR)
THEN
696 ycomment=
'X_Y_'//yrecfm//
' (-)'
698 hprogram,yrecfm,dtb%XPAR_GR,iresp,ycomment)
704 hprogram,yrecfm,dtb%LDATA_SHGC_SH,iresp,hcomment=ycomment)
705 IF (dtb%LDATA_SHGC_SH)
THEN
707 ycomment=
'X_Y_'//yrecfm//
' (-)'
709 hprogram,yrecfm,dtb%XPAR_SHGC_SH,iresp,ycomment)
712 yrecfm=
'L_FLOOR_HEIG'
715 hprogram,yrecfm,dtb%LDATA_FLOOR_HEIGHT,iresp,hcomment=ycomment)
716 IF (dtb%LDATA_FLOOR_HEIGHT)
THEN
717 yrecfm=
'D_FLOOR_HEIG'
718 ycomment=
'X_Y_'//yrecfm//
' (m)'
720 hprogram,yrecfm,dtb%XPAR_FLOOR_HEIGHT,iresp,ycomment)
726 hprogram,yrecfm,dtb%LDATA_INF,iresp,hcomment=ycomment)
727 IF (dtb%LDATA_INF)
THEN
729 ycomment=
'X_Y_'//yrecfm//
' (ACH)'
731 hprogram,yrecfm,dtb%XPAR_INF,iresp,ycomment)
737 hprogram,yrecfm,dtb%LDATA_QIN_FLAT,iresp,hcomment=ycomment)
738 IF (dtb%LDATA_QIN_FLAT)
THEN
740 ycomment=
'X_Y_'//yrecfm//
' (-)'
742 hprogram,yrecfm,dtb%XPAR_QIN_FLAT,iresp,ycomment)
748 hprogram,yrecfm,dtb%LDATA_HR_TARGET,iresp,hcomment=ycomment)
749 IF (dtb%LDATA_HR_TARGET)
THEN
751 ycomment=
'X_Y_'//yrecfm//
' (-)'
753 hprogram,yrecfm,dtb%XPAR_HR_TARGET,iresp,ycomment)
759 hprogram,yrecfm,dtb%LDATA_V_VENT,iresp,hcomment=ycomment)
760 IF (dtb%LDATA_V_VENT)
THEN
762 ycomment=
'X_Y_'//yrecfm//
' (ACH)'
764 hprogram,yrecfm,dtb%XPAR_V_VENT,iresp,ycomment)
767 yrecfm=
'L_CAP_SYS_HE'
770 hprogram,yrecfm,dtb%LDATA_CAP_SYS_HEAT,iresp,hcomment=ycomment)
771 IF (dtb%LDATA_CAP_SYS_HEAT)
THEN
772 yrecfm=
'D_CAP_SYS_HE'
773 ycomment=
'X_Y_'//yrecfm//
' (W m-2)'
775 hprogram,yrecfm,dtb%XPAR_CAP_SYS_HEAT,iresp,ycomment)
778 yrecfm=
'L_CAP_SYS_RA'
781 hprogram,yrecfm,dtb%LDATA_CAP_SYS_RAT,iresp,hcomment=ycomment)
782 IF (dtb%LDATA_CAP_SYS_RAT)
THEN
783 yrecfm=
'D_CAP_SYS_RA'
784 ycomment=
'X_Y_'//yrecfm//
' (W m-2)'
786 hprogram,yrecfm,dtb%XPAR_CAP_SYS_RAT,iresp,ycomment)
792 hprogram,yrecfm,dtb%LDATA_T_ADP,iresp,hcomment=ycomment)
793 IF (dtb%LDATA_T_ADP)
THEN
795 ycomment=
'X_Y_'//yrecfm//
' (K)'
797 hprogram,yrecfm,dtb%XPAR_T_ADP,iresp,ycomment)
803 hprogram,yrecfm,dtb%LDATA_M_SYS_RAT,iresp,hcomment=ycomment)
804 IF (dtb%LDATA_M_SYS_RAT)
THEN
806 ycomment=
'X_Y_'//yrecfm//
' (kg s-1 m-)'
808 hprogram,yrecfm,dtb%XPAR_M_SYS_RAT,iresp,ycomment)
814 hprogram,yrecfm,dtb%LDATA_COP_RAT,iresp,hcomment=ycomment)
815 IF (dtb%LDATA_COP_RAT)
THEN
817 ycomment=
'X_Y_'//yrecfm//
' (-)'
819 hprogram,yrecfm,dtb%XPAR_COP_RAT,iresp,ycomment)
822 yrecfm=
'L_T_SIZE_MAX'
825 hprogram,yrecfm,dtb%LDATA_T_SIZE_MAX,iresp,hcomment=ycomment)
826 IF (dtb%LDATA_T_SIZE_MAX)
THEN
827 yrecfm=
'D_T_SIZE_MAX'
828 ycomment=
'X_Y_'//yrecfm//
' (K)'
830 hprogram,yrecfm,dtb%XPAR_T_SIZE_MAX,iresp,ycomment)
833 yrecfm=
'L_T_SIZE_MIN'
836 hprogram,yrecfm,dtb%LDATA_T_SIZE_MIN,iresp,hcomment=ycomment)
837 IF (dtb%LDATA_T_SIZE_MIN)
THEN
838 yrecfm=
'D_T_SIZE_MIN'
839 ycomment=
'X_Y_'//yrecfm//
' (K)'
841 hprogram,yrecfm,dtb%XPAR_T_SIZE_MIN,iresp,ycomment)
847 hprogram,yrecfm,dtb%LDATA_F_WATER_COND,iresp,hcomment=ycomment)
848 IF (dtb%LDATA_F_WATER_COND)
THEN
850 ycomment=
'X_Y_'//yrecfm//
' (-)'
852 hprogram,yrecfm,dtb%XPAR_F_WATER_COND,iresp,ycomment)
858 hprogram,yrecfm,dtb%LDATA_SHADE,iresp,hcomment=ycomment)
859 IF (dtb%LDATA_SHADE)
THEN
861 ycomment=
'X_Y_'//yrecfm//
' (-)'
863 hprogram,yrecfm,dtb%XPAR_SHADE,iresp,ycomment)
869 hprogram,yrecfm,dtb%LDATA_NATVENT,iresp,hcomment=ycomment)
870 IF (dtb%LDATA_NATVENT)
THEN
872 ycomment=
'X_Y_'//yrecfm//
' (-)'
874 hprogram,yrecfm,dtb%XPAR_NATVENT,iresp,ycomment)
881 ycomment=
'FLAG FOR SPECIFIED GARDEN PARAMETERS'
883 hprogram,yrecfm,tgdo%LPAR_GARDEN,iresp,hcomment=ycomment)
885 IF (top%LGARDEN .AND. tgdo%LPAR_GARDEN)
THEN
890 hprogram,yrecfm,dtgd%NTIME,iresp,hcomment=ycomment)
894 ycomment=
'X_Y_TYPE_HVEG'
896 hprogram,yrecfm,tgdp%CTYPE_HVEG,iresp,hcomment=ycomment)
900 ycomment=
'X_Y_TYPE_LVEG'
902 hprogram,yrecfm,tgdp%CTYPE_LVEG,iresp,hcomment=ycomment)
906 ycomment=
'X_Y_TYPE_NVEG'
908 hprogram,yrecfm,tgdp%CTYPE_NVEG,iresp,hcomment=ycomment)
912 ycomment=
'X_Y_D_FRAC_HVEG'
914 hprogram,yrecfm,dtgd%XDATA_FRAC_HVEG(:),iresp,hcomment=ycomment)
918 ycomment=
'X_Y_D_FRAC_LVEG'
920 hprogram,yrecfm,dtgd%XDATA_FRAC_LVEG(:),iresp,hcomment=ycomment)
924 ycomment=
'X_Y_D_FRAC_NVEG'
926 hprogram,yrecfm,dtgd%XDATA_FRAC_NVEG(:),iresp,hcomment=ycomment)
929 DO jtime=1,dtgd%NTIME
930 WRITE(yrecfm,fmt=
'(A10,I2.2)')
'D_LAI_HVEG',jtime
931 ycomment=
'X_Y_D_LAI_HVEG'
933 hprogram,yrecfm,dtgd%XDATA_LAI_HVEG(:,jtime),iresp,hcomment=ycomment)
937 DO jtime=1,dtgd%NTIME
938 WRITE(yrecfm,fmt=
'(A10,I2.2)')
'D_LAI_LVEG',jtime
939 ycomment=
'X_Y_D_LAI_LVEG'
941 hprogram,yrecfm,dtgd%XDATA_LAI_LVEG(:,jtime),iresp,hcomment=ycomment)
946 ycomment=
'X_Y_DATA_H_HVEG'
948 hprogram,yrecfm,dtgd%XDATA_H_HVEG(:),iresp,hcomment=ycomment)
952 IF (top%LGREENROOF .AND. tgro%LPAR_GREENROOF)
THEN
956 ycomment=
'X_Y_TYPE_GR'
958 hprogram,yrecfm,tgro%CTYP_GR,iresp,hcomment=ycomment)
961 DO jlayer=1,tgro%NLAYER_GR
962 WRITE(yrecfm,fmt=
'(A7,I2.2)')
'D_OM_GR',jlayer
963 ycomment=
'X_Y_D_OM_GR'
965 hprogram,yrecfm,dtgr%XPAR_OM_GR(:,jlayer),iresp,hcomment=ycomment)
969 DO jlayer=1,tgro%NLAYER_GR
970 WRITE(yrecfm,fmt=
'(A9,I2.2)')
'D_CLAY_GR',jlayer
971 ycomment=
'X_Y_D_CLAY_GR'
973 hprogram,yrecfm,dtgr%XPAR_CLAY_GR(:,jlayer),iresp,hcomment=ycomment)
977 DO jlayer=1,tgro%NLAYER_GR
978 WRITE(yrecfm,fmt=
'(A9,I2.2)')
'D_SAND_GR',jlayer
979 ycomment=
'X_Y_D_SAND_GR'
981 hprogram,yrecfm,dtgr%XPAR_SAND_GR(:,jlayer),iresp,hcomment=ycomment)
985 DO jtime=1,tgro%NTIME_GR
986 WRITE(yrecfm,fmt=
'(A8,I2.2)')
'D_LAI_GR',jtime
987 ycomment=
'X_Y_D_LAI_GR'
989 hprogram,yrecfm,dtgr%XPAR_LAI_GR(:,jtime),iresp,hcomment=ycomment)
1002 IF (lhook) CALL dr_hook(
'WRITESURF_PGD_TEB_PAR_N',1,zhook_handle)
subroutine write_bld_description_n(DGU, U, BDD, HPROGRAM)
subroutine writesurf_pgd_teb_par_n(BDD, DTB, DTGD, DTGR, DTT, DGU, U, TGDO, TGDP, TGRO, TIR, TOP, HPROGRAM)
subroutine writesurf_pgd_teb_irrig_n(DGU, U, TIR, HPROGRAM)