7 GDD, GDDE, GDDEC, GRD, GRDE, GRDEC, &
8 T, TOP, HPROGRAM,KTEB_PATCH)
47 USE modi_init_io_surf_n
50 USE modi_end_io_surf_n
63 CHARACTER(LEN=*),
DIMENSION(:),
INTENT(IN) :: HSELECT
68 TYPE(
teb_t),
INTENT(INOUT) :: T
71 TYPE(
diag_t),
INTENT(INOUT) :: GDD
74 TYPE(
diag_t),
INTENT(INOUT) :: GRD
78 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
79 INTEGER,
INTENT(IN) :: KTEB_PATCH
85 CHARACTER(LEN=3) :: YPATCH
86 CHARACTER(LEN=12) :: YRECFM
87 CHARACTER(LEN=100):: YCOMMENT
88 REAL(KIND=JPRB) :: ZHOOK_HANDLE
95 IF (
lhook)
CALL dr_hook(
'WRITE_DIAG_MISC_TEB_N',0,zhook_handle)
99 IF (dmto%LSURF_MISC_BUDGET)
THEN 102 IF (top%NTEB_PATCH>1)
WRITE(ypatch,fmt=
'(A,I1,A)')
'T',kteb_patch,
'_' 104 CALL init_io_surf_n(dtco, u, hprogram,
'TOWN ',
'TEB ',
'WRITE',
'TEB_DIAGNOSTICS.OUT.nc' 110 ycomment=
'Road fraction' 111 CALL write_surf(hselect,hprogram,yrecfm,t%XROAD(:),iresp,hcomment=ycomment
114 yrecfm=adjustl(ypatch//yrecfm)
115 ycomment=
'town roughness length' 116 CALL write_surf(hselect,hprogram,yrecfm,t%XZ0_TOWN(:),iresp,hcomment=ycomment
119 yrecfm=adjustl(ypatch//yrecfm)
120 ycomment=
'domestic heating'//
' (W/m2)' 121 CALL write_surf(hselect,hprogram,yrecfm,dmt%XQF_BLD(:),iresp,hcomment=ycomment
124 yrecfm=adjustl(ypatch//yrecfm)
125 ycomment=
'total anthropogenic heat'//
' (W/m2)' 126 CALL write_surf(hselect,hprogram,yrecfm,dmt%XQF_TOWN(:),iresp,hcomment
129 yrecfm=adjustl(ypatch//yrecfm)
130 ycomment=
'heat storage inside building'//
' (W/m2)' 131 CALL write_surf(hselect,hprogram,yrecfm,dmt%XDQS_TOWN(:),iresp,hcomment
134 yrecfm=adjustl(ypatch//yrecfm)
135 ycomment=
'aggregated runoff for town'//
' (kg/m2/s)' 136 CALL write_surf(hselect,hprogram,yrecfm,dmt%XRUNOFF_TOWN(:),iresp,hcomment
139 yrecfm=adjustl(ypatch//yrecfm)
140 ycomment=
' net radiation at road'//
' (W/m2)' 141 CALL write_surf(hselect,hprogram,yrecfm,dmt%XRN_ROAD(:),iresp,hcomment
144 yrecfm=adjustl(ypatch//yrecfm)
145 ycomment=
'road sensible heat flux'//
' (W/m2)' 146 CALL write_surf(hselect,hprogram,yrecfm,dmt%XH_ROAD(:),iresp,hcomment=ycomment
149 yrecfm=adjustl(ypatch//yrecfm)
150 ycomment=
'road latent heat flux'//
' (W/m2)' 151 CALL write_surf(hselect,hprogram,yrecfm,dmt%XLE_ROAD(:),iresp,hcomment
154 yrecfm=adjustl(ypatch//yrecfm)
155 ycomment=
'net road conduction flux'//
' (W/m2)' 156 CALL write_surf(hselect,hprogram,yrecfm,dmt%XGFLUX_ROAD(:),iresp,hcomment
159 yrecfm=adjustl(ypatch//yrecfm)
160 ycomment=
'road surface runoff'//
' (kg/m2/s)' 161 CALL write_surf(hselect,hprogram,yrecfm,dmt%XRUNOFF_ROAD(:),iresp,hcomment
163 IF (top%CWALL_OPT==
'UNIF')
THEN 166 yrecfm=adjustl(ypatch//yrecfm)
167 ycomment=
'net radiation for wall '//yrecfm//
' (W/m2)' 168 CALL write_surf(hselect,hprogram,yrecfm,dmt%XRN_WALL_A(:),iresp,hcomment
171 yrecfm=adjustl(ypatch//yrecfm)
172 ycomment=
'wall sensible heat flux'//yrecfm//
' (W/m2)' 173 CALL write_surf(hselect,hprogram,yrecfm,dmt%XH_WALL_A(:),iresp,hcomment
176 yrecfm=adjustl(ypatch//yrecfm)
177 ycomment=
'net wall conduction flux'//yrecfm//
' (W/m2)' 178 CALL write_surf(hselect,hprogram,yrecfm,dmt%XGFLUX_WALL_A(:),iresp,hcomment
183 yrecfm=adjustl(ypatch//yrecfm)
184 ycomment=
'net radiation for wall A'//yrecfm//
' (W/m2)' 185 CALL write_surf(hselect,hprogram,yrecfm,dmt%XRN_WALL_A(:),iresp,hcomment
188 yrecfm=adjustl(ypatch//yrecfm)
189 ycomment=
'wall A sensible heat flux'//yrecfm//
' (W/m2)' 190 CALL write_surf(hselect,hprogram,yrecfm,dmt%XH_WALL_A(:),iresp,hcomment
193 yrecfm=adjustl(ypatch//yrecfm)
194 ycomment=
'net wall A conduction flux'//yrecfm//
' (W/m2)' 195 CALL write_surf(hselect,hprogram,yrecfm,dmt%XGFLUX_WALL_A(:),iresp,hcomment
198 yrecfm=adjustl(ypatch//yrecfm)
199 ycomment=
'net radiation for wall B'//yrecfm//
' (W/m2)' 200 CALL write_surf(hselect,hprogram,yrecfm,dmt%XRN_WALL_B(:),iresp,hcomment
203 yrecfm=adjustl(ypatch//yrecfm)
204 ycomment=
'wall B sensible heat flux'//yrecfm//
' (W/m2)' 205 CALL write_surf(hselect,hprogram,yrecfm,dmt%XH_WALL_B(:),iresp,hcomment
208 yrecfm=adjustl(ypatch//yrecfm)
209 ycomment=
'net wall B conduction flux'//yrecfm//
' (W/m2)' 210 CALL write_surf(hselect,hprogram,yrecfm,dmt%XGFLUX_WALL_B(:),iresp,hcomment
215 yrecfm=adjustl(ypatch//yrecfm)
216 ycomment=
'net radiation for roof'//yrecfm//
' (W/m2)' 217 CALL write_surf(hselect,hprogram,yrecfm,dmt%XRN_ROOF(:),iresp,hcomment
220 yrecfm=adjustl(ypatch//yrecfm)
221 ycomment=
'roof sensible heat flux'//yrecfm//
' (W/m2)' 222 CALL write_surf(hselect,hprogram,yrecfm,dmt%XH_ROOF(:),iresp,hcomment=ycomment
225 yrecfm=adjustl(ypatch//yrecfm)
226 ycomment=
'roof latent heat flux'//yrecfm//
' (W/m2)' 227 CALL write_surf(hselect,hprogram,yrecfm,dmt%XLE_ROOF(:),iresp,hcomment
230 yrecfm=adjustl(ypatch//yrecfm)
231 ycomment=
'net roof conduction flux'//yrecfm//
' (W/m2)' 232 CALL write_surf(hselect,hprogram,yrecfm,dmt%XGFLUX_ROOF(:),iresp,hcomment
235 yrecfm=adjustl(ypatch//yrecfm)
236 ycomment=
'aggregated roof runoff'//
' (kg/m2/s)' 237 CALL write_surf(hselect,hprogram,yrecfm,dmt%XRUNOFF_ROOF(:),iresp,hcomment
240 IF (top%LGARDEN)
THEN 243 yrecfm=adjustl(ypatch//yrecfm)
244 ycomment=
'net radiation for GARDEN areas'//yrecfm//
' (W/m2)' 245 CALL write_surf(hselect,hprogram,yrecfm,gdd%XRN(:),iresp,hcomment=ycomment
248 yrecfm=adjustl(ypatch//yrecfm)
249 ycomment=
'GARDEN area sensible heat flux'//yrecfm//
' (W/m2)' 250 CALL write_surf(hselect,hprogram,yrecfm,gdd%XH(:),iresp,hcomment=ycomment
253 yrecfm=adjustl(ypatch//yrecfm)
254 ycomment=
'GARDEN area latent heat flux'//yrecfm//
' (W/m2)' 255 CALL write_surf(hselect,hprogram,yrecfm,gdd%XLE(:),iresp,hcomment=ycomment
258 yrecfm=adjustl(ypatch//yrecfm)
259 ycomment=
'net GARDEN area conduction flux'//yrecfm//
' (W/m2)' 260 CALL write_surf(hselect,hprogram,yrecfm,gdd%XGFLUX(:),iresp,hcomment
263 yrecfm=adjustl(ypatch//yrecfm)
264 ycomment=
'garden surface runoff'//
' (kg/m2/s)' 265 CALL write_surf(hselect,hprogram,yrecfm,gdde%XRUNOFF(:),iresp,hcomment
270 yrecfm=adjustl(ypatch//yrecfm)
271 ycomment=
'net radiation for built surfaces'//yrecfm//
' (W/m2)' 272 CALL write_surf(hselect,hprogram,yrecfm,dmt%XRN_BLT(:),iresp,hcomment=ycomment
275 yrecfm=adjustl(ypatch//yrecfm)
276 ycomment=
'built surface sensible heat flux'//yrecfm//
' (W/m2)' 277 CALL write_surf(hselect,hprogram,yrecfm,dmt%XH_BLT(:),iresp,hcomment=ycomment
280 yrecfm=adjustl(ypatch//yrecfm)
281 ycomment=
'built surface latent heat flux'//yrecfm//
' (W/m2)' 282 CALL write_surf(hselect,hprogram,yrecfm,dmt%XLE_BLT(:),iresp,hcomment=ycomment
285 yrecfm=adjustl(ypatch//yrecfm)
286 ycomment=
'built surface conduction flux'//yrecfm//
' (W/m2)' 287 CALL write_surf(hselect,hprogram,yrecfm,dmt%XGFLUX_BLT(:),iresp,hcomment
290 yrecfm=adjustl(ypatch//yrecfm)
291 ycomment=
'Sdown absorbed by roofs'//
' (W/m2)' 292 CALL write_surf(hselect,hprogram,yrecfm,dmt%XABS_SW_ROOF(:),iresp,hcomment
295 yrecfm=adjustl(ypatch//yrecfm)
296 ycomment=
'Sdown absorbed by snow on roofs'//
' (W/m2)' 297 CALL write_surf(hselect,hprogram,yrecfm,dmt%XABS_SW_SNOW_ROOF(:),iresp
300 yrecfm=adjustl(ypatch//yrecfm)
301 ycomment=
'Ldown absorbed by roofs'//
' (W/m2)' 302 CALL write_surf(hselect,hprogram,yrecfm,dmt%XABS_LW_ROOF(:),iresp,hcomment
305 yrecfm=adjustl(ypatch//yrecfm)
306 ycomment=
'Ldown absorbed by snow on roofs'//
' (W/m2)' 307 CALL write_surf(hselect,hprogram,yrecfm,dmt%XABS_LW_SNOW_ROOF(:),iresp
310 yrecfm=adjustl(ypatch//yrecfm)
311 ycomment=
'Sdown absorbed by roads'//
' (W/m2)' 312 CALL write_surf(hselect,hprogram,yrecfm,dmt%XABS_SW_ROAD(:),iresp,hcomment
315 yrecfm=adjustl(ypatch//yrecfm)
316 ycomment=
'Sdown absorbed by snow on roads'//
' (W/m2)' 317 CALL write_surf(hselect,hprogram,yrecfm,dmt%XABS_SW_SNOW_ROAD(:),iresp
320 yrecfm=adjustl(ypatch//yrecfm)
321 ycomment=
'Ldown absorbed by roads'//
' (W/m2)' 322 CALL write_surf(hselect,hprogram,yrecfm,dmt%XABS_LW_ROAD(:),iresp,hcomment
325 yrecfm=adjustl(ypatch//yrecfm)
326 ycomment=
'Ldown absorbed by snow on roads'//
' (W/m2)' 327 CALL write_surf(hselect,hprogram,yrecfm,dmt%XABS_LW_SNOW_ROAD(:),iresp
329 IF (top%CWALL_OPT==
'UNIF')
THEN 332 yrecfm=adjustl(ypatch//yrecfm)
333 ycomment=
'Sdown absorbed by wall'//
' (W/m2)' 334 CALL write_surf(hselect,hprogram,yrecfm,dmt%XABS_SW_WALL_A(:),iresp,hcomment
337 yrecfm=adjustl(ypatch//yrecfm)
338 ycomment=
'Ldown absorbed by wall '//
' (W/m2)' 339 CALL write_surf(hselect,hprogram,yrecfm,dmt%XABS_LW_WALL_A(:),iresp,hcomment
344 yrecfm=adjustl(ypatch//yrecfm)
345 ycomment=
'Sdown absorbed by wall A'//
' (W/m2)' 346 CALL write_surf(hselect,hprogram,yrecfm,dmt%XABS_SW_WALL_A(:),iresp,hcomment
349 yrecfm=adjustl(ypatch//yrecfm)
350 ycomment=
'Ldown absorbed by wall A'//
' (W/m2)' 351 CALL write_surf(hselect,hprogram,yrecfm,dmt%XABS_LW_WALL_A(:),iresp,hcomment
354 yrecfm=adjustl(ypatch//yrecfm)
355 ycomment=
'Sdown absorbed by wall B'//
' (W/m2)' 356 CALL write_surf(hselect,hprogram,yrecfm,dmt%XABS_SW_WALL_B(:),iresp,hcomment
359 yrecfm=adjustl(ypatch//yrecfm)
360 ycomment=
'Ldown absorbed by wall B'//
' (W/m2)' 361 CALL write_surf(hselect,hprogram,yrecfm,dmt%XABS_LW_WALL_B(:),iresp,hcomment
365 IF (top%LGARDEN)
THEN 368 yrecfm=adjustl(ypatch//yrecfm)
369 ycomment=
'Sdown absorbed by GARDEN areas'//
' (W/m2)' 370 CALL write_surf(hselect,hprogram,yrecfm,dmt%XABS_SW_GARDEN(:),iresp,hcomment
373 yrecfm=adjustl(ypatch//yrecfm)
374 ycomment=
'Ldown absorbed by GARDEN areas'//
' (W/m2)' 375 CALL write_surf(hselect,hprogram,yrecfm,dmt%XABS_LW_GARDEN(:),iresp,hcomment
380 yrecfm=adjustl(ypatch//yrecfm)
381 ycomment=
'Total solar rad reflected by ground '//
' (W/m2)' 382 CALL write_surf(hselect,hprogram,yrecfm,dmt%XREF_SW_GRND(:),iresp,hcomment
385 yrecfm=adjustl(ypatch//yrecfm)
386 ycomment=
'LW emitted by ground'//
' (W/m2)' 387 CALL write_surf(hselect,hprogram,yrecfm,dmt%XEMIT_LW_GRND(:),iresp,hcomment
390 yrecfm=adjustl(ypatch//yrecfm)
391 ycomment=
'Total solar rad reflected by facade '//
' (W/m2)' 392 CALL write_surf(hselect,hprogram,yrecfm,dmt%XREF_SW_FAC(:),iresp,hcomment
395 yrecfm=adjustl(ypatch//yrecfm)
396 ycomment=
'LW emitted by facade'//
' (W/m2)' 397 CALL write_surf(hselect,hprogram,yrecfm,dmt%XEMIT_LW_FAC(:),iresp,hcomment
399 IF (top%CBEM==
'BEM')
THEN 402 yrecfm=adjustl(ypatch//yrecfm)
403 ycomment=
'Current Cooling system temperature set point'//
' (K)' 404 CALL write_surf(hselect,hprogram,yrecfm,dmt%XTCOOL_TARGET(:),iresp,hcomment
407 yrecfm=adjustl(ypatch//yrecfm)
408 ycomment=
'Current Heating system temperature set point'//
' (K)' 409 CALL write_surf(hselect,hprogram,yrecfm,dmt%XTHEAT_TARGET(:),iresp,hcomment
412 yrecfm=adjustl(ypatch//yrecfm)
413 ycomment=
'Current Building internal heat loads'//
' (W m-2(floor))' 414 CALL write_surf(hselect,hprogram,yrecfm,dmt%XQIN(:),iresp,hcomment=ycomment
417 yrecfm=adjustl(ypatch//yrecfm)
418 ycomment=
'heat flux from bld'//
' (W/m2)' 419 CALL write_surf(hselect,hprogram,yrecfm,dmt%XFLX_BLD(:),iresp,hcomment
422 yrecfm=adjustl(ypatch//yrecfm)
423 ycomment=
'sensible cooling demand'//
' (W/m2)' 424 CALL write_surf(hselect,hprogram,yrecfm,dmt%XH_BLD_COOL(:),iresp,hcomment
427 yrecfm=adjustl(ypatch//yrecfm)
428 ycomment=
'Total cooling demand'//
' (W/m2)' 429 CALL write_surf(hselect,hprogram,yrecfm,dmt%XT_BLD_COOL(:),iresp,hcomment
432 yrecfm=adjustl(ypatch//yrecfm)
433 ycomment=
'sensible heating demand'//
' (W/m2)' 434 CALL write_surf(hselect,hprogram,yrecfm,dmt%XH_BLD_HEAT(:),iresp,hcomment
437 yrecfm=adjustl(ypatch//yrecfm)
438 ycomment=
'latent cooling demand'//
' (W/m2)' 439 CALL write_surf(hselect,hprogram,yrecfm,dmt%XLE_BLD_COOL(:),iresp,hcomment
442 yrecfm=adjustl(ypatch//yrecfm)
443 ycomment=
'latent heating demand'//
' (W/m2)' 444 CALL write_surf(hselect,hprogram,yrecfm,dmt%XLE_BLD_HEAT(:),iresp,hcomment
447 yrecfm=adjustl(ypatch//yrecfm)
448 ycomment=
'sensible waste heat from HVAC'//
' (W/m2)' 449 CALL write_surf(hselect,hprogram,yrecfm,dmt%XH_WASTE(:),iresp,hcomment
452 yrecfm=adjustl(ypatch//yrecfm)
453 ycomment=
'latent waste heat from HVAC'//
' (W/m2)' 454 CALL write_surf(hselect,hprogram,yrecfm,dmt%XLE_WASTE(:),iresp,hcomment
457 yrecfm=adjustl(ypatch//yrecfm)
458 ycomment=
'cooling energy consumption'//
' (W/m2)' 459 CALL write_surf(hselect,hprogram,yrecfm,dmt%XHVAC_COOL(:),iresp,hcomment
462 yrecfm=adjustl(ypatch//yrecfm)
463 ycomment=
'heating energy consumption'//
' (W/m2)' 464 CALL write_surf(hselect,hprogram,yrecfm,dmt%XHVAC_HEAT(:),iresp,hcomment
467 yrecfm=adjustl(ypatch//yrecfm)
468 ycomment=
'Actual capacity of the cooling system'//
' (W m-2(bld))' 469 CALL write_surf(hselect,hprogram,yrecfm,dmt%XCAP_SYS(:),iresp,hcomment
472 yrecfm=adjustl(ypatch//yrecfm)
473 ycomment=
'Actual HVAC mass flow rate'//
' (kg s-1 m-2(bld))' 474 CALL write_surf(hselect,hprogram,yrecfm,dmt%XM_SYS(:),iresp,hcomment
477 yrecfm=adjustl(ypatch//yrecfm)
478 ycomment=
'Actual COP of the cooling system'//
' ()' 479 CALL write_surf(hselect,hprogram,yrecfm,dmt%XCOP(:),iresp,hcomment=ycomment
482 yrecfm=adjustl(ypatch//yrecfm)
483 ycomment=
'Supply air specific humidity'//
' (kg kg-1)' 484 CALL write_surf(hselect,hprogram,yrecfm,dmt%XQ_SYS(:),iresp,hcomment
487 yrecfm=adjustl(ypatch//yrecfm)
488 ycomment=
'Supply air temperature'//
' (K)' 489 CALL write_surf(hselect,hprogram,yrecfm,dmt%XT_SYS(:),iresp,hcomment
492 yrecfm=adjustl(ypatch//yrecfm)
493 ycomment=
'Solar radiation transmitted through windows'//
' (W m-2(bld))' 494 CALL write_surf(hselect,hprogram,yrecfm,dmt%XTR_SW_WIN(:),iresp,hcomment
497 yrecfm=adjustl(ypatch//yrecfm)
498 ycomment=
'HVAC fan power'//
' (W m-2(bld))' 499 CALL write_surf(hselect,hprogram,yrecfm,dmt%XFAN_POWER(:),iresp,hcomment
502 yrecfm=adjustl(ypatch//yrecfm)
503 ycomment=
'Indoor mean radiant temperature'//
' (K)' 504 CALL write_surf(hselect,hprogram,yrecfm,dmt%XT_RAD_IND(:),iresp,hcomment
507 yrecfm=adjustl(ypatch//yrecfm)
508 ycomment=
'Indoor relative humidity'//
' (-)' 509 CALL write_surf(hselect,hprogram,yrecfm,dmt%XHU_BLD(:),iresp,hcomment
512 yrecfm=adjustl(ypatch//yrecfm)
513 ycomment=
'Sdown absorbed by windows'//
' (W/m2)' 514 CALL write_surf(hselect,hprogram,yrecfm,dmt%XABS_SW_WIN(:),iresp,hcomment
517 yrecfm=adjustl(ypatch//yrecfm)
518 ycomment=
'Ldown absorbed by windows'//
' (W/m2)' 519 CALL write_surf(hselect,hprogram,yrecfm,dmt%XABS_LW_WIN(:),iresp,hcomment
523 IF (top%LGREENROOF)
THEN 525 WHERE (t%XGREENROOF(:) == 0.)
531 dmt%XABS_SW_GREENROOF(:) =
xundef 532 dmt%XABS_LW_GREENROOF(:) =
xundef 533 dmt%XG_GREENROOF_ROOF(:) =
xundef 540 yrecfm=adjustl(ypatch//yrecfm)
541 ycomment=
'net radiation for GREENROOFs'//
' (W/m2)' 542 CALL write_surf(hselect,hprogram,yrecfm,grd%XRN(:),iresp,hcomment=ycomment
545 yrecfm=adjustl(ypatch//yrecfm)
546 ycomment=
'sensible heat flux for GREENROOFs'//
' (W/m2)' 547 CALL write_surf(hselect,hprogram,yrecfm,grd%XH(:),iresp,hcomment=ycomment
550 yrecfm=adjustl(ypatch//yrecfm)
551 ycomment=
'latent heat flux for GREENROOFs'//
' (W/m2)' 552 CALL write_surf(hselect,hprogram,yrecfm,grd%XLE(:),iresp,hcomment=ycomment
555 yrecfm=adjustl(ypatch//yrecfm)
556 ycomment=
'net conduction flux for GREENROOFs'//
' (W/m2)' 557 CALL write_surf(hselect,hprogram,yrecfm,grd%XGFLUX(:),iresp,hcomment
560 yrecfm=adjustl(ypatch//yrecfm)
561 ycomment=
'Sdown absorbed by GREENROOFs'//
' (W/m2)' 562 CALL write_surf(hselect,hprogram,yrecfm,dmt%XABS_SW_GREENROOF(:),iresp
565 yrecfm=adjustl(ypatch//yrecfm)
566 ycomment=
'Ldown absorbed by GREENROOFs'//
' (W/m2)' 567 CALL write_surf(hselect,hprogram,yrecfm,dmt%XABS_LW_GREENROOF(:),iresp
570 yrecfm=adjustl(ypatch//yrecfm)
571 ycomment=
'heat flux between GREENROOF and ROOF'//
' (W/m2)' 572 CALL write_surf(hselect,hprogram,yrecfm,dmt%XG_GREENROOF_ROOF(:),iresp
575 yrecfm=adjustl(ypatch//yrecfm)
576 ycomment=
'GREENROOF soil surface runoff'//
' (kg/m2/s)' 577 CALL write_surf(hselect,hprogram,yrecfm,grde%XRUNOFF(:),iresp,hcomment
580 yrecfm=adjustl(ypatch//yrecfm)
581 ycomment=
'GREENROOF total vertical drainage'//
' (kg/m2/s)' 582 CALL write_surf(hselect,hprogram,yrecfm,grde%XDRAIN(:),iresp,hcomment
584 WHERE (t%XGREENROOF(:) == 1.)
585 dmt%XRN_STRLROOF(:) =
xundef 586 dmt%XH_STRLROOF(:) =
xundef 587 dmt%XLE_STRLROOF(:) =
xundef 588 dmt%XGFLUX_STRLROOF(:) =
xundef 589 dmt%XRUNOFF_STRLROOF(:) =
xundef 593 yrecfm=adjustl(ypatch//yrecfm)
594 ycomment=
'structural roof net radiation'//yrecfm//
' (W/m2)' 595 CALL write_surf(hselect,hprogram,yrecfm,dmt%XRN_STRLROOF(:),iresp,hcomment
598 yrecfm=adjustl(ypatch//yrecfm)
599 ycomment=
'structural roof sensible heat flux'//yrecfm//
' (W/m2)' 600 CALL write_surf(hselect,hprogram,yrecfm,dmt%XH_STRLROOF(:),iresp,hcomment
603 yrecfm=adjustl(ypatch//yrecfm)
604 ycomment=
'structural roof latent heat flux'//yrecfm//
' (W/m2)' 605 CALL write_surf(hselect,hprogram,yrecfm,dmt%XLE_STRLROOF(:),iresp,hcomment
608 yrecfm=adjustl(ypatch//yrecfm)
609 ycomment=
'structural roof conduction flux'//yrecfm//
' (W/m2)' 610 CALL write_surf(hselect,hprogram,yrecfm,dmt%XGFLUX_STRLROOF(:),iresp
613 yrecfm=adjustl(ypatch//yrecfm)
614 ycomment=
'structural roof surface runoff'//
' (kg/m2/s)' 615 CALL write_surf(hselect,hprogram,yrecfm,dmt%XRUNOFF_STRLROOF(:),iresp
620 IF (top%LSOLAR_PANEL)
THEN 622 yrecfm=adjustl(ypatch//yrecfm)
623 ycomment=
'Shortwave absorbed by solar panels on roofs'//
' (W/m2 panel)' 624 CALL write_surf(hselect,hprogram,yrecfm,dmt%XABS_SW_PANEL(:),iresp,hcomment
627 yrecfm=adjustl(ypatch//yrecfm)
628 ycomment=
'Longwave absorbed by solar panels on roofs'//
' (W/m2 panel)' 629 CALL write_surf(hselect,hprogram,yrecfm,dmt%XABS_LW_PANEL(:),iresp,hcomment
632 yrecfm=adjustl(ypatch//yrecfm)
633 ycomment=
'Net radiation of solar panels on roofs'//
' (W/m2 panel)' 634 CALL write_surf(hselect,hprogram,yrecfm,dmt%XRN_PANEL(:),iresp,hcomment
637 yrecfm=adjustl(ypatch//yrecfm)
638 ycomment=
'Sensible Heat flux from solar panels on roofs'//
' (W/m2 panel)' 639 CALL write_surf(hselect,hprogram,yrecfm,dmt%XH_PANEL(:),iresp,hcomment
642 yrecfm=adjustl(ypatch//yrecfm)
643 ycomment=
'Photovolatic production '//
' (W/m2 photovoltaic panel)' 644 CALL write_surf(hselect,hprogram,yrecfm,dmt%XPHOT_PROD_PANEL(:),iresp
647 yrecfm=adjustl(ypatch//yrecfm)
648 ycomment=
'Hot Water production '//
' (W/m2 thermal panel)' 649 CALL write_surf(hselect,hprogram,yrecfm,dmt%XTHER_PROD_PANEL(:),iresp
652 yrecfm=adjustl(ypatch//yrecfm)
653 ycomment=
'Production by solar panels on roofs'//
' (W/m2 panel)' 654 CALL write_surf(hselect,hprogram,yrecfm,dmt%XPROD_PANEL(:),iresp,hcomment
657 yrecfm=adjustl(ypatch//yrecfm)
658 ycomment=
'Photovolatic production '//
' (W/m2 bld)' 659 CALL write_surf(hselect,hprogram,yrecfm,dmt%XPHOT_PROD_BLD(:),iresp,hcomment
662 yrecfm=adjustl(ypatch//yrecfm)
663 ycomment=
'Hot Water production '//
' (W/m2 bld)' 664 CALL write_surf(hselect,hprogram,yrecfm,dmt%XTHER_PROD_BLD(:),iresp,hcomment
673 CALL init_io_surf_n(dtco, u,hprogram,
'TOWN ',
'TEB ',
'WRITE',
'TEB_DIAG_CUMUL.OUT.nc' 675 IF (top%CBEM==
'BEM')
THEN 678 yrecfm=adjustl(ypatch//yrecfm)
679 ycomment=
'cumulated cooling energy consumption'//
' (J/m2)' 680 CALL write_surf(hselect,hprogram,yrecfm,dmtc%XHVAC_COOL(:),iresp,hcomment
683 yrecfm=adjustl(ypatch//yrecfm)
684 ycomment=
'cumulated heating energy consumption'//
' (J/m2)' 685 CALL write_surf(hselect,hprogram,yrecfm,dmtc%XHVAC_HEAT(:),iresp,hcomment
690 yrecfm=adjustl(ypatch//yrecfm)
691 ycomment=
'cumulated aggregated runoff for town'//
' (kg/m2)' 692 CALL write_surf(hselect,hprogram,yrecfm,dmtc%XRUNOFF_TOWN(:),iresp,hcomment
695 yrecfm=adjustl(ypatch//yrecfm)
696 ycomment=
'cumulated road surface runoff'//
' (kg/m2 road)' 697 CALL write_surf(hselect,hprogram,yrecfm,dmtc%XRUNOFF_ROAD(:),iresp,hcomment
700 yrecfm=adjustl(ypatch//yrecfm)
701 ycomment=
'cumulated aggregated roof runoff'//
' (kg/m2 roof)' 702 CALL write_surf(hselect,hprogram,yrecfm,dmtc%XRUNOFF_ROOF(:),iresp,hcomment
705 yrecfm=adjustl(ypatch//yrecfm)
706 ycomment=
'cumulated road irrigation'//
' (kg/m2 road)' 707 CALL write_surf(hselect,hprogram,yrecfm,dmtc%XIRRIG_ROAD(:),iresp,hcomment
709 IF (top%LGARDEN)
THEN 712 yrecfm=adjustl(ypatch//yrecfm)
713 ycomment=
'cumulated garden surface runoff'//
' (kg/m2 garden)' 714 CALL write_surf(hselect,hprogram,yrecfm,gddec%XRUNOFF(:),iresp,hcomment
717 yrecfm=adjustl(ypatch//yrecfm)
718 ycomment=
'cumulated garden surface drainage'//
' (kg/m2 garden)' 719 CALL write_surf(hselect,hprogram,yrecfm,gddec%XDRAIN(:),iresp,hcomment
722 yrecfm=adjustl(ypatch//yrecfm)
723 ycomment=
'cumulated garden irrigation'//
' (kg/m2 garden)' 724 CALL write_surf(hselect,hprogram,yrecfm,dmtc%XIRRIG_GARDEN(:),iresp,hcomment
728 IF (top%LGREENROOF)
THEN 730 WHERE (t%XGREENROOF(:) == 0.)
731 grdec%XRUNOFF (:) =
xundef 733 dmtc%XIRRIG_GREENROOF (:) =
xundef 737 yrecfm=adjustl(ypatch//yrecfm)
738 ycomment=
'GREENROOF cumulated soil surface runoff'//
' (kg/m2 greenroof)' 739 CALL write_surf(hselect,hprogram,yrecfm,grdec%XRUNOFF(:),iresp,hcomment
742 yrecfm=adjustl(ypatch//yrecfm)
743 ycomment=
'GREENROOF cumulated total vertical drainage'//
' (kg/m2 greenroof)' 744 CALL write_surf(hselect,hprogram,yrecfm,grdec%XDRAIN(:),iresp,hcomment
748 yrecfm=adjustl(ypatch//yrecfm)
749 ycomment=
'GREENROOF cumulated irrigation'//
' (kg/m2 greenroof)' 750 CALL write_surf(hselect,hprogram,yrecfm,dmtc%XIRRIG_GREENROOF(:),iresp
752 WHERE (t%XGREENROOF(:) == 1.)
753 dmtc%XRUNOFF_STRLROOF (:) =
xundef 757 yrecfm=adjustl(ypatch//yrecfm)
758 ycomment=
'cumulated structural roof surface runoff'//
' (kg/m2)' 759 CALL write_surf(hselect,hprogram,yrecfm,dmtc%XRUNOFF_STRLROOF(:),iresp
764 IF (top%LSOLAR_PANEL)
THEN 767 yrecfm=adjustl(ypatch//yrecfm)
768 ycomment=
'Cumulated Photovolatic production '//
' (J/m2 bld)' 769 CALL write_surf(hselect,hprogram,yrecfm,dmtc%XPHOT_PROD_BLD(:),iresp
772 yrecfm=adjustl(ypatch//yrecfm)
773 ycomment=
'Cumulated Hot water production '//
' (J/m2 bld)' 774 CALL write_surf(hselect,hprogram,yrecfm,dmtc%XTHER_PROD_BLD(:),iresp
786 IF (
lhook)
CALL dr_hook(
'WRITE_DIAG_MISC_TEB_N',1,zhook_handle)
subroutine end_io_surf_n(HPROGRAM)
subroutine write_diag_misc_teb_n(DTCO, HSELECT, U, DMTC, DMT, DMT
subroutine init_io_surf_n(DTCO, U, HPROGRAM, HMASK, HSCHEME, HACTION