SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/write_diag_misc_tebn.F90
Go to the documentation of this file.
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