SURFEX v7.3
General documentation of Surfex
|
00001 ! ######### 00002 SUBROUTINE WRITE_DIAG_MISC_TEB_n(HPROGRAM,KTEB_PATCH) 00003 ! ################################# 00004 ! 00005 !!**** *WRITE_DIAG_MISC_TEB* - writes the TEB diagnostic fields 00006 !! 00007 !! PURPOSE 00008 !! ------- 00009 !! 00010 !! 00011 !!** METHOD 00012 !! ------ 00013 !! 00014 !! REFERENCE 00015 !! --------- 00016 !! 00017 !! 00018 !! AUTHOR 00019 !! ------ 00020 !! P. Le Moigne *Meteo France* 00021 !! 00022 !! MODIFICATIONS 00023 !! ------------- 00024 !! Original 10/2004 00025 !------------------------------------------------------------------------------- 00026 ! 00027 !* 0. DECLARATIONS 00028 ! ------------ 00029 USE MODI_INIT_IO_SURF_n 00030 USE MODI_WRITE_SURF 00031 USE MODI_END_IO_SURF_n 00032 USE MODD_TEB_n,ONLY : XZ0_TOWN, NTEB_PATCH, CBEM, XROAD, LGREENROOF, LGARDEN, CWALL_OPT 00033 USE MODD_DIAG_MISC_TEB_n,ONLY : LSURF_MISC_BUDGET, & 00034 XQF_BLD,XFLX_BLD, XQF_TOWN, XDQS_TOWN, & 00035 XRN_ROAD, XH_ROAD, XLE_ROAD, XGFLUX_ROAD, & 00036 XRN_WALL_A, XH_WALL_A, XGFLUX_WALL_A, & 00037 XRN_WALL_B, XH_WALL_B, XGFLUX_WALL_B, & 00038 XRN_ROOF, XH_ROOF, XLE_ROOF, XGFLUX_ROOF, & 00039 XRN_GARDEN,XH_GARDEN,XLE_GARDEN,XGFLUX_GARDEN, & 00040 XRN_BLT,XH_BLT,XLE_BLT,XGFLUX_BLT, & 00041 XABS_SW_ROOF ,XABS_SW_SNOW_ROOF, & 00042 XABS_LW_ROOF ,XABS_LW_SNOW_ROOF, & 00043 XABS_SW_ROAD ,XABS_SW_SNOW_ROAD, & 00044 XABS_LW_ROAD ,XABS_LW_SNOW_ROAD, & 00045 XABS_SW_WALL_A , XABS_LW_WALL_A, & 00046 XABS_SW_WALL_B , XABS_LW_WALL_B, & 00047 XABS_SW_GARDEN, XABS_LW_GARDEN, & 00048 XH_BLD_COOL, XT_BLD_COOL, & 00049 XH_BLD_HEAT, XLE_BLD_COOL, XLE_BLD_HEAT, & 00050 XH_WASTE, XLE_WASTE, XHVAC_COOL, & 00051 XHVAC_HEAT, XCAP_SYS, XM_SYS, XCOP, & 00052 XQ_SYS, XT_SYS, XTR_SW_WIN, XFAN_POWER, & 00053 XABS_SW_WIN, XABS_LW_WIN, XEMIT_LW_FAC, & 00054 XEMIT_LW_GRND, XT_RAD_IND, XREF_SW_GRND, & 00055 XREF_SW_FAC, XHU_BLD, & 00056 XRN_STRLROOF,XH_STRLROOF,XLE_STRLROOF, & 00057 XGFLUX_STRLROOF, & 00058 XRN_GREENROOF,XH_GREENROOF,XLE_GREENROOF, & 00059 XGFLUX_GREENROOF, & 00060 XABS_SW_GREENROOF, XABS_LW_GREENROOF, & 00061 XG_GREENROOF_ROOF, & 00062 XRUNOFF_GREENROOF, XDRAIN_GREENROOF 00063 ! 00064 ! 00065 USE YOMHOOK ,ONLY : LHOOK, DR_HOOK 00066 USE PARKIND1 ,ONLY : JPRB 00067 ! 00068 IMPLICIT NONE 00069 ! 00070 !* 0.1 Declarations of arguments 00071 ! ------------------------- 00072 ! 00073 CHARACTER(LEN=6), INTENT(IN) :: HPROGRAM ! program calling 00074 INTEGER, INTENT(IN) :: KTEB_PATCH ! patch number being written 00075 ! 00076 !* 0.2 Declarations of local variables 00077 ! ------------------------------- 00078 ! 00079 INTEGER :: IRESP ! IRESP : return-code if a problem appears 00080 CHARACTER(LEN=3) :: YPATCH ! Prefix for current patch 00081 CHARACTER(LEN=12) :: YRECFM ! Name of the article to be read 00082 CHARACTER(LEN=100):: YCOMMENT ! Comment string 00083 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00084 ! 00085 !------------------------------------------------------------------------------- 00086 ! 00087 ! Initialisation for IO 00088 ! 00089 IF (LHOOK) CALL DR_HOOK('WRITE_DIAG_MISC_TEB_N',0,ZHOOK_HANDLE) 00090 CALL INIT_IO_SURF_n(HPROGRAM,'TOWN ','TEB ','WRITE') 00091 ! 00092 YPATCH = ' ' 00093 IF (NTEB_PATCH>1) WRITE(YPATCH,FMT='(A,I1,A)') 'T',KTEB_PATCH,'_' 00094 !------------------------------------------------------------------------------- 00095 ! 00096 IF (LSURF_MISC_BUDGET) THEN 00097 ! 00098 !* Miscellaneous fields : 00099 ! ---------------------- 00100 ! 00101 YRECFM='D_RD' 00102 YCOMMENT='Road fraction' 00103 CALL WRITE_SURF(HPROGRAM,YRECFM,XROAD(:),IRESP,HCOMMENT=YCOMMENT) 00104 ! 00105 YRECFM='Z0_TOWN' 00106 YRECFM=ADJUSTL(YPATCH//YRECFM) 00107 YCOMMENT='town roughness length' 00108 ! 00109 CALL WRITE_SURF(HPROGRAM,YRECFM,XZ0_TOWN(:),IRESP,HCOMMENT=YCOMMENT) 00110 ! 00111 YRECFM='XQF_BLD' 00112 YRECFM=ADJUSTL(YPATCH//YRECFM) 00113 YCOMMENT='domestic heating'//' (W/m2)' 00114 ! 00115 CALL WRITE_SURF(HPROGRAM,YRECFM,XQF_BLD(:),IRESP,HCOMMENT=YCOMMENT) 00116 ! 00117 YRECFM='XQF_TOWN' 00118 YRECFM=ADJUSTL(YPATCH//YRECFM) 00119 YCOMMENT='total anthropogenic heat'//' (W/m2)' 00120 ! 00121 CALL WRITE_SURF(HPROGRAM,YRECFM,XQF_TOWN(:),IRESP,HCOMMENT=YCOMMENT) 00122 ! 00123 YRECFM='XDQS_TOWN' 00124 YRECFM=ADJUSTL(YPATCH//YRECFM) 00125 YCOMMENT='heat storage inside building'//' (W/m2)' 00126 ! 00127 CALL WRITE_SURF(HPROGRAM,YRECFM,XDQS_TOWN(:),IRESP,HCOMMENT=YCOMMENT) 00128 ! 00129 YRECFM='RN_RD' 00130 YRECFM=ADJUSTL(YPATCH//YRECFM) 00131 YCOMMENT=' net radiation at road'//' (W/m2)' 00132 ! 00133 CALL WRITE_SURF(HPROGRAM,YRECFM,XRN_ROAD(:),IRESP,HCOMMENT=YCOMMENT) 00134 ! 00135 YRECFM='H_RD' 00136 YRECFM=ADJUSTL(YPATCH//YRECFM) 00137 YCOMMENT='road sensible heat flux'//' (W/m2)' 00138 ! 00139 CALL WRITE_SURF(HPROGRAM,YRECFM,XH_ROAD(:),IRESP,HCOMMENT=YCOMMENT) 00140 ! 00141 YRECFM='LE_RD' 00142 YRECFM=ADJUSTL(YPATCH//YRECFM) 00143 YCOMMENT='road latent heat flux'//' (W/m2)' 00144 ! 00145 CALL WRITE_SURF(HPROGRAM,YRECFM,XLE_ROAD(:),IRESP,HCOMMENT=YCOMMENT) 00146 ! 00147 YRECFM='GFLUX_RD' 00148 YRECFM=ADJUSTL(YPATCH//YRECFM) 00149 YCOMMENT='net road conduction flux'//' (W/m2)' 00150 ! 00151 CALL WRITE_SURF(HPROGRAM,YRECFM,XGFLUX_ROAD(:),IRESP,HCOMMENT=YCOMMENT) 00152 ! 00153 IF (CWALL_OPT=='UNIF') THEN 00154 ! 00155 YRECFM='RN_WL' 00156 YRECFM=ADJUSTL(YPATCH//YRECFM) 00157 YCOMMENT='net radiation for wall '//YRECFM//' (W/m2)' 00158 ! 00159 CALL WRITE_SURF(HPROGRAM,YRECFM,XRN_WALL_A(:),IRESP,HCOMMENT=YCOMMENT) 00160 ! 00161 YRECFM='H_WL' 00162 YRECFM=ADJUSTL(YPATCH//YRECFM) 00163 YCOMMENT='wall sensible heat flux'//YRECFM//' (W/m2)' 00164 ! 00165 CALL WRITE_SURF(HPROGRAM,YRECFM,XH_WALL_A(:),IRESP,HCOMMENT=YCOMMENT) 00166 ! 00167 YRECFM='GFLUX_WL' 00168 YRECFM=ADJUSTL(YPATCH//YRECFM) 00169 YCOMMENT='net wall conduction flux'//YRECFM//' (W/m2)' 00170 ! 00171 CALL WRITE_SURF(HPROGRAM,YRECFM,XGFLUX_WALL_A(:),IRESP,HCOMMENT=YCOMMENT) 00172 ! 00173 ELSE 00174 ! 00175 YRECFM='RN_WLA' 00176 YRECFM=ADJUSTL(YPATCH//YRECFM) 00177 YCOMMENT='net radiation for wall A'//YRECFM//' (W/m2)' 00178 ! 00179 CALL WRITE_SURF(HPROGRAM,YRECFM,XRN_WALL_A(:),IRESP,HCOMMENT=YCOMMENT) 00180 ! 00181 YRECFM='H_WLA' 00182 YRECFM=ADJUSTL(YPATCH//YRECFM) 00183 YCOMMENT='wall A sensible heat flux'//YRECFM//' (W/m2)' 00184 ! 00185 CALL WRITE_SURF(HPROGRAM,YRECFM,XH_WALL_A(:),IRESP,HCOMMENT=YCOMMENT) 00186 ! 00187 YRECFM='GFLUX_WLA' 00188 YRECFM=ADJUSTL(YPATCH//YRECFM) 00189 YCOMMENT='net wall A conduction flux'//YRECFM//' (W/m2)' 00190 ! 00191 CALL WRITE_SURF(HPROGRAM,YRECFM,XGFLUX_WALL_A(:),IRESP,HCOMMENT=YCOMMENT) 00192 ! 00193 YRECFM='RN_WLB' 00194 YRECFM=ADJUSTL(YPATCH//YRECFM) 00195 YCOMMENT='net radiation for wall B'//YRECFM//' (W/m2)' 00196 ! 00197 CALL WRITE_SURF(HPROGRAM,YRECFM,XRN_WALL_B(:),IRESP,HCOMMENT=YCOMMENT) 00198 ! 00199 YRECFM='H_WLB' 00200 YRECFM=ADJUSTL(YPATCH//YRECFM) 00201 YCOMMENT='wall B sensible heat flux'//YRECFM//' (W/m2)' 00202 ! 00203 CALL WRITE_SURF(HPROGRAM,YRECFM,XH_WALL_B(:),IRESP,HCOMMENT=YCOMMENT) 00204 ! 00205 YRECFM='GFLUX_WLB' 00206 YRECFM=ADJUSTL(YPATCH//YRECFM) 00207 YCOMMENT='net wall B conduction flux'//YRECFM//' (W/m2)' 00208 ! 00209 CALL WRITE_SURF(HPROGRAM,YRECFM,XGFLUX_WALL_B(:),IRESP,HCOMMENT=YCOMMENT) 00210 ! 00211 ENDIF 00212 ! 00213 YRECFM='RN_RF' 00214 YRECFM=ADJUSTL(YPATCH//YRECFM) 00215 YCOMMENT='net radiation for roof'//YRECFM//' (W/m2)' 00216 ! 00217 CALL WRITE_SURF(HPROGRAM,YRECFM,XRN_ROOF(:),IRESP,HCOMMENT=YCOMMENT) 00218 ! 00219 YRECFM='H_RF' 00220 YRECFM=ADJUSTL(YPATCH//YRECFM) 00221 YCOMMENT='roof sensible heat flux'//YRECFM//' (W/m2)' 00222 ! 00223 CALL WRITE_SURF(HPROGRAM,YRECFM,XH_ROOF(:),IRESP,HCOMMENT=YCOMMENT) 00224 ! 00225 YRECFM='LE_RF' 00226 YRECFM=ADJUSTL(YPATCH//YRECFM) 00227 YCOMMENT='roof latent heat flux'//YRECFM//' (W/m2)' 00228 ! 00229 CALL WRITE_SURF(HPROGRAM,YRECFM,XLE_ROOF(:),IRESP,HCOMMENT=YCOMMENT) 00230 ! 00231 YRECFM='GFLUX_RF' 00232 YRECFM=ADJUSTL(YPATCH//YRECFM) 00233 YCOMMENT='net roof conduction flux'//YRECFM//' (W/m2)' 00234 ! 00235 CALL WRITE_SURF(HPROGRAM,YRECFM,XGFLUX_ROOF(:),IRESP,HCOMMENT=YCOMMENT) 00236 ! 00237 IF (LGARDEN) THEN 00238 ! 00239 YRECFM='RN_GD' 00240 YRECFM=ADJUSTL(YPATCH//YRECFM) 00241 YCOMMENT='net radiation for GARDEN areas'//YRECFM//' (W/m2)' 00242 ! 00243 CALL WRITE_SURF(HPROGRAM,YRECFM,XRN_GARDEN(:),IRESP,HCOMMENT=YCOMMENT) 00244 ! 00245 YRECFM='H_GD' 00246 YRECFM=ADJUSTL(YPATCH//YRECFM) 00247 YCOMMENT='GARDEN area sensible heat flux'//YRECFM//' (W/m2)' 00248 ! 00249 CALL WRITE_SURF(HPROGRAM,YRECFM,XH_GARDEN(:),IRESP,HCOMMENT=YCOMMENT) 00250 ! 00251 YRECFM='LE_GD' 00252 YRECFM=ADJUSTL(YPATCH//YRECFM) 00253 YCOMMENT='GARDEN area latent heat flux'//YRECFM//' (W/m2)' 00254 ! 00255 CALL WRITE_SURF(HPROGRAM,YRECFM,XLE_GARDEN(:),IRESP,HCOMMENT=YCOMMENT) 00256 ! 00257 YRECFM='GFLUX_GD' 00258 YRECFM=ADJUSTL(YPATCH//YRECFM) 00259 YCOMMENT='net GARDEN area conduction flux'//YRECFM//' (W/m2)' 00260 ! 00261 CALL WRITE_SURF(HPROGRAM,YRECFM,XGFLUX_GARDEN(:),IRESP,HCOMMENT=YCOMMENT) 00262 ! 00263 ENDIF 00264 ! 00265 YRECFM='RN_BLT' 00266 YRECFM=ADJUSTL(YPATCH//YRECFM) 00267 YCOMMENT='net radiation for built surfaces'//YRECFM//' (W/m2)' 00268 ! 00269 CALL WRITE_SURF(HPROGRAM,YRECFM,XRN_BLT(:),IRESP,HCOMMENT=YCOMMENT) 00270 ! 00271 YRECFM='H_BLT' 00272 YRECFM=ADJUSTL(YPATCH//YRECFM) 00273 YCOMMENT='built surface sensible heat flux'//YRECFM//' (W/m2)' 00274 ! 00275 CALL WRITE_SURF(HPROGRAM,YRECFM,XH_BLT(:),IRESP,HCOMMENT=YCOMMENT) 00276 ! 00277 YRECFM='LE_BLT' 00278 YRECFM=ADJUSTL(YPATCH//YRECFM) 00279 YCOMMENT='built surface latent heat flux'//YRECFM//' (W/m2)' 00280 ! 00281 CALL WRITE_SURF(HPROGRAM,YRECFM,XLE_BLT(:),IRESP,HCOMMENT=YCOMMENT) 00282 ! 00283 YRECFM='GFLUX_BLT' 00284 YRECFM=ADJUSTL(YPATCH//YRECFM) 00285 YCOMMENT='built surface conduction flux'//YRECFM//' (W/m2)' 00286 ! 00287 CALL WRITE_SURF(HPROGRAM,YRECFM,XGFLUX_BLT(:),IRESP,HCOMMENT=YCOMMENT) 00288 ! 00289 ! 00290 YRECFM='SWA_RF' 00291 YRECFM=ADJUSTL(YPATCH//YRECFM) 00292 YCOMMENT='Sdown absorbed by roofs'//' (W/m2)' 00293 ! 00294 CALL WRITE_SURF(HPROGRAM,YRECFM,XABS_SW_ROOF(:),IRESP,HCOMMENT=YCOMMENT) 00295 ! 00296 YRECFM='SWA_SN_RF' 00297 YRECFM=ADJUSTL(YPATCH//YRECFM) 00298 YCOMMENT='Sdown absorbed by snow on roofs'//' (W/m2)' 00299 ! 00300 CALL WRITE_SURF(HPROGRAM,YRECFM,XABS_SW_SNOW_ROOF(:),IRESP,HCOMMENT=YCOMMENT) 00301 ! 00302 YRECFM='LWA_RF' 00303 YRECFM=ADJUSTL(YPATCH//YRECFM) 00304 YCOMMENT='Ldown absorbed by roofs'//' (W/m2)' 00305 ! 00306 CALL WRITE_SURF(HPROGRAM,YRECFM,XABS_LW_ROOF(:),IRESP,HCOMMENT=YCOMMENT) 00307 ! 00308 YRECFM='LWA_SN_RF' 00309 YRECFM=ADJUSTL(YPATCH//YRECFM) 00310 YCOMMENT='Ldown absorbed by snow on roofs'//' (W/m2)' 00311 ! 00312 CALL WRITE_SURF(HPROGRAM,YRECFM,XABS_LW_SNOW_ROOF(:),IRESP,HCOMMENT=YCOMMENT) 00313 ! 00314 YRECFM='SWA_RD' 00315 YRECFM=ADJUSTL(YPATCH//YRECFM) 00316 YCOMMENT='Sdown absorbed by roads'//' (W/m2)' 00317 ! 00318 CALL WRITE_SURF(HPROGRAM,YRECFM,XABS_SW_ROAD(:),IRESP,HCOMMENT=YCOMMENT) 00319 ! 00320 YRECFM='SWA_SN_RD' 00321 YRECFM=ADJUSTL(YPATCH//YRECFM) 00322 YCOMMENT='Sdown absorbed by snow on roads'//' (W/m2)' 00323 ! 00324 CALL WRITE_SURF(HPROGRAM,YRECFM,XABS_SW_SNOW_ROAD(:),IRESP,HCOMMENT=YCOMMENT) 00325 ! 00326 YRECFM='LWA_RD' 00327 YRECFM=ADJUSTL(YPATCH//YRECFM) 00328 YCOMMENT='Ldown absorbed by roads'//' (W/m2)' 00329 ! 00330 CALL WRITE_SURF(HPROGRAM,YRECFM,XABS_LW_ROAD(:),IRESP,HCOMMENT=YCOMMENT) 00331 ! 00332 YRECFM='LWA_SN_RD' 00333 YRECFM=ADJUSTL(YPATCH//YRECFM) 00334 YCOMMENT='Ldown absorbed by snow on roads'//' (W/m2)' 00335 ! 00336 CALL WRITE_SURF(HPROGRAM,YRECFM,XABS_LW_SNOW_ROAD(:),IRESP,HCOMMENT=YCOMMENT) 00337 ! 00338 IF (CWALL_OPT=='UNIF') THEN 00339 ! 00340 YRECFM='SWA_WL' 00341 YRECFM=ADJUSTL(YPATCH//YRECFM) 00342 YCOMMENT='Sdown absorbed by wall'//' (W/m2)' 00343 ! 00344 CALL WRITE_SURF(HPROGRAM,YRECFM,XABS_SW_WALL_A(:),IRESP,HCOMMENT=YCOMMENT) 00345 ! 00346 YRECFM='LWA_WL' 00347 YRECFM=ADJUSTL(YPATCH//YRECFM) 00348 YCOMMENT='Ldown absorbed by wall '//' (W/m2)' 00349 ! 00350 CALL WRITE_SURF(HPROGRAM,YRECFM,XABS_LW_WALL_A(:),IRESP,HCOMMENT=YCOMMENT) 00351 ! 00352 ELSE 00353 ! 00354 YRECFM='SWA_WLA' 00355 YRECFM=ADJUSTL(YPATCH//YRECFM) 00356 YCOMMENT='Sdown absorbed by wall A'//' (W/m2)' 00357 ! 00358 CALL WRITE_SURF(HPROGRAM,YRECFM,XABS_SW_WALL_A(:),IRESP,HCOMMENT=YCOMMENT) 00359 ! 00360 YRECFM='LWA_WLA' 00361 YRECFM=ADJUSTL(YPATCH//YRECFM) 00362 YCOMMENT='Ldown absorbed by wall A'//' (W/m2)' 00363 ! 00364 CALL WRITE_SURF(HPROGRAM,YRECFM,XABS_LW_WALL_A(:),IRESP,HCOMMENT=YCOMMENT) 00365 ! 00366 YRECFM='SWA_WLB' 00367 YRECFM=ADJUSTL(YPATCH//YRECFM) 00368 YCOMMENT='Sdown absorbed by wall B'//' (W/m2)' 00369 ! 00370 CALL WRITE_SURF(HPROGRAM,YRECFM,XABS_SW_WALL_B(:),IRESP,HCOMMENT=YCOMMENT) 00371 ! 00372 YRECFM='LWA_WLB' 00373 YRECFM=ADJUSTL(YPATCH//YRECFM) 00374 YCOMMENT='Ldown absorbed by wall B'//' (W/m2)' 00375 ! 00376 CALL WRITE_SURF(HPROGRAM,YRECFM,XABS_LW_WALL_B(:),IRESP,HCOMMENT=YCOMMENT) 00377 ! 00378 ENDIF 00379 ! 00380 IF (LGARDEN) THEN 00381 ! 00382 YRECFM='SWA_GD' 00383 YRECFM=ADJUSTL(YPATCH//YRECFM) 00384 YCOMMENT='Sdown absorbed by GARDEN areas'//' (W/m2)' 00385 ! 00386 CALL WRITE_SURF(HPROGRAM,YRECFM,XABS_SW_GARDEN(:),IRESP,HCOMMENT=YCOMMENT) 00387 ! 00388 YRECFM='LWA_GD' 00389 YRECFM=ADJUSTL(YPATCH//YRECFM) 00390 YCOMMENT='Ldown absorbed by GARDEN areas'//' (W/m2)' 00391 ! 00392 CALL WRITE_SURF(HPROGRAM,YRECFM,XABS_LW_GARDEN(:),IRESP,HCOMMENT=YCOMMENT) 00393 ! 00394 ENDIF 00395 ! 00396 YRECFM='REF_SW_GO' 00397 YRECFM=ADJUSTL(YPATCH//YRECFM) 00398 YCOMMENT='Total solar rad reflected by ground '//' (W/m2)' 00399 CALL WRITE_SURF(HPROGRAM,YRECFM,XREF_SW_GRND(:),IRESP,HCOMMENT=YCOMMENT) 00400 ! 00401 YRECFM='LWE_GO' 00402 YRECFM=ADJUSTL(YPATCH//YRECFM) 00403 YCOMMENT='LW emitted by ground'//' (W/m2)' 00404 CALL WRITE_SURF(HPROGRAM,YRECFM,XEMIT_LW_GRND(:),IRESP,HCOMMENT=YCOMMENT) 00405 ! 00406 YRECFM='REF_SW_FA' 00407 YRECFM=ADJUSTL(YPATCH//YRECFM) 00408 YCOMMENT='Total solar rad reflected by facade '//' (W/m2)' 00409 CALL WRITE_SURF(HPROGRAM,YRECFM,XREF_SW_FAC(:),IRESP,HCOMMENT=YCOMMENT) 00410 ! 00411 YRECFM='LWE_FA' 00412 YRECFM=ADJUSTL(YPATCH//YRECFM) 00413 YCOMMENT='LW emitted by facade'//' (W/m2)' 00414 CALL WRITE_SURF(HPROGRAM,YRECFM,XEMIT_LW_FAC(:),IRESP,HCOMMENT=YCOMMENT) 00415 ! 00416 ! 00417 IF (CBEM=='BEM') THEN 00418 ! 00419 YRECFM='XFLX_BLD' 00420 YRECFM=ADJUSTL(YPATCH//YRECFM) 00421 YCOMMENT='heat flux from bld'//' (W/m2)' 00422 CALL WRITE_SURF(HPROGRAM,YRECFM,XFLX_BLD(:),IRESP,HCOMMENT=YCOMMENT) 00423 ! 00424 YRECFM='H_BLD_CL' 00425 YRECFM=ADJUSTL(YPATCH//YRECFM) 00426 YCOMMENT='sensible cooling demand'//' (W/m2)' 00427 CALL WRITE_SURF(HPROGRAM,YRECFM,XH_BLD_COOL(:),IRESP,HCOMMENT=YCOMMENT) 00428 ! 00429 YRECFM='T_BLD_CL' 00430 YRECFM=ADJUSTL(YPATCH//YRECFM) 00431 YCOMMENT='Total cooling demand'//' (W/m2)' 00432 CALL WRITE_SURF(HPROGRAM,YRECFM,XT_BLD_COOL(:),IRESP,HCOMMENT=YCOMMENT) 00433 ! 00434 YRECFM='H_BLD_HT' 00435 YRECFM=ADJUSTL(YPATCH//YRECFM) 00436 YCOMMENT='sensible heating demand'//' (W/m2)' 00437 CALL WRITE_SURF(HPROGRAM,YRECFM,XH_BLD_HEAT(:),IRESP,HCOMMENT=YCOMMENT) 00438 ! 00439 YRECFM='LE_BLD_CL' 00440 YRECFM=ADJUSTL(YPATCH//YRECFM) 00441 YCOMMENT='latent cooling demand'//' (W/m2)' 00442 CALL WRITE_SURF(HPROGRAM,YRECFM,XLE_BLD_COOL(:),IRESP,HCOMMENT=YCOMMENT) 00443 ! 00444 YRECFM='LE_BLD_HT' 00445 YRECFM=ADJUSTL(YPATCH//YRECFM) 00446 YCOMMENT='latent heating demand'//' (W/m2)' 00447 CALL WRITE_SURF(HPROGRAM,YRECFM,XLE_BLD_HEAT(:),IRESP,HCOMMENT=YCOMMENT) 00448 ! 00449 YRECFM='H_WASTE' 00450 YRECFM=ADJUSTL(YPATCH//YRECFM) 00451 YCOMMENT='sensible waste heat from HVAC'//' (W/m2)' 00452 CALL WRITE_SURF(HPROGRAM,YRECFM,XH_WASTE(:),IRESP,HCOMMENT=YCOMMENT) 00453 ! 00454 YRECFM='LE_WASTE' 00455 YRECFM=ADJUSTL(YPATCH//YRECFM) 00456 YCOMMENT='latent waste heat from HVAC'//' (W/m2)' 00457 CALL WRITE_SURF(HPROGRAM,YRECFM,XLE_WASTE(:),IRESP,HCOMMENT=YCOMMENT) 00458 ! 00459 YRECFM='HVAC_CL' 00460 YRECFM=ADJUSTL(YPATCH//YRECFM) 00461 YCOMMENT='cooling energy consumption'//' (W/m2)' 00462 CALL WRITE_SURF(HPROGRAM,YRECFM,XHVAC_COOL(:),IRESP,HCOMMENT=YCOMMENT) 00463 ! 00464 YRECFM='HVAC_HT' 00465 YRECFM=ADJUSTL(YPATCH//YRECFM) 00466 YCOMMENT='heating energy consumption'//' (W/m2)' 00467 CALL WRITE_SURF(HPROGRAM,YRECFM,XHVAC_HEAT(:),IRESP,HCOMMENT=YCOMMENT) 00468 ! 00469 YRECFM='CAP_SYS' 00470 YRECFM=ADJUSTL(YPATCH//YRECFM) 00471 YCOMMENT='Actual capacity of the cooling system'//' (W m-2(bld))' 00472 CALL WRITE_SURF(HPROGRAM,YRECFM,XCAP_SYS(:),IRESP,HCOMMENT=YCOMMENT) 00473 ! 00474 YRECFM='M_SYS' 00475 YRECFM=ADJUSTL(YPATCH//YRECFM) 00476 YCOMMENT='Actual HVAC mass flow rate'//' (kg s-1 m-2(bld))' 00477 CALL WRITE_SURF(HPROGRAM,YRECFM,XM_SYS(:),IRESP,HCOMMENT=YCOMMENT) 00478 ! 00479 YRECFM='COP' 00480 YRECFM=ADJUSTL(YPATCH//YRECFM) 00481 YCOMMENT='Actual COP of the cooling system'//' ()' 00482 CALL WRITE_SURF(HPROGRAM,YRECFM,XCOP(:),IRESP,HCOMMENT=YCOMMENT) 00483 ! 00484 YRECFM='Q_SYS' 00485 YRECFM=ADJUSTL(YPATCH//YRECFM) 00486 YCOMMENT='Supply air specific humidity'//' (kg kg-1)' 00487 CALL WRITE_SURF(HPROGRAM,YRECFM,XQ_SYS(:),IRESP,HCOMMENT=YCOMMENT) 00488 ! 00489 YRECFM='T_SYS' 00490 YRECFM=ADJUSTL(YPATCH//YRECFM) 00491 YCOMMENT='Supply air temperature'//' (K)' 00492 CALL WRITE_SURF(HPROGRAM,YRECFM,XT_SYS(:),IRESP,HCOMMENT=YCOMMENT) 00493 ! 00494 YRECFM='TR_SW_WIN' 00495 YRECFM=ADJUSTL(YPATCH//YRECFM) 00496 YCOMMENT='Solar radiation transmitted through windows'//' (W m-2(bld))' 00497 CALL WRITE_SURF(HPROGRAM,YRECFM,XTR_SW_WIN(:),IRESP,HCOMMENT=YCOMMENT) 00498 ! 00499 YRECFM='FAN_POWER' 00500 YRECFM=ADJUSTL(YPATCH//YRECFM) 00501 YCOMMENT='HVAC fan power'//' (W m-2(bld))' 00502 CALL WRITE_SURF(HPROGRAM,YRECFM,XFAN_POWER(:),IRESP,HCOMMENT=YCOMMENT) 00503 ! 00504 YRECFM='T_RAD_IND' 00505 YRECFM=ADJUSTL(YPATCH//YRECFM) 00506 YCOMMENT='Indoor mean radiant temperature'//' (K)' 00507 CALL WRITE_SURF(HPROGRAM,YRECFM,XT_RAD_IND(:),IRESP,HCOMMENT=YCOMMENT) 00508 ! 00509 YRECFM='HU_BLD' 00510 YRECFM=ADJUSTL(YPATCH//YRECFM) 00511 YCOMMENT='Indoor relative humidity'//' (-)' 00512 CALL WRITE_SURF(HPROGRAM,YRECFM,XHU_BLD(:),IRESP,HCOMMENT=YCOMMENT) 00513 ! 00514 YRECFM='SWA_WIN' 00515 YRECFM=ADJUSTL(YPATCH//YRECFM) 00516 YCOMMENT='Sdown absorbed by windows'//' (W/m2)' 00517 CALL WRITE_SURF(HPROGRAM,YRECFM,XABS_SW_WIN(:),IRESP,HCOMMENT=YCOMMENT) 00518 ! 00519 YRECFM='LWA_WIN' 00520 YRECFM=ADJUSTL(YPATCH//YRECFM) 00521 YCOMMENT='Ldown absorbed by windows'//' (W/m2)' 00522 CALL WRITE_SURF(HPROGRAM,YRECFM,XABS_LW_WIN(:),IRESP,HCOMMENT=YCOMMENT) 00523 ! 00524 ENDIF 00525 ! 00526 IF (LGREENROOF) THEN 00527 ! 00528 YRECFM='RN_GR' 00529 YRECFM=ADJUSTL(YPATCH//YRECFM) 00530 YCOMMENT='net radiation for GREENROOFs'//' (W/m2)' 00531 CALL WRITE_SURF(HPROGRAM,YRECFM,XRN_GREENROOF(:),IRESP,HCOMMENT=YCOMMENT) 00532 ! 00533 YRECFM='H_GR' 00534 YRECFM=ADJUSTL(YPATCH//YRECFM) 00535 YCOMMENT='sensible heat flux for GREENROOFs'//' (W/m2)' 00536 CALL WRITE_SURF(HPROGRAM,YRECFM,XH_GREENROOF(:),IRESP,HCOMMENT=YCOMMENT) 00537 ! 00538 YRECFM='LE_GR' 00539 YRECFM=ADJUSTL(YPATCH//YRECFM) 00540 YCOMMENT='latent heat flux for GREENROOFs'//' (W/m2)' 00541 CALL WRITE_SURF(HPROGRAM,YRECFM,XLE_GREENROOF(:),IRESP,HCOMMENT=YCOMMENT) 00542 ! 00543 YRECFM='GFLUX_GR' 00544 YRECFM=ADJUSTL(YPATCH//YRECFM) 00545 YCOMMENT='net conduction flux for GREENROOFs'//' (W/m2)' 00546 CALL WRITE_SURF(HPROGRAM,YRECFM,XGFLUX_GREENROOF(:),IRESP,HCOMMENT=YCOMMENT) 00547 ! 00548 YRECFM='SWA_GR' 00549 YRECFM=ADJUSTL(YPATCH//YRECFM) 00550 YCOMMENT='Sdown absorbed by GREENROOFs'//' (W/m2)' 00551 CALL WRITE_SURF(HPROGRAM,YRECFM,XABS_SW_GREENROOF(:),IRESP,HCOMMENT=YCOMMENT) 00552 ! 00553 YRECFM='LWA_GR' 00554 YRECFM=ADJUSTL(YPATCH//YRECFM) 00555 YCOMMENT='Ldown absorbed by GREENROOFs'//' (W/m2)' 00556 CALL WRITE_SURF(HPROGRAM,YRECFM,XABS_LW_GREENROOF(:),IRESP,HCOMMENT=YCOMMENT) 00557 ! 00558 YRECFM='G_GR_ROOF' 00559 YRECFM=ADJUSTL(YPATCH//YRECFM) 00560 YCOMMENT='heat flux between GREENROOF and ROOF'//' (W/m2)' 00561 CALL WRITE_SURF(HPROGRAM,YRECFM,XG_GREENROOF_ROOF(:),IRESP,HCOMMENT=YCOMMENT) 00562 ! 00563 YRECFM='RUNOFF_GR' 00564 YRECFM=ADJUSTL(YPATCH//YRECFM) 00565 YCOMMENT='GREENROOF soil surface runoff'//' (kg/m2/s)' 00566 CALL WRITE_SURF(HPROGRAM,YRECFM,XRUNOFF_GREENROOF(:),IRESP,HCOMMENT=YCOMMENT) 00567 ! 00568 YRECFM='DRAIN_GR' 00569 YRECFM=ADJUSTL(YPATCH//YRECFM) 00570 YCOMMENT='GREENROOF total vertical drainage'//' (kg/m2/s)' 00571 CALL WRITE_SURF(HPROGRAM,YRECFM,XDRAIN_GREENROOF(:),IRESP,HCOMMENT=YCOMMENT) 00572 ! 00573 ENDIF 00574 ! 00575 END IF 00576 ! 00577 !* 5. Cumulated Energy fluxes 00578 ! 00579 ! 00580 !------------------------------------------------------------------------------- 00581 ! 00582 ! End of IO 00583 ! 00584 CALL END_IO_SURF_n(HPROGRAM) 00585 IF (LHOOK) CALL DR_HOOK('WRITE_DIAG_MISC_TEB_N',1,ZHOOK_HANDLE) 00586 ! 00587 END SUBROUTINE WRITE_DIAG_MISC_TEB_n