45 USE modi_init_io_surf_n
48 USE modi_end_io_surf_n
51 USE yomhook
,ONLY : lhook, dr_hook
52 USE parkind1
,ONLY : jprb
66 TYPE(teb_t),
INTENT(INOUT) :: t
69 CHARACTER(LEN=6),
INTENT(IN) :: hprogram
70 INTEGER,
INTENT(IN) :: kteb_patch
76 CHARACTER(LEN=3) :: ypatch
77 CHARACTER(LEN=12) :: yrecfm
78 CHARACTER(LEN=100):: ycomment
79 REAL(KIND=JPRB) :: zhook_handle
86 IF (lhook) CALL dr_hook(
'WRITE_DIAG_MISC_TEB_N',0,zhook_handle)
88 hprogram,
'TOWN ',
'TEB ',
'WRITE')
91 IF (top%NTEB_PATCH>1)
WRITE(ypatch,fmt=
'(A,I1,A)')
'T',kteb_patch,
'_'
94 IF (dgmto%LSURF_MISC_BUDGET)
THEN
100 ycomment=
'Road fraction'
102 hprogram,yrecfm,t%CUR%XROAD(:),iresp,hcomment=ycomment)
105 yrecfm=adjustl(ypatch//yrecfm)
106 ycomment=
'town roughness length'
109 hprogram,yrecfm,t%CUR%XZ0_TOWN(:),iresp,hcomment=ycomment)
112 yrecfm=adjustl(ypatch//yrecfm)
113 ycomment=
'domestic heating'//
' (W/m2)'
116 hprogram,yrecfm,dgmt%CUR%XQF_BLD(:),iresp,hcomment=ycomment)
119 yrecfm=adjustl(ypatch//yrecfm)
120 ycomment=
'total anthropogenic heat'//
' (W/m2)'
123 hprogram,yrecfm,dgmt%CUR%XQF_TOWN(:),iresp,hcomment=ycomment)
126 yrecfm=adjustl(ypatch//yrecfm)
127 ycomment=
'heat storage inside building'//
' (W/m2)'
130 hprogram,yrecfm,dgmt%CUR%XDQS_TOWN(:),iresp,hcomment=ycomment)
133 yrecfm=adjustl(ypatch//yrecfm)
134 ycomment=
'aggregated runoff for town'//
' (kg/m2/s)'
137 hprogram,yrecfm,dgmt%CUR%XRUNOFF_TOWN(:),iresp,hcomment=ycomment)
140 yrecfm=adjustl(ypatch//yrecfm)
141 ycomment=
' net radiation at road'//
' (W/m2)'
144 hprogram,yrecfm,dgmt%CUR%XRN_ROAD(:),iresp,hcomment=ycomment)
147 yrecfm=adjustl(ypatch//yrecfm)
148 ycomment=
'road sensible heat flux'//
' (W/m2)'
151 hprogram,yrecfm,dgmt%CUR%XH_ROAD(:),iresp,hcomment=ycomment)
154 yrecfm=adjustl(ypatch//yrecfm)
155 ycomment=
'road latent heat flux'//
' (W/m2)'
158 hprogram,yrecfm,dgmt%CUR%XLE_ROAD(:),iresp,hcomment=ycomment)
161 yrecfm=adjustl(ypatch//yrecfm)
162 ycomment=
'net road conduction flux'//
' (W/m2)'
165 hprogram,yrecfm,dgmt%CUR%XGFLUX_ROAD(:),iresp,hcomment=ycomment)
168 yrecfm=adjustl(ypatch//yrecfm)
169 ycomment=
'road surface runoff'//
' (kg/m2/s)'
172 hprogram,yrecfm,dgmt%CUR%XRUNOFF_ROAD(:),iresp,hcomment=ycomment)
174 IF (top%CWALL_OPT==
'UNIF')
THEN
177 yrecfm=adjustl(ypatch//yrecfm)
178 ycomment=
'net radiation for wall '//yrecfm//
' (W/m2)'
181 hprogram,yrecfm,dgmt%CUR%XRN_WALL_A(:),iresp,hcomment=ycomment)
184 yrecfm=adjustl(ypatch//yrecfm)
185 ycomment=
'wall sensible heat flux'//yrecfm//
' (W/m2)'
188 hprogram,yrecfm,dgmt%CUR%XH_WALL_A(:),iresp,hcomment=ycomment)
191 yrecfm=adjustl(ypatch//yrecfm)
192 ycomment=
'net wall conduction flux'//yrecfm//
' (W/m2)'
195 hprogram,yrecfm,dgmt%CUR%XGFLUX_WALL_A(:),iresp,hcomment=ycomment)
200 yrecfm=adjustl(ypatch//yrecfm)
201 ycomment=
'net radiation for wall A'//yrecfm//
' (W/m2)'
204 hprogram,yrecfm,dgmt%CUR%XRN_WALL_A(:),iresp,hcomment=ycomment)
207 yrecfm=adjustl(ypatch//yrecfm)
208 ycomment=
'wall A sensible heat flux'//yrecfm//
' (W/m2)'
211 hprogram,yrecfm,dgmt%CUR%XH_WALL_A(:),iresp,hcomment=ycomment)
214 yrecfm=adjustl(ypatch//yrecfm)
215 ycomment=
'net wall A conduction flux'//yrecfm//
' (W/m2)'
218 hprogram,yrecfm,dgmt%CUR%XGFLUX_WALL_A(:),iresp,hcomment=ycomment)
221 yrecfm=adjustl(ypatch//yrecfm)
222 ycomment=
'net radiation for wall B'//yrecfm//
' (W/m2)'
225 hprogram,yrecfm,dgmt%CUR%XRN_WALL_B(:),iresp,hcomment=ycomment)
228 yrecfm=adjustl(ypatch//yrecfm)
229 ycomment=
'wall B sensible heat flux'//yrecfm//
' (W/m2)'
232 hprogram,yrecfm,dgmt%CUR%XH_WALL_B(:),iresp,hcomment=ycomment)
235 yrecfm=adjustl(ypatch//yrecfm)
236 ycomment=
'net wall B conduction flux'//yrecfm//
' (W/m2)'
239 hprogram,yrecfm,dgmt%CUR%XGFLUX_WALL_B(:),iresp,hcomment=ycomment)
244 yrecfm=adjustl(ypatch//yrecfm)
245 ycomment=
'net radiation for roof'//yrecfm//
' (W/m2)'
248 hprogram,yrecfm,dgmt%CUR%XRN_ROOF(:),iresp,hcomment=ycomment)
251 yrecfm=adjustl(ypatch//yrecfm)
252 ycomment=
'roof sensible heat flux'//yrecfm//
' (W/m2)'
255 hprogram,yrecfm,dgmt%CUR%XH_ROOF(:),iresp,hcomment=ycomment)
258 yrecfm=adjustl(ypatch//yrecfm)
259 ycomment=
'roof latent heat flux'//yrecfm//
' (W/m2)'
262 hprogram,yrecfm,dgmt%CUR%XLE_ROOF(:),iresp,hcomment=ycomment)
265 yrecfm=adjustl(ypatch//yrecfm)
266 ycomment=
'net roof conduction flux'//yrecfm//
' (W/m2)'
269 hprogram,yrecfm,dgmt%CUR%XGFLUX_ROOF(:),iresp,hcomment=ycomment)
272 yrecfm=adjustl(ypatch//yrecfm)
273 ycomment=
'aggregated roof runoff'//
' (kg/m2/s)'
276 hprogram,yrecfm,dgmt%CUR%XRUNOFF_ROOF(:),iresp,hcomment=ycomment)
279 IF (top%LGARDEN)
THEN
282 yrecfm=adjustl(ypatch//yrecfm)
283 ycomment=
'net radiation for GARDEN areas'//yrecfm//
' (W/m2)'
286 hprogram,yrecfm,dgmt%CUR%XRN_GARDEN(:),iresp,hcomment=ycomment)
289 yrecfm=adjustl(ypatch//yrecfm)
290 ycomment=
'GARDEN area sensible heat flux'//yrecfm//
' (W/m2)'
293 hprogram,yrecfm,dgmt%CUR%XH_GARDEN(:),iresp,hcomment=ycomment)
296 yrecfm=adjustl(ypatch//yrecfm)
297 ycomment=
'GARDEN area latent heat flux'//yrecfm//
' (W/m2)'
300 hprogram,yrecfm,dgmt%CUR%XLE_GARDEN(:),iresp,hcomment=ycomment)
303 yrecfm=adjustl(ypatch//yrecfm)
304 ycomment=
'net GARDEN area conduction flux'//yrecfm//
' (W/m2)'
307 hprogram,yrecfm,dgmt%CUR%XGFLUX_GARDEN(:),iresp,hcomment=ycomment)
311 yrecfm=adjustl(ypatch//yrecfm)
312 ycomment=
'garden surface runoff'//
' (kg/m2/s)'
315 hprogram,yrecfm,dgmt%CUR%XRUNOFF_GARDEN(:),iresp,hcomment=ycomment)
321 yrecfm=adjustl(ypatch//yrecfm)
322 ycomment=
'net radiation for built surfaces'//yrecfm//
' (W/m2)'
325 hprogram,yrecfm,dgmt%CUR%XRN_BLT(:),iresp,hcomment=ycomment)
328 yrecfm=adjustl(ypatch//yrecfm)
329 ycomment=
'built surface sensible heat flux'//yrecfm//
' (W/m2)'
332 hprogram,yrecfm,dgmt%CUR%XH_BLT(:),iresp,hcomment=ycomment)
335 yrecfm=adjustl(ypatch//yrecfm)
336 ycomment=
'built surface latent heat flux'//yrecfm//
' (W/m2)'
339 hprogram,yrecfm,dgmt%CUR%XLE_BLT(:),iresp,hcomment=ycomment)
342 yrecfm=adjustl(ypatch//yrecfm)
343 ycomment=
'built surface conduction flux'//yrecfm//
' (W/m2)'
346 hprogram,yrecfm,dgmt%CUR%XGFLUX_BLT(:),iresp,hcomment=ycomment)
350 yrecfm=adjustl(ypatch//yrecfm)
351 ycomment=
'Sdown absorbed by roofs'//
' (W/m2)'
354 hprogram,yrecfm,dgmt%CUR%XABS_SW_ROOF(:),iresp,hcomment=ycomment)
357 yrecfm=adjustl(ypatch//yrecfm)
358 ycomment=
'Sdown absorbed by snow on roofs'//
' (W/m2)'
361 hprogram,yrecfm,dgmt%CUR%XABS_SW_SNOW_ROOF(:),iresp,hcomment=ycomment)
364 yrecfm=adjustl(ypatch//yrecfm)
365 ycomment=
'Ldown absorbed by roofs'//
' (W/m2)'
368 hprogram,yrecfm,dgmt%CUR%XABS_LW_ROOF(:),iresp,hcomment=ycomment)
371 yrecfm=adjustl(ypatch//yrecfm)
372 ycomment=
'Ldown absorbed by snow on roofs'//
' (W/m2)'
375 hprogram,yrecfm,dgmt%CUR%XABS_LW_SNOW_ROOF(:),iresp,hcomment=ycomment)
378 yrecfm=adjustl(ypatch//yrecfm)
379 ycomment=
'Sdown absorbed by roads'//
' (W/m2)'
382 hprogram,yrecfm,dgmt%CUR%XABS_SW_ROAD(:),iresp,hcomment=ycomment)
385 yrecfm=adjustl(ypatch//yrecfm)
386 ycomment=
'Sdown absorbed by snow on roads'//
' (W/m2)'
389 hprogram,yrecfm,dgmt%CUR%XABS_SW_SNOW_ROAD(:),iresp,hcomment=ycomment)
392 yrecfm=adjustl(ypatch//yrecfm)
393 ycomment=
'Ldown absorbed by roads'//
' (W/m2)'
396 hprogram,yrecfm,dgmt%CUR%XABS_LW_ROAD(:),iresp,hcomment=ycomment)
399 yrecfm=adjustl(ypatch//yrecfm)
400 ycomment=
'Ldown absorbed by snow on roads'//
' (W/m2)'
403 hprogram,yrecfm,dgmt%CUR%XABS_LW_SNOW_ROAD(:),iresp,hcomment=ycomment)
405 IF (top%CWALL_OPT==
'UNIF')
THEN
408 yrecfm=adjustl(ypatch//yrecfm)
409 ycomment=
'Sdown absorbed by wall'//
' (W/m2)'
412 hprogram,yrecfm,dgmt%CUR%XABS_SW_WALL_A(:),iresp,hcomment=ycomment)
415 yrecfm=adjustl(ypatch//yrecfm)
416 ycomment=
'Ldown absorbed by wall '//
' (W/m2)'
419 hprogram,yrecfm,dgmt%CUR%XABS_LW_WALL_A(:),iresp,hcomment=ycomment)
424 yrecfm=adjustl(ypatch//yrecfm)
425 ycomment=
'Sdown absorbed by wall A'//
' (W/m2)'
428 hprogram,yrecfm,dgmt%CUR%XABS_SW_WALL_A(:),iresp,hcomment=ycomment)
431 yrecfm=adjustl(ypatch//yrecfm)
432 ycomment=
'Ldown absorbed by wall A'//
' (W/m2)'
435 hprogram,yrecfm,dgmt%CUR%XABS_LW_WALL_A(:),iresp,hcomment=ycomment)
438 yrecfm=adjustl(ypatch//yrecfm)
439 ycomment=
'Sdown absorbed by wall B'//
' (W/m2)'
442 hprogram,yrecfm,dgmt%CUR%XABS_SW_WALL_B(:),iresp,hcomment=ycomment)
445 yrecfm=adjustl(ypatch//yrecfm)
446 ycomment=
'Ldown absorbed by wall B'//
' (W/m2)'
449 hprogram,yrecfm,dgmt%CUR%XABS_LW_WALL_B(:),iresp,hcomment=ycomment)
453 IF (top%LGARDEN)
THEN
456 yrecfm=adjustl(ypatch//yrecfm)
457 ycomment=
'Sdown absorbed by GARDEN areas'//
' (W/m2)'
460 hprogram,yrecfm,dgmt%CUR%XABS_SW_GARDEN(:),iresp,hcomment=ycomment)
463 yrecfm=adjustl(ypatch//yrecfm)
464 ycomment=
'Ldown absorbed by GARDEN areas'//
' (W/m2)'
467 hprogram,yrecfm,dgmt%CUR%XABS_LW_GARDEN(:),iresp,hcomment=ycomment)
472 yrecfm=adjustl(ypatch//yrecfm)
473 ycomment=
'Total solar rad reflected by ground '//
' (W/m2)'
475 hprogram,yrecfm,dgmt%CUR%XREF_SW_GRND(:),iresp,hcomment=ycomment)
478 yrecfm=adjustl(ypatch//yrecfm)
479 ycomment=
'LW emitted by ground'//
' (W/m2)'
481 hprogram,yrecfm,dgmt%CUR%XEMIT_LW_GRND(:),iresp,hcomment=ycomment)
484 yrecfm=adjustl(ypatch//yrecfm)
485 ycomment=
'Total solar rad reflected by facade '//
' (W/m2)'
487 hprogram,yrecfm,dgmt%CUR%XREF_SW_FAC(:),iresp,hcomment=ycomment)
490 yrecfm=adjustl(ypatch//yrecfm)
491 ycomment=
'LW emitted by facade'//
' (W/m2)'
493 hprogram,yrecfm,dgmt%CUR%XEMIT_LW_FAC(:),iresp,hcomment=ycomment)
496 IF (top%CBEM==
'BEM')
THEN
499 yrecfm=adjustl(ypatch//yrecfm)
500 ycomment=
'Current Cooling system temperature set point'//
' (K)'
502 hprogram,yrecfm,dgmt%CUR%XTCOOL_CUR_TARGET(:),iresp,hcomment=ycomment)
505 yrecfm=adjustl(ypatch//yrecfm)
506 ycomment=
'Current Heating system temperature set point'//
' (K)'
508 hprogram,yrecfm,dgmt%CUR%XTHEAT_CUR_TARGET(:),iresp,hcomment=ycomment)
511 yrecfm=adjustl(ypatch//yrecfm)
512 ycomment=
'Current Building internal heat loads'//
' (W m-2(floor))'
514 hprogram,yrecfm,dgmt%CUR%XCUR_QIN(:),iresp,hcomment=ycomment)
517 yrecfm=adjustl(ypatch//yrecfm)
518 ycomment=
'heat flux from bld'//
' (W/m2)'
520 hprogram,yrecfm,dgmt%CUR%XFLX_BLD(:),iresp,hcomment=ycomment)
523 yrecfm=adjustl(ypatch//yrecfm)
524 ycomment=
'sensible cooling demand'//
' (W/m2)'
526 hprogram,yrecfm,dgmt%CUR%XH_BLD_COOL(:),iresp,hcomment=ycomment)
529 yrecfm=adjustl(ypatch//yrecfm)
530 ycomment=
'Total cooling demand'//
' (W/m2)'
532 hprogram,yrecfm,dgmt%CUR%XT_BLD_COOL(:),iresp,hcomment=ycomment)
535 yrecfm=adjustl(ypatch//yrecfm)
536 ycomment=
'sensible heating demand'//
' (W/m2)'
538 hprogram,yrecfm,dgmt%CUR%XH_BLD_HEAT(:),iresp,hcomment=ycomment)
541 yrecfm=adjustl(ypatch//yrecfm)
542 ycomment=
'latent cooling demand'//
' (W/m2)'
544 hprogram,yrecfm,dgmt%CUR%XLE_BLD_COOL(:),iresp,hcomment=ycomment)
547 yrecfm=adjustl(ypatch//yrecfm)
548 ycomment=
'latent heating demand'//
' (W/m2)'
550 hprogram,yrecfm,dgmt%CUR%XLE_BLD_HEAT(:),iresp,hcomment=ycomment)
553 yrecfm=adjustl(ypatch//yrecfm)
554 ycomment=
'sensible waste heat from HVAC'//
' (W/m2)'
556 hprogram,yrecfm,dgmt%CUR%XH_WASTE(:),iresp,hcomment=ycomment)
559 yrecfm=adjustl(ypatch//yrecfm)
560 ycomment=
'latent waste heat from HVAC'//
' (W/m2)'
562 hprogram,yrecfm,dgmt%CUR%XLE_WASTE(:),iresp,hcomment=ycomment)
565 yrecfm=adjustl(ypatch//yrecfm)
566 ycomment=
'cooling energy consumption'//
' (W/m2)'
568 hprogram,yrecfm,dgmt%CUR%XHVAC_COOL(:),iresp,hcomment=ycomment)
571 yrecfm=adjustl(ypatch//yrecfm)
572 ycomment=
'heating energy consumption'//
' (W/m2)'
574 hprogram,yrecfm,dgmt%CUR%XHVAC_HEAT(:),iresp,hcomment=ycomment)
577 yrecfm=adjustl(ypatch//yrecfm)
578 ycomment=
'Actual capacity of the cooling system'//
' (W m-2(bld))'
580 hprogram,yrecfm,dgmt%CUR%XCAP_SYS(:),iresp,hcomment=ycomment)
583 yrecfm=adjustl(ypatch//yrecfm)
584 ycomment=
'Actual HVAC mass flow rate'//
' (kg s-1 m-2(bld))'
586 hprogram,yrecfm,dgmt%CUR%XM_SYS(:),iresp,hcomment=ycomment)
589 yrecfm=adjustl(ypatch//yrecfm)
590 ycomment=
'Actual COP of the cooling system'//
' ()'
592 hprogram,yrecfm,dgmt%CUR%XCOP(:),iresp,hcomment=ycomment)
595 yrecfm=adjustl(ypatch//yrecfm)
596 ycomment=
'Supply air specific humidity'//
' (kg kg-1)'
598 hprogram,yrecfm,dgmt%CUR%XQ_SYS(:),iresp,hcomment=ycomment)
601 yrecfm=adjustl(ypatch//yrecfm)
602 ycomment=
'Supply air temperature'//
' (K)'
604 hprogram,yrecfm,dgmt%CUR%XT_SYS(:),iresp,hcomment=ycomment)
607 yrecfm=adjustl(ypatch//yrecfm)
608 ycomment=
'Solar radiation transmitted through windows'//
' (W m-2(bld))'
610 hprogram,yrecfm,dgmt%CUR%XTR_SW_WIN(:),iresp,hcomment=ycomment)
613 yrecfm=adjustl(ypatch//yrecfm)
614 ycomment=
'HVAC fan power'//
' (W m-2(bld))'
616 hprogram,yrecfm,dgmt%CUR%XFAN_POWER(:),iresp,hcomment=ycomment)
619 yrecfm=adjustl(ypatch//yrecfm)
620 ycomment=
'Indoor mean radiant temperature'//
' (K)'
622 hprogram,yrecfm,dgmt%CUR%XT_RAD_IND(:),iresp,hcomment=ycomment)
625 yrecfm=adjustl(ypatch//yrecfm)
626 ycomment=
'Indoor relative humidity'//
' (-)'
628 hprogram,yrecfm,dgmt%CUR%XHU_BLD(:),iresp,hcomment=ycomment)
631 yrecfm=adjustl(ypatch//yrecfm)
632 ycomment=
'Sdown absorbed by windows'//
' (W/m2)'
634 hprogram,yrecfm,dgmt%CUR%XABS_SW_WIN(:),iresp,hcomment=ycomment)
637 yrecfm=adjustl(ypatch//yrecfm)
638 ycomment=
'Ldown absorbed by windows'//
' (W/m2)'
640 hprogram,yrecfm,dgmt%CUR%XABS_LW_WIN(:),iresp,hcomment=ycomment)
644 IF (top%LGREENROOF)
THEN
646 WHERE (t%CUR%XGREENROOF(:) == 0.)
647 dgmt%CUR%XRN_GREENROOF (:) = xundef
648 dgmt%CUR%XH_GREENROOF (:) = xundef
649 dgmt%CUR%XLE_GREENROOF (:) = xundef
650 dgmt%CUR%XGFLUX_GREENROOF (:) = xundef
651 dgmt%CUR%XABS_SW_GREENROOF(:) = xundef
652 dgmt%CUR%XABS_LW_GREENROOF(:) = xundef
653 dgmt%CUR%XG_GREENROOF_ROOF(:) = xundef
654 dgmt%CUR%XRUNOFF_GREENROOF(:) = xundef
655 dgmt%CUR%XDRAIN_GREENROOF (:) = xundef
659 yrecfm=adjustl(ypatch//yrecfm)
660 ycomment=
'net radiation for GREENROOFs'//
' (W/m2)'
662 hprogram,yrecfm,dgmt%CUR%XRN_GREENROOF(:),iresp,hcomment=ycomment)
665 yrecfm=adjustl(ypatch//yrecfm)
666 ycomment=
'sensible heat flux for GREENROOFs'//
' (W/m2)'
668 hprogram,yrecfm,dgmt%CUR%XH_GREENROOF(:),iresp,hcomment=ycomment)
671 yrecfm=adjustl(ypatch//yrecfm)
672 ycomment=
'latent heat flux for GREENROOFs'//
' (W/m2)'
674 hprogram,yrecfm,dgmt%CUR%XLE_GREENROOF(:),iresp,hcomment=ycomment)
677 yrecfm=adjustl(ypatch//yrecfm)
678 ycomment=
'net conduction flux for GREENROOFs'//
' (W/m2)'
680 hprogram,yrecfm,dgmt%CUR%XGFLUX_GREENROOF(:),iresp,hcomment=ycomment)
683 yrecfm=adjustl(ypatch//yrecfm)
684 ycomment=
'Sdown absorbed by GREENROOFs'//
' (W/m2)'
686 hprogram,yrecfm,dgmt%CUR%XABS_SW_GREENROOF(:),iresp,hcomment=ycomment)
689 yrecfm=adjustl(ypatch//yrecfm)
690 ycomment=
'Ldown absorbed by GREENROOFs'//
' (W/m2)'
692 hprogram,yrecfm,dgmt%CUR%XABS_LW_GREENROOF(:),iresp,hcomment=ycomment)
695 yrecfm=adjustl(ypatch//yrecfm)
696 ycomment=
'heat flux between GREENROOF and ROOF'//
' (W/m2)'
698 hprogram,yrecfm,dgmt%CUR%XG_GREENROOF_ROOF(:),iresp,hcomment=ycomment)
701 yrecfm=adjustl(ypatch//yrecfm)
702 ycomment=
'GREENROOF soil surface runoff'//
' (kg/m2/s)'
704 hprogram,yrecfm,dgmt%CUR%XRUNOFF_GREENROOF(:),iresp,hcomment=ycomment)
707 yrecfm=adjustl(ypatch//yrecfm)
708 ycomment=
'GREENROOF total vertical drainage'//
' (kg/m2/s)'
710 hprogram,yrecfm,dgmt%CUR%XDRAIN_GREENROOF(:),iresp,hcomment=ycomment)
712 WHERE (t%CUR%XGREENROOF(:) == 1.)
713 dgmt%CUR%XRN_STRLROOF(:) = xundef
714 dgmt%CUR%XH_STRLROOF(:) = xundef
715 dgmt%CUR%XLE_STRLROOF(:) = xundef
716 dgmt%CUR%XGFLUX_STRLROOF(:) = xundef
717 dgmt%CUR%XRUNOFF_STRLROOF(:) = xundef
721 yrecfm=adjustl(ypatch//yrecfm)
722 ycomment=
'structural roof net radiation'//yrecfm//
' (W/m2)'
725 hprogram,yrecfm,dgmt%CUR%XRN_STRLROOF(:),iresp,hcomment=ycomment)
728 yrecfm=adjustl(ypatch//yrecfm)
729 ycomment=
'structural roof sensible heat flux'//yrecfm//
' (W/m2)'
732 hprogram,yrecfm,dgmt%CUR%XH_STRLROOF(:),iresp,hcomment=ycomment)
735 yrecfm=adjustl(ypatch//yrecfm)
736 ycomment=
'structural roof latent heat flux'//yrecfm//
' (W/m2)'
739 hprogram,yrecfm,dgmt%CUR%XLE_STRLROOF(:),iresp,hcomment=ycomment)
742 yrecfm=adjustl(ypatch//yrecfm)
743 ycomment=
'structural roof conduction flux'//yrecfm//
' (W/m2)'
746 hprogram,yrecfm,dgmt%CUR%XGFLUX_STRLROOF(:),iresp,hcomment=ycomment)
749 yrecfm=adjustl(ypatch//yrecfm)
750 ycomment=
'structural roof surface runoff'//
' (kg/m2/s)'
753 hprogram,yrecfm,dgmt%CUR%XRUNOFF_STRLROOF(:),iresp,hcomment=ycomment)
758 IF (top%LSOLAR_PANEL)
THEN
760 yrecfm=adjustl(ypatch//yrecfm)
761 ycomment=
'Shortwave absorbed by solar panels on roofs'//
' (W/m2 panel)'
764 hprogram,yrecfm,dgmt%CUR%XABS_SW_PANEL(:),iresp,hcomment=ycomment)
767 yrecfm=adjustl(ypatch//yrecfm)
768 ycomment=
'Longwave absorbed by solar panels on roofs'//
' (W/m2 panel)'
771 hprogram,yrecfm,dgmt%CUR%XABS_LW_PANEL(:),iresp,hcomment=ycomment)
774 yrecfm=adjustl(ypatch//yrecfm)
775 ycomment=
'Net radiation of solar panels on roofs'//
' (W/m2 panel)'
778 hprogram,yrecfm,dgmt%CUR%XRN_PANEL(:),iresp,hcomment=ycomment)
781 yrecfm=adjustl(ypatch//yrecfm)
782 ycomment=
'Sensible Heat flux from solar panels on roofs'//
' (W/m2 panel)'
785 hprogram,yrecfm,dgmt%CUR%XH_PANEL(:),iresp,hcomment=ycomment)
788 yrecfm=adjustl(ypatch//yrecfm)
789 ycomment=
'Photovolatic production '//
' (W/m2 photovoltaic panel)'
792 hprogram,yrecfm,dgmt%CUR%XPHOT_PROD_PANEL(:),iresp,hcomment=ycomment)
795 yrecfm=adjustl(ypatch//yrecfm)
796 ycomment=
'Hot Water production '//
' (W/m2 thermal panel)'
799 hprogram,yrecfm,dgmt%CUR%XTHER_PROD_PANEL(:),iresp,hcomment=ycomment)
802 yrecfm=adjustl(ypatch//yrecfm)
803 ycomment=
'Production by solar panels on roofs'//
' (W/m2 panel)'
806 hprogram,yrecfm,dgmt%CUR%XPROD_PANEL(:),iresp,hcomment=ycomment)
809 yrecfm=adjustl(ypatch//yrecfm)
810 ycomment=
'Photovolatic production '//
' (W/m2 bld)'
813 hprogram,yrecfm,dgmt%CUR%XPHOT_PROD_BLD(:),iresp,hcomment=ycomment)
816 yrecfm=adjustl(ypatch//yrecfm)
817 ycomment=
'Hot Water production '//
' (W/m2 bld)'
820 hprogram,yrecfm,dgmt%CUR%XTHER_PROD_BLD(:),iresp,hcomment=ycomment)
829 IF (top%CBEM==
'BEM')
THEN
832 yrecfm=adjustl(ypatch//yrecfm)
833 ycomment=
'cumulated cooling energy consumption'//
' (J/m2)'
835 hprogram,yrecfm,dgct%CUR%XHVACC_COOL(:),iresp,hcomment=ycomment)
838 yrecfm=adjustl(ypatch//yrecfm)
839 ycomment=
'cumulated heating energy consumption'//
' (J/m2)'
841 hprogram,yrecfm,dgct%CUR%XHVACC_HEAT(:),iresp,hcomment=ycomment)
846 yrecfm=adjustl(ypatch//yrecfm)
847 ycomment=
'cumulated aggregated runoff for town'//
' (kg/m2)'
849 hprogram,yrecfm,dgct%CUR%XRUNOFFC_TOWN(:),iresp,hcomment=ycomment)
852 yrecfm=adjustl(ypatch//yrecfm)
853 ycomment=
'cumulated road surface runoff'//
' (kg/m2 road)'
855 hprogram,yrecfm,dgct%CUR%XRUNOFFC_ROAD(:),iresp,hcomment=ycomment)
858 yrecfm=adjustl(ypatch//yrecfm)
859 ycomment=
'cumulated aggregated roof runoff'//
' (kg/m2 roof)'
861 hprogram,yrecfm,dgct%CUR%XRUNOFFC_ROOF(:),iresp,hcomment=ycomment)
864 yrecfm=adjustl(ypatch//yrecfm)
865 ycomment=
'cumulated road irrigation'//
' (kg/m2 road)'
867 hprogram,yrecfm,dgct%CUR%XIRRIGC_ROAD(:),iresp,hcomment=ycomment)
869 IF (top%LGARDEN)
THEN
872 yrecfm=adjustl(ypatch//yrecfm)
873 ycomment=
'cumulated garden surface runoff'//
' (kg/m2 garden)'
875 hprogram,yrecfm,dgct%CUR%XRUNOFFC_GARDEN(:),iresp,hcomment=ycomment)
878 yrecfm=adjustl(ypatch//yrecfm)
879 ycomment=
'cumulated garden surface drainage'//
' (kg/m2 garden)'
881 hprogram,yrecfm,dgct%CUR%XDRAINC_GARDEN(:),iresp,hcomment=ycomment)
884 yrecfm=adjustl(ypatch//yrecfm)
885 ycomment=
'cumulated garden irrigation'//
' (kg/m2 garden)'
887 hprogram,yrecfm,dgct%CUR%XIRRIGC_GARDEN(:),iresp,hcomment=ycomment)
891 IF (top%LGREENROOF)
THEN
893 WHERE (t%CUR%XGREENROOF(:) == 0.)
894 dgct%CUR%XRUNOFFC_GREENROOF (:) = xundef
895 dgct%CUR%XDRAINC_GREENROOF (:) = xundef
896 dgct%CUR%XIRRIGC_GREENROOF (:) = xundef
900 yrecfm=adjustl(ypatch//yrecfm)
901 ycomment=
'GREENROOF cumulated soil surface runoff'//
' (kg/m2 greenroof)'
903 hprogram,yrecfm,dgct%CUR%XRUNOFFC_GREENROOF(:),iresp,hcomment=ycomment)
906 yrecfm=adjustl(ypatch//yrecfm)
907 ycomment=
'GREENROOF cumulated total vertical drainage'//
' (kg/m2 greenroof)'
909 hprogram,yrecfm,dgct%CUR%XDRAINC_GREENROOF(:),iresp,hcomment=ycomment)
913 yrecfm=adjustl(ypatch//yrecfm)
914 ycomment=
'GREENROOF cumulated irrigation'//
' (kg/m2 greenroof)'
916 hprogram,yrecfm,dgct%CUR%XIRRIGC_GREENROOF(:),iresp,hcomment=ycomment)
918 WHERE (t%CUR%XGREENROOF(:) == 1.)
919 dgct%CUR%XRUNOFFC_STRLROOF (:) = xundef
923 yrecfm=adjustl(ypatch//yrecfm)
924 ycomment=
'cumulated structural roof surface runoff'//
' (kg/m2)'
926 hprogram,yrecfm,dgct%CUR%XRUNOFFC_STRLROOF(:),iresp,hcomment=ycomment)
931 IF (top%LSOLAR_PANEL)
THEN
934 yrecfm=adjustl(ypatch//yrecfm)
935 ycomment=
'Cumulated Photovolatic production '//
' (J/m2 bld)'
938 hprogram,yrecfm,dgct%CUR%XPHOT_PROD_BLDC(:),iresp,hcomment=ycomment)
941 yrecfm=adjustl(ypatch//yrecfm)
942 ycomment=
'Cumulated Hot water production '//
' (J/m2 bld)'
945 hprogram,yrecfm,dgct%CUR%XTHER_PROD_BLDC(:),iresp,hcomment=ycomment)
957 IF (lhook) CALL dr_hook(
'WRITE_DIAG_MISC_TEB_N',1,zhook_handle)
subroutine init_io_surf_n(DTCO, DGU, U, HPROGRAM, HMASK, HSCHEME, HACTION)
subroutine write_diag_misc_teb_n(DTCO, DGU, U, DGCT, DGMT, DGMTO, T, TOP, HPROGRAM, KTEB_PATCH)
subroutine end_io_surf_n(HPROGRAM)