SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/writesurf_pgd_teb_parn.F90
Go to the documentation of this file.
00001 !     #########
00002       SUBROUTINE WRITESURF_PGD_TEB_PAR_n(HPROGRAM)
00003 !     ################################################
00004 !
00005 !!****  *WRITESURF_PGD_TEB_PAR_n* - reads ISBA physiographic fields
00006 !!                        
00007 !!
00008 !!    PURPOSE
00009 !!    -------
00010 !!
00011 !!**  METHOD
00012 !!    ------
00013 !!
00014 !!    EXTERNAL
00015 !!    --------
00016 !!
00017 !!
00018 !!    IMPLICIT ARGUMENTS
00019 !!    ------------------
00020 !!
00021 !!    REFERENCE
00022 !!    ---------
00023 !!
00024 !!
00025 !!    AUTHOR
00026 !!    ------
00027 !!      V. Masson   *Meteo France*      
00028 !!
00029 !!    MODIFICATIONS
00030 !!    -------------
00031 !!      Original    05/2005
00032 !-------------------------------------------------------------------------------
00033 !
00034 !*       0.    DECLARATIONS
00035 !              ------------
00036 !
00037 USE MODD_TEB_n,               ONLY : LGARDEN, LGREENROOF, CBEM
00038 USE MODD_DATA_TEB_n,          ONLY : NPAR_ROAD_LAYER, NPAR_WALL_LAYER,               &
00039                                      NPAR_ROOF_LAYER,                                &
00040                                      NPAR_BLDTYPE, NPAR_BLD_AGE, NPAR_USETYPE,       &
00041                                      XPAR_Z0_TOWN, XPAR_BLD,                         &
00042                                      XPAR_GARDEN, XPAR_ROAD_DIR, XPAR_GREENROOF,     &
00043                                      XPAR_ALB_ROOF,                                  &
00044                                      XPAR_EMIS_ROOF, XPAR_HC_ROOF, XPAR_TC_ROOF,     &
00045                                      XPAR_D_ROOF, XPAR_ALB_ROAD, XPAR_EMIS_ROAD,     &
00046                                      XPAR_HC_ROAD, XPAR_TC_ROAD, XPAR_D_ROAD,        &
00047                                      XPAR_ALB_WALL, XPAR_EMIS_WALL, XPAR_HC_WALL,    &
00048                                      XPAR_TC_WALL, XPAR_D_WALL, XPAR_BLD_HEIGHT,     &
00049                                      XPAR_WALL_O_HOR,                                &
00050                                      XPAR_H_TRAFFIC, XPAR_LE_TRAFFIC,                &
00051                                      XPAR_H_INDUSTRY, XPAR_LE_INDUSTRY,              &
00052                                      LDATA_Z0_TOWN, LDATA_BLD, LDATA_ALB_ROOF,       &
00053                                      LDATA_EMIS_ROOF, LDATA_HC_ROOF, LDATA_TC_ROOF,  &
00054                                      LDATA_D_ROOF, LDATA_ALB_ROAD, LDATA_EMIS_ROAD,  &
00055                                      LDATA_HC_ROAD, LDATA_TC_ROAD, LDATA_D_ROAD,     &
00056                                      LDATA_ALB_WALL, LDATA_EMIS_WALL, LDATA_HC_WALL, &
00057                                      LDATA_TC_WALL, LDATA_D_WALL, LDATA_BLD_HEIGHT,  &
00058                                      LDATA_WALL_O_HOR,                               &
00059                                      LDATA_H_TRAFFIC, LDATA_LE_TRAFFIC,              &
00060                                      LDATA_H_INDUSTRY, LDATA_LE_INDUSTRY ,           &
00061                                      LDATA_GARDEN, LDATA_BLDTYPE, LDATA_GREENROOF,   &
00062                                      LDATA_ROAD_DIR, LDATA_USETYPE, LDATA_BLD_AGE,   &
00063                                      LDATA_ROUGH_ROOF, LDATA_ROUGH_WALL,             &
00064                                      XPAR_ROUGH_ROOF, XPAR_ROUGH_WALL
00065 USE MODD_DATA_BEM_n,          ONLY : NPAR_FLOOR_LAYER,                               &
00066                                      XPAR_HC_FLOOR, XPAR_TC_FLOOR, XPAR_D_FLOOR,     &
00067                                      XPAR_TCOOL_TARGET, XPAR_THEAT_TARGET,           &
00068                                      XPAR_F_WASTE_CAN,                               &
00069                                      XPAR_EFF_HEAT, XPAR_QIN, XPAR_QIN_FRAD,         &
00070                                      XPAR_SHGC, XPAR_U_WIN, XPAR_GR, XPAR_SHGC_SH,   &
00071                                      XPAR_FLOOR_HEIGHT, XPAR_INF, XPAR_QIN_FLAT,     &
00072                                      XPAR_HR_TARGET, XPAR_V_VENT, XPAR_CAP_SYS_HEAT, &
00073                                      XPAR_CAP_SYS_RAT, XPAR_T_ADP, XPAR_M_SYS_RAT,   &
00074                                      XPAR_COP_RAT, XPAR_T_SIZE_MAX, XPAR_T_SIZE_MIN, &
00075                                      XPAR_F_WATER_COND, XPAR_NATVENT, XPAR_SHADE,    &
00076                                      LDATA_TCOOL_TARGET, LDATA_THEAT_TARGET,         &
00077                                      LDATA_F_WASTE_CAN, LDATA_EFF_HEAT, LDATA_QIN,   &
00078                                      LDATA_QIN_FRAD, LDATA_SHGC, LDATA_U_WIN,        &
00079                                      LDATA_GR, LDATA_FLOOR_HEIGHT, LDATA_INF,        &
00080                                      LDATA_QIN_FLAT, LDATA_HR_TARGET, LDATA_V_VENT,  &
00081                                      LDATA_CAP_SYS_HEAT, LDATA_CAP_SYS_RAT,          &
00082                                      LDATA_T_ADP, LDATA_M_SYS_RAT, LDATA_COP_RAT,    &
00083                                      LDATA_T_SIZE_MAX, LDATA_T_SIZE_MIN,             &
00084                                      LDATA_NATVENT, LDATA_SHGC_SH,                   &
00085                                      LDATA_F_WATER_COND, LDATA_SHADE, LDATA_HC_FLOOR,&
00086                                      LDATA_TC_FLOOR, LDATA_D_FLOOR
00087 
00088 USE MODD_TEB_GARDEN_n,        ONLY : CTYPE_HVEG, CTYPE_LVEG, CTYPE_NVEG, LPAR_GARDEN
00089 USE MODD_DATA_TEB_GARDEN_n,   ONLY : NTIME,                                          &
00090                                      XDATA_FRAC_HVEG, XDATA_FRAC_LVEG,               &
00091                                      XDATA_FRAC_NVEG,                                &
00092                                      XDATA_LAI_HVEG , XDATA_LAI_LVEG ,               &
00093                                      XDATA_H_HVEG  
00094 USE MODD_TEB_GREENROOF_n,     ONLY : NTIME_GR,NLAYER_GR,CTYP_GR, LPAR_GREENROOF
00095 USE MODD_DATA_TEB_GREENROOF_n,ONLY : XPAR_OM_GR, XPAR_CLAY_GR,                       &
00096                                      XPAR_SAND_GR, XPAR_LAI_GR
00097 !
00098 USE MODI_WRITE_SURF
00099 USE MODI_WRITE_BLD_DESCRIPTION
00100 !
00101 !
00102 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00103 USE PARKIND1  ,ONLY : JPRB
00104 !
00105 IMPLICIT NONE
00106 !
00107 !*       0.1   Declarations of arguments
00108 !              -------------------------
00109 !
00110  CHARACTER(LEN=6),  INTENT(IN)  :: HPROGRAM ! program calling
00111 !
00112 !*       0.2   Declarations of local variables
00113 !              -------------------------------
00114 !
00115 INTEGER           :: IRESP          ! IRESP  : return-code if a problem appears
00116  CHARACTER(LEN=12) :: YRECFM         ! Name of the article to be read
00117  CHARACTER(LEN=100):: YCOMMENT       ! Comment string
00118 INTEGER           :: JLAYER         ! loop index
00119 INTEGER           :: JTIME          ! loop index
00120 REAL, DIMENSION(:), ALLOCATABLE :: ZWORK
00121 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00122 !
00123 !-------------------------------------------------------------------------------
00124 !
00125 IF (LHOOK) CALL DR_HOOK('WRITESURF_PGD_TEB_PAR_N',0,ZHOOK_HANDLE)
00126 YRECFM='L_BLDTYPE'
00127 YCOMMENT=YRECFM
00128  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_BLDTYPE,IRESP,HCOMMENT=YCOMMENT)
00129 IF (LDATA_BLDTYPE) THEN
00130   YRECFM='D_BLDTYPE'
00131   YCOMMENT='X_Y_'//YRECFM//' (m)'
00132   ALLOCATE(ZWORK(SIZE(NPAR_BLDTYPE)))
00133   ZWORK=FLOAT(NPAR_BLDTYPE(:))
00134   CALL WRITE_SURF(HPROGRAM,YRECFM,ZWORK,IRESP,YCOMMENT)
00135   DEALLOCATE(ZWORK)
00136 ENDIF
00137 !
00138 YRECFM='L_BLD_AGE'
00139 YCOMMENT=YRECFM
00140  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_BLD_AGE,IRESP,HCOMMENT=YCOMMENT)
00141 IF (LDATA_BLD_AGE) THEN
00142   YRECFM='D_BLD_AGE'
00143   YCOMMENT='X_Y_'//YRECFM//' (m)'
00144   ALLOCATE(ZWORK(SIZE(NPAR_BLD_AGE)))
00145   ZWORK=FLOAT(NPAR_BLD_AGE(:))
00146   CALL WRITE_SURF(HPROGRAM,YRECFM,ZWORK,IRESP,YCOMMENT)
00147   DEALLOCATE(ZWORK)
00148 ENDIF
00149 !
00150 YRECFM='L_USETYPE'
00151 YCOMMENT=YRECFM
00152  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_USETYPE,IRESP,HCOMMENT=YCOMMENT)
00153 IF (LDATA_USETYPE) THEN
00154   YRECFM='D_USETYPE'
00155   YCOMMENT='X_Y_'//YRECFM//' (m)'
00156   ALLOCATE(ZWORK(SIZE(NPAR_USETYPE)))
00157   ZWORK=FLOAT(NPAR_USETYPE(:))
00158   CALL WRITE_SURF(HPROGRAM,YRECFM,ZWORK,IRESP,YCOMMENT)
00159   DEALLOCATE(ZWORK)
00160 ENDIF
00161 !
00162 IF (LDATA_BLDTYPE .OR. LDATA_BLD_AGE .OR. LDATA_USETYPE) CALL WRITE_BLD_DESCRIPTION(HPROGRAM)
00163 !
00164 YRECFM='L_Z0_TOWN'
00165 YCOMMENT=YRECFM
00166  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_Z0_TOWN,IRESP,HCOMMENT=YCOMMENT)
00167 IF (LDATA_Z0_TOWN) THEN
00168   YRECFM='D_Z0_TOWN'
00169   YCOMMENT='X_Y_'//YRECFM//' (m)'
00170   CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_Z0_TOWN,IRESP,YCOMMENT)
00171 ENDIF
00172 !
00173 YRECFM='L_BLD'
00174 YCOMMENT=YRECFM
00175  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_BLD,IRESP,HCOMMENT=YCOMMENT)
00176 IF (LDATA_BLD) THEN
00177   YRECFM='D_BLD'
00178   YCOMMENT='X_Y_'//YRECFM//' (-)'
00179   CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_BLD,IRESP,YCOMMENT)
00180 ENDIF
00181 !
00182 YRECFM='L_GARDEN'
00183 YCOMMENT=YRECFM
00184  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_GARDEN,IRESP,HCOMMENT=YCOMMENT)
00185 IF (LDATA_GARDEN) THEN
00186   YRECFM='D_GARDEN'
00187   YCOMMENT='X_Y_'//YRECFM//' (-)'
00188   CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_GARDEN,IRESP,YCOMMENT)
00189 ENDIF
00190 !
00191 YRECFM='L_GREENROOF'
00192 YCOMMENT=YRECFM
00193  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_GREENROOF,IRESP,HCOMMENT=YCOMMENT)
00194 IF (LDATA_GREENROOF) THEN
00195   YRECFM='D_GREENROOF'
00196   YCOMMENT='X_Y_'//YRECFM//' (-)'
00197   CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_GREENROOF,IRESP,YCOMMENT)
00198 ENDIF
00199 !
00200 YRECFM='L_ROAD_DIR'
00201 YCOMMENT=YRECFM
00202  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_ROAD_DIR,IRESP,HCOMMENT=YCOMMENT)
00203 IF (LDATA_ROAD_DIR) THEN
00204   YRECFM='D_ROAD_DIR'
00205   YCOMMENT='X_Y_'//YRECFM//' (-)'
00206   CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_ROAD_DIR,IRESP,YCOMMENT)
00207 ENDIF
00208 !
00209 YRECFM='L_ALB_ROOF'
00210 YCOMMENT=YRECFM
00211  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_ALB_ROOF,IRESP,HCOMMENT=YCOMMENT)
00212 IF (LDATA_ALB_ROOF) THEN
00213   YRECFM='D_ALB_ROOF'
00214   YCOMMENT='X_Y_'//YRECFM//' (-)'
00215   CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_ALB_ROOF,IRESP,YCOMMENT)
00216 ENDIF
00217 !
00218 YRECFM='L_EMIS_ROOF'
00219 YCOMMENT=YRECFM
00220  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_EMIS_ROOF,IRESP,HCOMMENT=YCOMMENT)
00221 IF (LDATA_EMIS_ROOF) THEN
00222   YRECFM='D_EMI_ROOF'
00223   YCOMMENT='X_Y_'//YRECFM//' (-)'
00224   CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_EMIS_ROOF,IRESP,YCOMMENT)
00225 ENDIF
00226 !
00227 IF (LDATA_HC_ROOF) THEN
00228   YCOMMENT='Number of specified Roof thermal layers'
00229   CALL WRITE_SURF(HPROGRAM,'PAR_RF_LAYER',NPAR_ROOF_LAYER,IRESP,YCOMMENT)
00230 END IF
00231 !
00232 YRECFM='L_HC_ROOF'
00233 YCOMMENT=YRECFM
00234  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_HC_ROOF,IRESP,HCOMMENT=YCOMMENT)
00235 IF (LDATA_HC_ROOF) THEN
00236   DO JLAYER=1,NPAR_ROOF_LAYER
00237     WRITE(YRECFM,FMT='(A9,I1.1)') 'D_HC_ROOF',JLAYER
00238     YCOMMENT='X_Y_'//YRECFM//' (J/K/m3)'
00239     CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_HC_ROOF(:,JLAYER),IRESP,YCOMMENT)
00240   END DO
00241 ENDIF
00242 !
00243 YRECFM='L_TC_ROOF'
00244 YCOMMENT=YRECFM
00245  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_TC_ROOF,IRESP,HCOMMENT=YCOMMENT)
00246 IF (LDATA_TC_ROOF) THEN
00247   DO JLAYER=1,NPAR_ROOF_LAYER
00248     WRITE(YRECFM,FMT='(A9,I1.1)') 'D_TC_ROOF',JLAYER
00249     YCOMMENT='X_Y_'//YRECFM//' (W/K/m)'
00250     CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_TC_ROOF(:,JLAYER),IRESP,YCOMMENT)
00251   END DO
00252 ENDIF
00253 !
00254 YRECFM='L_D_ROOF'
00255 YCOMMENT=YRECFM
00256  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_D_ROOF,IRESP,HCOMMENT=YCOMMENT)
00257 IF (LDATA_D_ROOF) THEN
00258   DO JLAYER=1,NPAR_ROOF_LAYER
00259     WRITE(YRECFM,FMT='(A8,I1.1)') 'D_D_ROOF',JLAYER
00260     YCOMMENT='X_Y_'//YRECFM//' (m)'
00261     CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_D_ROOF(:,JLAYER),IRESP,YCOMMENT)
00262   END DO
00263 ENDIF
00264 !
00265 YRECFM='L_ALB_ROAD'
00266 YCOMMENT=YRECFM
00267  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_ALB_ROAD,IRESP,HCOMMENT=YCOMMENT)
00268 IF (LDATA_ALB_ROAD) THEN
00269   YRECFM='D_ALB_ROAD'
00270   YCOMMENT='X_Y_'//YRECFM//' (-)'
00271   CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_ALB_ROAD,IRESP,YCOMMENT)
00272 ENDIF
00273 !
00274 YRECFM='L_EMIS_ROAD'
00275 YCOMMENT=YRECFM
00276  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_EMIS_ROAD,IRESP,HCOMMENT=YCOMMENT)
00277 IF (LDATA_EMIS_ROAD) THEN
00278   YRECFM='D_EMI_ROAD'
00279   YCOMMENT='X_Y_'//YRECFM//' (-)'
00280   CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_EMIS_ROAD,IRESP,YCOMMENT)
00281 ENDIF
00282 !
00283 IF (LDATA_HC_ROAD) THEN
00284   YCOMMENT='Number of specified Road thermal layers'
00285   CALL WRITE_SURF(HPROGRAM,'PAR_RD_LAYER',NPAR_ROAD_LAYER,IRESP,YCOMMENT)
00286 END IF
00287 !
00288 YRECFM='L_HC_ROAD'
00289 YCOMMENT=YRECFM
00290  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_HC_ROAD,IRESP,HCOMMENT=YCOMMENT)
00291 IF (LDATA_HC_ROAD) THEN
00292   DO JLAYER=1,NPAR_ROAD_LAYER
00293     WRITE(YRECFM,FMT='(A9,I1.1)') 'D_HC_ROAD',JLAYER
00294     YCOMMENT='X_Y_'//YRECFM//' (J/K/m3)'
00295     CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_HC_ROAD(:,JLAYER),IRESP,YCOMMENT)
00296   END DO
00297 ENDIF
00298 !
00299 YRECFM='L_TC_ROAD'
00300 YCOMMENT=YRECFM
00301  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_TC_ROAD,IRESP,HCOMMENT=YCOMMENT)
00302 IF (LDATA_TC_ROAD) THEN
00303   DO JLAYER=1,NPAR_ROAD_LAYER
00304     WRITE(YRECFM,FMT='(A9,I1.1)') 'D_TC_ROAD',JLAYER
00305     YCOMMENT='X_Y_'//YRECFM//' (W/K/m)'
00306     CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_TC_ROAD(:,JLAYER),IRESP,YCOMMENT)
00307   END DO
00308 ENDIF
00309 !
00310 YRECFM='L_D_ROAD'
00311 YCOMMENT=YRECFM
00312  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_D_ROAD,IRESP,HCOMMENT=YCOMMENT)
00313 IF (LDATA_D_ROAD) THEN
00314   DO JLAYER=1,NPAR_ROAD_LAYER
00315     WRITE(YRECFM,FMT='(A8,I1.1)') 'D_D_ROAD',JLAYER
00316     YCOMMENT='X_Y_'//YRECFM//' (m)'
00317     CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_D_ROAD(:,JLAYER),IRESP,YCOMMENT)
00318   END DO
00319 ENDIF
00320 !
00321 YRECFM='L_ALB_WALL'
00322 YCOMMENT=YRECFM
00323  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_ALB_WALL,IRESP,HCOMMENT=YCOMMENT)
00324 IF (LDATA_ALB_WALL) THEN
00325   YRECFM='D_ALB_WALL'
00326   YCOMMENT='X_Y_'//YRECFM//' (-)'
00327   CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_ALB_WALL,IRESP,YCOMMENT)
00328 ENDIF
00329 !
00330 YRECFM='L_EMIS_WALL'
00331 YCOMMENT=YRECFM
00332  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_EMIS_WALL,IRESP,HCOMMENT=YCOMMENT)
00333 IF (LDATA_EMIS_WALL) THEN
00334   YRECFM='D_EMI_WALL'
00335   YCOMMENT='X_Y_'//YRECFM//' (-)'
00336   CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_EMIS_WALL,IRESP,YCOMMENT)
00337 ENDIF
00338 !
00339 !
00340 IF (LDATA_HC_WALL) THEN
00341   YCOMMENT='Number of specified Wall thermal layers'
00342   CALL WRITE_SURF(HPROGRAM,'PAR_WL_LAYER',NPAR_WALL_LAYER,IRESP,YCOMMENT)
00343 END IF
00344 !
00345 YRECFM='L_HC_WALL'
00346 YCOMMENT=YRECFM
00347  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_HC_WALL,IRESP,HCOMMENT=YCOMMENT)
00348 IF (LDATA_HC_WALL) THEN
00349   DO JLAYER=1,NPAR_WALL_LAYER
00350     WRITE(YRECFM,FMT='(A9,I1.1)') 'D_HC_WALL',JLAYER
00351     YCOMMENT='X_Y_'//YRECFM//' (J/K/m3)'
00352     CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_HC_WALL(:,JLAYER),IRESP,YCOMMENT)
00353   END DO
00354 ENDIF
00355 !
00356 YRECFM='L_TC_WALL'
00357 YCOMMENT=YRECFM
00358  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_TC_WALL,IRESP,HCOMMENT=YCOMMENT)
00359 IF (LDATA_TC_WALL) THEN
00360   DO JLAYER=1,NPAR_WALL_LAYER
00361     WRITE(YRECFM,FMT='(A9,I1.1)') 'D_TC_WALL',JLAYER
00362     YCOMMENT='X_Y_'//YRECFM//' (W/K/m)'
00363     CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_TC_WALL(:,JLAYER),IRESP,YCOMMENT)
00364   END DO
00365 ENDIF
00366 !
00367 YRECFM='L_D_WALL'
00368 YCOMMENT=YRECFM
00369  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_D_WALL,IRESP,HCOMMENT=YCOMMENT)
00370 IF (LDATA_D_WALL) THEN
00371   DO JLAYER=1,NPAR_WALL_LAYER
00372     WRITE(YRECFM,FMT='(A8,I1.1)') 'D_D_WALL',JLAYER
00373     YCOMMENT='X_Y_'//YRECFM//' (m)'
00374     CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_D_WALL(:,JLAYER),IRESP,YCOMMENT)
00375   END DO
00376 ENDIF
00377 !
00378 YRECFM='L_BLD_HEIGHT'
00379 YCOMMENT=YRECFM
00380  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_BLD_HEIGHT,IRESP,HCOMMENT=YCOMMENT)
00381 IF (LDATA_BLD_HEIGHT) THEN
00382   YRECFM='D_BLD_HEIG'
00383   YCOMMENT='X_Y_'//YRECFM//' (m)'
00384   CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_BLD_HEIGHT,IRESP,YCOMMENT)
00385 ENDIF
00386 !
00387 YRECFM='L_WALL_O_HOR'
00388 YCOMMENT=YRECFM
00389  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_WALL_O_HOR,IRESP,HCOMMENT=YCOMMENT)
00390 IF (LDATA_WALL_O_HOR) THEN
00391   YRECFM='D_WALL_O_H'
00392   YCOMMENT='X_Y_'//YRECFM//' (-)'
00393   CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_WALL_O_HOR,IRESP,YCOMMENT)
00394 ENDIF
00395 !
00396 YRECFM='L_H_TRAF'
00397 YCOMMENT=YRECFM
00398  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_H_TRAFFIC,IRESP,HCOMMENT=YCOMMENT)
00399 IF (LDATA_H_TRAFFIC) THEN
00400   YRECFM='D_H_TRAF'
00401   YCOMMENT='X_Y_'//YRECFM//' (W/m2)'
00402   CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_H_TRAFFIC,IRESP,YCOMMENT)
00403 ENDIF
00404 !
00405 YRECFM='L_LE_TRAF'
00406 YCOMMENT=YRECFM
00407  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_LE_TRAFFIC,IRESP,HCOMMENT=YCOMMENT)
00408 IF (LDATA_LE_TRAFFIC) THEN
00409   YRECFM='D_LE_TRAF'
00410   YCOMMENT='X_Y_'//YRECFM//' (W/m2)'
00411   CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_LE_TRAFFIC,IRESP,YCOMMENT)
00412 ENDIF
00413 !
00414 YRECFM='L_H_IND'
00415 YCOMMENT=YRECFM
00416  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_H_INDUSTRY,IRESP,HCOMMENT=YCOMMENT)
00417 IF (LDATA_H_INDUSTRY) THEN
00418   YRECFM='D_H_IND'
00419   YCOMMENT='X_Y_'//YRECFM//' (W/m2)'
00420   CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_H_INDUSTRY,IRESP,YCOMMENT)
00421 ENDIF
00422 !
00423 YRECFM='L_LE_IND'
00424 YCOMMENT=YRECFM
00425  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_LE_INDUSTRY,IRESP,HCOMMENT=YCOMMENT)
00426 IF (LDATA_LE_INDUSTRY) THEN
00427   YRECFM='D_LE_IND'
00428   YCOMMENT='X_Y_'//YRECFM//' (W/m2)'
00429   CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_LE_INDUSTRY,IRESP,YCOMMENT)
00430 ENDIF
00431 !
00432 YRECFM='L_ROUGH_ROOF'
00433 YCOMMENT=YRECFM
00434  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_ROUGH_ROOF,IRESP,HCOMMENT=YCOMMENT)
00435 IF (LDATA_ROUGH_ROOF) THEN
00436   YRECFM='D_ROUGH_ROOF'
00437   YCOMMENT='X_Y_'//YRECFM//' (-)'
00438   CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_ROUGH_ROOF,IRESP,YCOMMENT)
00439 ENDIF
00440 !
00441 YRECFM='L_ROUGH_WALL'
00442 YCOMMENT=YRECFM
00443  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_ROUGH_WALL,IRESP,HCOMMENT=YCOMMENT)
00444 IF (LDATA_ROUGH_WALL) THEN
00445   YRECFM='D_ROUGH_WALL'
00446   YCOMMENT='X_Y_'//YRECFM//' (-)'
00447   CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_ROUGH_WALL,IRESP,YCOMMENT)
00448 ENDIF
00449 IF (CBEM .EQ. 'BEM') THEN
00450   !
00451   IF (LDATA_HC_FLOOR) THEN
00452     YCOMMENT='Number of specified Floor thermal layers'
00453     CALL WRITE_SURF(HPROGRAM,'PAR_FL_LAYER',NPAR_FLOOR_LAYER,IRESP,YCOMMENT)
00454   END IF
00455   !
00456   YRECFM='L_HC_FLOOR'
00457   YCOMMENT=YRECFM
00458   CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_HC_FLOOR,IRESP,HCOMMENT=YCOMMENT)
00459   IF (LDATA_HC_FLOOR) THEN
00460     DO JLAYER=1,NPAR_FLOOR_LAYER
00461       WRITE(YRECFM,FMT='(A10,I1.1)') 'D_HC_FLOOR',JLAYER
00462       YCOMMENT='X_Y_'//YRECFM//' (J/K/m3)'
00463       CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_HC_FLOOR(:,JLAYER),IRESP,YCOMMENT)
00464     END DO
00465   ENDIF
00466   !
00467   YRECFM='L_TC_FLOOR'
00468   YCOMMENT=YRECFM
00469   CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_TC_FLOOR,IRESP,HCOMMENT=YCOMMENT)
00470   IF (LDATA_TC_FLOOR) THEN
00471     DO JLAYER=1,NPAR_FLOOR_LAYER
00472       WRITE(YRECFM,FMT='(A10,I1.1)') 'D_TC_FLOOR',JLAYER
00473       YCOMMENT='X_Y_'//YRECFM//' (W/K/m)'
00474       CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_TC_FLOOR(:,JLAYER),IRESP,YCOMMENT)
00475     END DO
00476   ENDIF
00477   !
00478   YRECFM='L_D_FLOOR'
00479   YCOMMENT=YRECFM
00480   CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_D_FLOOR,IRESP,HCOMMENT=YCOMMENT)
00481   IF (LDATA_D_FLOOR) THEN
00482     DO JLAYER=1,NPAR_FLOOR_LAYER
00483       WRITE(YRECFM,FMT='(A9,I1.1)') 'D_D_FLOOR',JLAYER
00484       YCOMMENT='X_Y_'//YRECFM//' (m)'
00485       CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_D_FLOOR(:,JLAYER),IRESP,YCOMMENT)
00486     END DO
00487   ENDIF
00488   !
00489   YRECFM='L_TCOOL_TARG'
00490   YCOMMENT=YRECFM
00491   CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_TCOOL_TARGET,IRESP,HCOMMENT=YCOMMENT)
00492   IF (LDATA_TCOOL_TARGET) THEN
00493     YRECFM='D_TCOOL_TARG'
00494     YCOMMENT='X_Y_'//YRECFM//' (K)'
00495     CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_TCOOL_TARGET,IRESP,YCOMMENT)
00496   ENDIF
00497   !
00498   YRECFM='L_THEAT_TARG'
00499   YCOMMENT=YRECFM
00500   CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_THEAT_TARGET,IRESP,HCOMMENT=YCOMMENT)
00501   IF (LDATA_THEAT_TARGET) THEN
00502     YRECFM='D_THEAT_TARG'
00503     YCOMMENT='X_Y_'//YRECFM//' (K)'
00504     CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_THEAT_TARGET,IRESP,YCOMMENT)
00505   ENDIF
00506   !
00507   YRECFM='L_F_WAST_CAN'
00508   YCOMMENT=YRECFM
00509   CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_F_WASTE_CAN,IRESP,HCOMMENT=YCOMMENT)
00510   IF (LDATA_F_WASTE_CAN) THEN
00511     YRECFM='D_F_WAST_CAN'
00512     YCOMMENT='X_Y_'//YRECFM//' (-)'
00513     CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_F_WASTE_CAN,IRESP,YCOMMENT)
00514   ENDIF
00515   !
00516   YRECFM='L_EFF_HEAT'
00517   YCOMMENT=YRECFM
00518   CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_EFF_HEAT,IRESP,HCOMMENT=YCOMMENT)
00519   IF (LDATA_EFF_HEAT) THEN
00520     YRECFM='D_EFF_HEAT'
00521     YCOMMENT='X_Y_'//YRECFM//' (-)'
00522     CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_EFF_HEAT,IRESP,YCOMMENT)
00523   ENDIF
00524   !
00525   YRECFM='L_QIN'
00526   YCOMMENT=YRECFM
00527   CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_QIN,IRESP,HCOMMENT=YCOMMENT)
00528   IF (LDATA_QIN) THEN
00529     YRECFM='D_QIN'
00530     YCOMMENT='X_Y_'//YRECFM//' (K)'
00531     CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_QIN,IRESP,YCOMMENT)
00532   ENDIF
00533   !
00534   YRECFM='L_QIN_FRAD'
00535   YCOMMENT=YRECFM
00536   CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_QIN_FRAD,IRESP,HCOMMENT=YCOMMENT)
00537   IF (LDATA_QIN_FRAD) THEN
00538     YRECFM='D_QIN_FRAD'
00539     YCOMMENT='X_Y_'//YRECFM//' (K)'
00540     CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_QIN_FRAD,IRESP,YCOMMENT)
00541   ENDIF
00542   !
00543   YRECFM='L_SHGC'
00544   YCOMMENT=YRECFM
00545   CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_SHGC,IRESP,HCOMMENT=YCOMMENT)
00546   IF (LDATA_SHGC) THEN
00547     YRECFM='D_SHGC'
00548     YCOMMENT='X_Y_'//YRECFM//' (-)'
00549     CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_SHGC,IRESP,YCOMMENT)
00550   ENDIF
00551   !
00552   YRECFM='L_U_WIN'
00553   YCOMMENT=YRECFM
00554   CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_U_WIN,IRESP,HCOMMENT=YCOMMENT)
00555   IF (LDATA_U_WIN) THEN
00556     YRECFM='D_U_WIN'
00557     YCOMMENT='X_Y_'//YRECFM//' (W m-2 K-1)'
00558     CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_U_WIN,IRESP,YCOMMENT)
00559   ENDIF
00560   !
00561   YRECFM='L_GR'
00562   YCOMMENT=YRECFM
00563   CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_GR,IRESP,HCOMMENT=YCOMMENT)
00564   IF (LDATA_GR) THEN
00565     YRECFM='D_GR'
00566     YCOMMENT='X_Y_'//YRECFM//' (-)'
00567     CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_GR,IRESP,YCOMMENT)
00568   ENDIF
00569   !
00570   YRECFM='L_SHGC_SH'
00571   YCOMMENT=YRECFM
00572   CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_SHGC_SH,IRESP,HCOMMENT=YCOMMENT)
00573   IF (LDATA_SHGC_SH) THEN
00574     YRECFM='D_SHGC_SH'
00575     YCOMMENT='X_Y_'//YRECFM//' (-)'
00576     CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_SHGC_SH,IRESP,YCOMMENT)
00577   ENDIF  
00578   !
00579   YRECFM='L_FLOOR_HEIG'
00580   YCOMMENT=YRECFM
00581   CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_FLOOR_HEIGHT,IRESP,HCOMMENT=YCOMMENT)
00582   IF (LDATA_FLOOR_HEIGHT) THEN
00583     YRECFM='D_FLOOR_HEIG'
00584     YCOMMENT='X_Y_'//YRECFM//' (m)'
00585     CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_FLOOR_HEIGHT,IRESP,YCOMMENT)
00586   ENDIF
00587   !
00588   YRECFM='L_INF'
00589   YCOMMENT=YRECFM
00590   CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_INF,IRESP,HCOMMENT=YCOMMENT)
00591   IF (LDATA_INF) THEN
00592     YRECFM='D_INF'
00593     YCOMMENT='X_Y_'//YRECFM//' (ACH)'
00594     CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_INF,IRESP,YCOMMENT)
00595   ENDIF
00596   !
00597   YRECFM='L_QIN_FLAT'
00598   YCOMMENT=YRECFM
00599   CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_QIN_FLAT,IRESP,HCOMMENT=YCOMMENT)
00600   IF (LDATA_QIN_FLAT) THEN
00601     YRECFM='D_QIN_FLAT'
00602     YCOMMENT='X_Y_'//YRECFM//' (-)'
00603     CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_QIN_FLAT,IRESP,YCOMMENT)
00604   ENDIF
00605   !
00606   YRECFM='L_HR_TARGET'
00607   YCOMMENT=YRECFM
00608   CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_HR_TARGET,IRESP,HCOMMENT=YCOMMENT)
00609   IF (LDATA_HR_TARGET) THEN
00610     YRECFM='D_HR_TARGET'
00611     YCOMMENT='X_Y_'//YRECFM//' (-)'
00612     CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_HR_TARGET,IRESP,YCOMMENT)
00613   ENDIF
00614   !
00615   YRECFM='L_V_VENT'
00616   YCOMMENT=YRECFM
00617   CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_V_VENT,IRESP,HCOMMENT=YCOMMENT)
00618   IF (LDATA_V_VENT) THEN
00619     YRECFM='D_V_VENT'
00620     YCOMMENT='X_Y_'//YRECFM//' (ACH)'
00621     CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_V_VENT,IRESP,YCOMMENT)
00622   ENDIF
00623   !
00624   YRECFM='L_CAP_SYS_HE'
00625   YCOMMENT=YRECFM
00626   CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_CAP_SYS_HEAT,IRESP,HCOMMENT=YCOMMENT)
00627   IF (LDATA_CAP_SYS_HEAT) THEN
00628     YRECFM='D_CAP_SYS_HE'
00629     YCOMMENT='X_Y_'//YRECFM//' (W m-2)'
00630     CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_CAP_SYS_HEAT,IRESP,YCOMMENT)
00631   ENDIF
00632   !
00633   YRECFM='L_CAP_SYS_RA'
00634   YCOMMENT=YRECFM
00635   CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_CAP_SYS_RAT,IRESP,HCOMMENT=YCOMMENT)
00636   IF (LDATA_CAP_SYS_RAT) THEN
00637     YRECFM='D_CAP_SYS_RA'
00638     YCOMMENT='X_Y_'//YRECFM//' (W m-2)'
00639     CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_CAP_SYS_RAT,IRESP,YCOMMENT)
00640   ENDIF
00641   !
00642   YRECFM='L_T_ADP'
00643   YCOMMENT=YRECFM
00644   CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_T_ADP,IRESP,HCOMMENT=YCOMMENT)
00645   IF (LDATA_T_ADP) THEN
00646     YRECFM='D_T_ADP'
00647     YCOMMENT='X_Y_'//YRECFM//' (K)'
00648     CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_T_ADP,IRESP,YCOMMENT)
00649   ENDIF
00650   !
00651   YRECFM='L_M_SYS_RAT'
00652   YCOMMENT=YRECFM
00653   CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_M_SYS_RAT,IRESP,HCOMMENT=YCOMMENT)
00654   IF (LDATA_M_SYS_RAT) THEN
00655     YRECFM='D_M_SYS_RAT'
00656     YCOMMENT='X_Y_'//YRECFM//' (kg s-1 m-)'
00657     CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_M_SYS_RAT,IRESP,YCOMMENT)
00658   ENDIF
00659   !
00660   YRECFM='L_COP_RAT'
00661   YCOMMENT=YRECFM
00662   CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_COP_RAT,IRESP,HCOMMENT=YCOMMENT)
00663   IF (LDATA_COP_RAT) THEN
00664     YRECFM='D_COP_RAT'
00665     YCOMMENT='X_Y_'//YRECFM//' (-)'
00666     CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_COP_RAT,IRESP,YCOMMENT)
00667   ENDIF
00668   !
00669   YRECFM='L_T_SIZE_MAX'
00670   YCOMMENT=YRECFM
00671   CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_T_SIZE_MAX,IRESP,HCOMMENT=YCOMMENT)
00672   IF (LDATA_T_SIZE_MAX) THEN
00673     YRECFM='D_T_SIZE_MAX'
00674     YCOMMENT='X_Y_'//YRECFM//' (K)'
00675     CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_T_SIZE_MAX,IRESP,YCOMMENT)
00676   ENDIF
00677   !
00678   YRECFM='L_T_SIZE_MIN'
00679   YCOMMENT=YRECFM
00680   CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_T_SIZE_MIN,IRESP,HCOMMENT=YCOMMENT)
00681   IF (LDATA_T_SIZE_MIN) THEN
00682     YRECFM='D_T_SIZE_MIN'
00683     YCOMMENT='X_Y_'//YRECFM//' (K)'
00684     CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_T_SIZE_MIN,IRESP,YCOMMENT)
00685   ENDIF
00686   !
00687   YRECFM='L_FWAT_COND'
00688   YCOMMENT=YRECFM
00689   CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_F_WATER_COND,IRESP,HCOMMENT=YCOMMENT)
00690   IF (LDATA_F_WATER_COND) THEN
00691     YRECFM='D_FWAT_COND'
00692     YCOMMENT='X_Y_'//YRECFM//' (-)'
00693     CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_F_WATER_COND,IRESP,YCOMMENT)
00694   ENDIF
00695   !
00696   YRECFM='L_SHADE'
00697   YCOMMENT=YRECFM
00698   CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_SHADE,IRESP,HCOMMENT=YCOMMENT)
00699   IF (LDATA_SHADE) THEN
00700     YRECFM='D_SHADE'
00701     YCOMMENT='X_Y_'//YRECFM//' (-)'
00702     CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_SHADE,IRESP,YCOMMENT)
00703   ENDIF
00704   !
00705   YRECFM='L_NATVENT'
00706   YCOMMENT=YRECFM
00707   CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_NATVENT,IRESP,HCOMMENT=YCOMMENT)
00708   IF (LDATA_NATVENT) THEN
00709     YRECFM='D_NATVENT'
00710     YCOMMENT='X_Y_'//YRECFM//' (-)'
00711     CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_NATVENT,IRESP,YCOMMENT)
00712   ENDIF
00713   !  
00714 ENDIF
00715 !
00716 ! Flag for data for gardens
00717 YRECFM='PAR_GARDEN'
00718 YCOMMENT='FLAG FOR SPECIFIED GARDEN PARAMETERS'
00719  CALL WRITE_SURF(HPROGRAM,YRECFM,LPAR_GARDEN,IRESP,HCOMMENT=YCOMMENT)
00720 !
00721 IF (LGARDEN .AND. LPAR_GARDEN) THEN
00722 !
00723 ! Type of high vegetation
00724   YRECFM='D_TYPE_HVEG'
00725   YCOMMENT='X_Y_TYPE_HVEG'
00726   CALL WRITE_SURF(HPROGRAM,YRECFM,CTYPE_HVEG,IRESP,HCOMMENT=YCOMMENT)
00727 !
00728 ! Type of low vegetation
00729   YRECFM='D_TYPE_LVEG'
00730   YCOMMENT='X_Y_TYPE_LVEG'
00731   CALL WRITE_SURF(HPROGRAM,YRECFM,CTYPE_LVEG,IRESP,HCOMMENT=YCOMMENT)
00732 !
00733 ! Type of bare soil (no vegetation)
00734   YRECFM='D_TYPE_NVEG'
00735   YCOMMENT='X_Y_TYPE_NVEG'
00736   CALL WRITE_SURF(HPROGRAM,YRECFM,CTYPE_NVEG,IRESP,HCOMMENT=YCOMMENT)
00737 !
00738 ! Fraction of high vegetation
00739   YRECFM='D_FRAC_HVEG'
00740   YCOMMENT='X_Y_D_FRAC_HVEG'
00741   CALL WRITE_SURF(HPROGRAM,YRECFM,XDATA_FRAC_HVEG(:),IRESP,HCOMMENT=YCOMMENT)
00742 !
00743 ! Fraction of low vegetation
00744   YRECFM='D_FRAC_LVEG'
00745   YCOMMENT='X_Y_D_FRAC_LVEG'
00746   CALL WRITE_SURF(HPROGRAM,YRECFM,XDATA_FRAC_LVEG(:),IRESP,HCOMMENT=YCOMMENT)
00747 !
00748 ! Fraction of bare soil
00749   YRECFM='D_FRAC_NVEG'
00750   YCOMMENT='X_Y_D_FRAC_NVEG'
00751   CALL WRITE_SURF(HPROGRAM,YRECFM,XDATA_FRAC_NVEG(:),IRESP,HCOMMENT=YCOMMENT)
00752 !
00753 ! LAI of high vegetation
00754   DO JTIME=1,NTIME
00755     WRITE(YRECFM,FMT='(A10,I2.2)') 'D_LAI_HVEG',JTIME
00756     YCOMMENT='X_Y_D_LAI_HVEG'
00757     CALL WRITE_SURF(HPROGRAM,YRECFM,XDATA_LAI_HVEG(:,JTIME),IRESP,HCOMMENT=YCOMMENT)
00758   END DO
00759 !
00760 ! LAI of low vegetation
00761   DO JTIME=1,NTIME
00762     WRITE(YRECFM,FMT='(A10,I2.2)') 'D_LAI_LVEG',JTIME
00763     YCOMMENT='X_Y_D_LAI_LVEG'
00764     CALL WRITE_SURF(HPROGRAM,YRECFM,XDATA_LAI_LVEG(:,JTIME),IRESP,HCOMMENT=YCOMMENT)
00765   END DO
00766 !
00767 ! Height of trees
00768   YRECFM='D_H_HVEG'
00769   YCOMMENT='X_Y_DATA_H_HVEG'
00770   CALL WRITE_SURF(HPROGRAM,YRECFM,XDATA_H_HVEG(:),IRESP,HCOMMENT=YCOMMENT)
00771 !
00772 ENDIF
00773 !
00774 IF (LGREENROOF .AND. LPAR_GREENROOF) THEN
00775 !
00776 ! Type of green roof
00777   YRECFM='D_TYPE_GR'
00778   YCOMMENT='X_Y_TYPE_GR'
00779   CALL WRITE_SURF(HPROGRAM,YRECFM,CTYP_GR,IRESP,HCOMMENT=YCOMMENT)
00780 !
00781 ! Fraction of OM in green roof layer
00782   DO JLAYER=1,NLAYER_GR
00783     WRITE(YRECFM,FMT='(A7,I2.2)') 'D_OM_GR',JLAYER
00784     YCOMMENT='X_Y_D_OM_GR'
00785     CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_OM_GR(:,JLAYER),IRESP,HCOMMENT=YCOMMENT)
00786   END DO
00787 !
00788 ! Fraction of CLAY in the non-OM part of the green roof layer
00789   DO JLAYER=1,NLAYER_GR
00790     WRITE(YRECFM,FMT='(A9,I2.2)') 'D_CLAY_GR',JLAYER
00791     YCOMMENT='X_Y_D_CLAY_GR'
00792     CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_CLAY_GR(:,JLAYER),IRESP,HCOMMENT=YCOMMENT)
00793   END DO
00794 !
00795 ! Fraction of SAND in the non-OM part of the green roof layer
00796   DO JLAYER=1,NLAYER_GR
00797     WRITE(YRECFM,FMT='(A9,I2.2)') 'D_SAND_GR',JLAYER
00798     YCOMMENT='X_Y_D_SAND_GR'
00799     CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_SAND_GR(:,JLAYER),IRESP,HCOMMENT=YCOMMENT)
00800   END DO
00801 !
00802 ! LAI of green roof vegetation
00803   DO JTIME=1,NTIME_GR
00804     WRITE(YRECFM,FMT='(A8,I2.2)') 'D_LAI_GR',JTIME
00805     YCOMMENT='X_Y_D_LAI_GR'
00806     CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_LAI_GR(:,JTIME),IRESP,HCOMMENT=YCOMMENT)
00807   END DO
00808 ! 
00809 ENDIF
00810 !
00811 IF (LHOOK) CALL DR_HOOK('WRITESURF_PGD_TEB_PAR_N',1,ZHOOK_HANDLE)
00812 !
00813 !
00814 !-------------------------------------------------------------------------------
00815 !
00816 END SUBROUTINE WRITESURF_PGD_TEB_PAR_n