SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/pgd_teb_par.F90
Go to the documentation of this file.
00001 !     #########
00002       SUBROUTINE PGD_TEB_PAR(HPROGRAM,OGARDEN,OGREENROOF,HBLD_ATYPE)
00003 !     ##############################################################
00004 !
00005 !!**** *PGD_TEB_PAR* monitor for averaging and interpolations of cover fractions
00006 !!
00007 !!    PURPOSE
00008 !!    -------
00009 !!
00010 !!    METHOD
00011 !!    ------
00012 !!   
00013 !
00014 !!    EXTERNAL
00015 !!    --------
00016 !!
00017 !!    IMPLICIT ARGUMENTS
00018 !!    ------------------
00019 !!
00020 !!    REFERENCE
00021 !!    ---------
00022 !!
00023 !!    AUTHOR
00024 !!    ------
00025 !!
00026 !!    V. Masson        Meteo-France
00027 !!
00028 !!    MODIFICATION
00029 !!    ------------
00030 !!
00031 !!    Original    10/12/97
00032 !!
00033 !!       Modified 08/12/05, P. Le Moigne: user defined fields
00034 !!    G. Pigeon      09/2012: add ROUGH_WALL/ROUGH_ROOF for outdoor convection
00035 !!
00036 !----------------------------------------------------------------------------
00037 !
00038 !*    0.     DECLARATION
00039 !            -----------
00040 !
00041 USE MODD_SURF_PAR,   ONLY : XUNDEF, NUNDEF
00042 USE MODD_TEB_GRID_n, ONLY : NDIM
00043 USE MODD_DATA_TEB_n, ONLY : NPAR_ROAD_LAYER_n => NPAR_ROAD_LAYER,          &
00044                             NPAR_ROOF_LAYER_n => NPAR_ROOF_LAYER,          &
00045                             NPAR_WALL_LAYER_n => NPAR_WALL_LAYER,          &
00046                             XPAR_Z0_TOWN, XPAR_BLD, XPAR_ALB_ROOF,         &
00047                             XPAR_EMIS_ROOF, XPAR_HC_ROOF, XPAR_TC_ROOF,    &
00048                             XPAR_D_ROOF, XPAR_ALB_ROAD, XPAR_EMIS_ROAD,    &
00049                             XPAR_HC_ROAD, XPAR_TC_ROAD, XPAR_D_ROAD,       &
00050                             XPAR_ALB_WALL, XPAR_EMIS_WALL, XPAR_HC_WALL,   &
00051                             XPAR_TC_WALL, XPAR_D_WALL, XPAR_BLD_HEIGHT,    &
00052                             XPAR_WALL_O_HOR,                               &
00053                             XPAR_H_TRAFFIC, XPAR_LE_TRAFFIC,               &
00054                             XPAR_H_INDUSTRY, XPAR_LE_INDUSTRY ,            &
00055                             XPAR_GARDEN, NPAR_BLDTYPE,                     &
00056                             XPAR_ROAD_DIR, NPAR_USETYPE, NPAR_BLD_AGE,     &
00057                             NPAR_BLDCODE,                                  &
00058                             LDATA_Z0_TOWN, LDATA_BLD, LDATA_ALB_ROOF,      &
00059                             LDATA_EMIS_ROOF, LDATA_HC_ROOF, LDATA_TC_ROOF, &
00060                             LDATA_D_ROOF, LDATA_ALB_ROAD, LDATA_EMIS_ROAD, &
00061                             LDATA_HC_ROAD, LDATA_TC_ROAD, LDATA_D_ROAD,    &
00062                             LDATA_ALB_WALL, LDATA_EMIS_WALL, LDATA_HC_WALL,&
00063                             LDATA_TC_WALL, LDATA_D_WALL, LDATA_BLD_HEIGHT, &
00064                             LDATA_WALL_O_HOR,                              &
00065                             LDATA_H_TRAFFIC, LDATA_LE_TRAFFIC,             &
00066                             LDATA_H_INDUSTRY, LDATA_LE_INDUSTRY ,          &
00067                             LDATA_GARDEN, LDATA_BLDTYPE,                   &
00068                             LDATA_ROAD_DIR, LDATA_USETYPE, LDATA_BLD_AGE,  &
00069                             LDATA_ROUGH_ROOF, LDATA_ROUGH_WALL,            &
00070                             XPAR_ROUGH_ROOF, XPAR_ROUGH_WALL,              &
00071                             LDATA_GREENROOF, XPAR_GREENROOF
00072 !
00073 USE MODI_GET_LUOUT
00074 USE MODI_OPEN_NAMELIST
00075 USE MODI_CLOSE_NAMELIST
00076 USE MODI_INI_VAR_FROM_DATA_0D
00077 USE MODI_INI_VAR_FROM_DATA
00078 USE MODI_TEST_NAM_VAR_SURF
00079 USE MODI_READ_CSVDATA_TEB
00080 USE MODI_BLDCODE
00081 !
00082 USE MODE_POS_SURF
00083 !
00084 !
00085 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00086 USE PARKIND1  ,ONLY : JPRB
00087 !
00088 USE MODI_ABOR1_SFX
00089 !
00090 IMPLICIT NONE
00091 !
00092 !*    0.1    Declaration of arguments
00093 !            ------------------------
00094 !
00095  CHARACTER(LEN=6),    INTENT(IN)    :: HPROGRAM     ! Type of program
00096 LOGICAL,             INTENT(IN)    :: OGARDEN      ! T if urban green areas
00097 LOGICAL,             INTENT(IN)    :: OGREENROOF   ! T if greenroofs option is activated
00098  CHARACTER(LEN=3),    INTENT(OUT)   :: HBLD_ATYPE    ! Type of building averaging
00099 !
00100 !
00101 !*    0.2    Declaration of local variables
00102 !            ------------------------------
00103 !
00104 INTEGER               :: ILUOUT    ! output listing logical unit
00105 INTEGER               :: ILUNAM    ! namelist file  logical unit
00106 LOGICAL               :: GFOUND    ! true if namelist is found
00107 !
00108 REAL, DIMENSION(NDIM) :: ZWORK
00109 REAL                  :: ZUNIF     ! temporary variable
00110 !
00111 !*    0.3    Declaration of namelists
00112 !            ------------------------
00113 !
00114 INTEGER, PARAMETER :: NROOF_MAX  = 9
00115 INTEGER, PARAMETER :: NROAD_MAX  = 9
00116 INTEGER, PARAMETER :: NWALL_MAX  = 9
00117 INTEGER            :: NPAR_ROAD_LAYER ! number of road layers
00118 INTEGER            :: NPAR_ROOF_LAYER ! number of roof layers
00119 INTEGER            :: NPAR_WALL_LAYER ! number of wall layers
00120 !
00121 ! Geometric Parameters:
00122 !
00123 INTEGER                                 :: NUNIF_BLDTYPE
00124  CHARACTER(LEN=28)                       :: CFNAM_BLDTYPE
00125  CHARACTER(LEN=6)                        :: CFTYP_BLDTYPE
00126 INTEGER                                 :: NUNIF_BLD_AGE
00127  CHARACTER(LEN=28)                       :: CFNAM_BLD_AGE
00128  CHARACTER(LEN=6)                        :: CFTYP_BLD_AGE
00129  CHARACTER(LEN=28)                       :: CCSVDATAFILE
00130 INTEGER                                 :: NUNIF_USETYPE
00131  CHARACTER(LEN=28)                       :: CFNAM_USETYPE
00132  CHARACTER(LEN=6)                        :: CFTYP_USETYPE
00133  CHARACTER(LEN=3)                        :: CBLD_ATYPE         ! type of averaging for buildings
00134 
00135 !
00136 REAL                                    :: XUNIF_BLD          ! fraction of buildings            (-)
00137 REAL                                    :: XUNIF_BLD_HEIGHT   ! buildings height 'h'             (m)
00138 REAL                                    :: XUNIF_WALL_O_HOR   ! wall surf. / hor. surf.          (-)
00139 REAL                                    :: XUNIF_Z0_TOWN      ! roughness length for momentum    (m)
00140 REAL                                    :: XUNIF_GARDEN       ! fraction of veg in the streets   (-)
00141 REAL                                    :: XUNIF_GREENROOF    ! fraction of greenroofs on roofs  (-)
00142 REAL                                    :: XUNIF_ROAD_DIR     ! road direction (° from North, clockwise)
00143  CHARACTER(LEN=28)                       :: CFNAM_BLD          ! file name for BLD 
00144  CHARACTER(LEN=28)                       :: CFNAM_BLD_HEIGHT   ! file name for BLD_HEIGHT
00145  CHARACTER(LEN=28)                       :: CFNAM_WALL_O_HOR   ! file name for WALL_O_HOR
00146  CHARACTER(LEN=28)                       :: CFNAM_Z0_TOWN      ! file name for Z0_TOWN
00147  CHARACTER(LEN=28)                       :: CFNAM_GARDEN       ! file name for GARDEN  
00148  CHARACTER(LEN=28)                       :: CFNAM_GREENROOF    ! file name for GREENROOF
00149  CHARACTER(LEN=28)                       :: CFNAM_ROAD_DIR     ! file name for ROAD_DIR  
00150  CHARACTER(LEN=6)                        :: CFTYP_BLD          ! file type for BLD 
00151  CHARACTER(LEN=6)                        :: CFTYP_BLD_HEIGHT   ! file type for BLD_HEIGHT
00152  CHARACTER(LEN=6)                        :: CFTYP_WALL_O_HOR   ! file type for WALL_O_HOR
00153  CHARACTER(LEN=6)                        :: CFTYP_Z0_TOWN      ! file type for Z0_TOWN
00154  CHARACTER(LEN=6)                        :: CFTYP_GARDEN       ! file type for GARDEN  
00155  CHARACTER(LEN=6)                        :: CFTYP_GREENROOF    ! file type for GREENROOF
00156  CHARACTER(LEN=6)                        :: CFTYP_ROAD_DIR     ! file type for ROAD_DIR
00157 !
00158 ! Roof parameters
00159 !
00160 REAL                                    :: XUNIF_ALB_ROOF     ! roof albedo                      (-)
00161 REAL                                    :: XUNIF_EMIS_ROOF    ! roof emissivity                  (-)
00162  CHARACTER(LEN=28)                       :: CFNAM_ALB_ROOF     ! file name for ALB_ROOF
00163  CHARACTER(LEN=28)                       :: CFNAM_EMIS_ROOF    ! file name for EMIS_ROOF
00164  CHARACTER(LEN=6)                        :: CFTYP_ALB_ROOF     ! file name for ALB_ROOF   
00165  CHARACTER(LEN=6)                        :: CFTYP_EMIS_ROOF    ! file name for EMIS_ROOF  
00166 REAL, DIMENSION(NROOF_MAX)              :: XUNIF_HC_ROOF      ! roof layers heat capacity        (J/K/m3)
00167 REAL, DIMENSION(NROOF_MAX)              :: XUNIF_TC_ROOF      ! roof layers thermal conductivity (W/K/m)
00168 REAL, DIMENSION(NROOF_MAX)              :: XUNIF_D_ROOF       ! depth of roof layers             (m)
00169  CHARACTER(LEN=28), DIMENSION(NROOF_MAX) :: CFNAM_HC_ROOF      ! file name for HC_ROOF   
00170  CHARACTER(LEN=28), DIMENSION(NROOF_MAX) :: CFNAM_TC_ROOF      ! file name for TC_ROOF
00171  CHARACTER(LEN=28), DIMENSION(NROOF_MAX) :: CFNAM_D_ROOF       ! file name for D_ROOF
00172  CHARACTER(LEN=6),  DIMENSION(NROOF_MAX) :: CFTYP_HC_ROOF      ! file type for HC_ROOF   
00173  CHARACTER(LEN=6),  DIMENSION(NROOF_MAX) :: CFTYP_TC_ROOF      ! file type for TC_ROOF
00174  CHARACTER(LEN=6),  DIMENSION(NROOF_MAX) :: CFTYP_D_ROOF       ! file type for D_ROOF
00175 REAL                                    :: XUNIF_ROUGH_ROOF  ! roof roughness coef
00176  CHARACTER(LEN=28)                       :: CFNAM_ROUGH_ROOF  ! file name for ROUGH_ROOF
00177  CHARACTER(LEN=6)                        :: CFTYP_ROUGH_ROOF  ! file type for ROUGH_ROOF
00178 !
00179 !
00180 ! Road parameters
00181 !
00182 REAL                                    :: XUNIF_ALB_ROAD     ! road albedo                      (-)
00183 REAL                                    :: XUNIF_EMIS_ROAD    ! road emissivity                  (-)
00184  CHARACTER(LEN=28)                       :: CFNAM_ALB_ROAD     ! file name for ALB_ROAD
00185  CHARACTER(LEN=28)                       :: CFNAM_EMIS_ROAD    ! file name for EMIS_ROAD
00186  CHARACTER(LEN=6)                        :: CFTYP_ALB_ROAD     ! file type for ALB_ROAD
00187  CHARACTER(LEN=6)                        :: CFTYP_EMIS_ROAD    ! file type for EMIS_ROAD
00188 REAL, DIMENSION(NROAD_MAX)              :: XUNIF_HC_ROAD      ! road layers heat capacity        (J/K/m3)
00189 REAL, DIMENSION(NROAD_MAX)              :: XUNIF_TC_ROAD      ! road layers thermal conductivity (W/K/m)
00190 REAL, DIMENSION(NROAD_MAX)              :: XUNIF_D_ROAD       ! depth of road layers             (m)
00191  CHARACTER(LEN=28), DIMENSION(NROAD_MAX) :: CFNAM_HC_ROAD      ! file name for HC_ROAD   
00192  CHARACTER(LEN=28), DIMENSION(NROAD_MAX) :: CFNAM_TC_ROAD      ! file name for TC_ROAD
00193  CHARACTER(LEN=28), DIMENSION(NROAD_MAX) :: CFNAM_D_ROAD       ! file name for D_ROAD
00194  CHARACTER(LEN=6),  DIMENSION(NROAD_MAX) :: CFTYP_HC_ROAD      ! file type for HC_ROAD   
00195  CHARACTER(LEN=6),  DIMENSION(NROAD_MAX) :: CFTYP_TC_ROAD      ! file type for TC_ROAD
00196  CHARACTER(LEN=6),  DIMENSION(NROAD_MAX) :: CFTYP_D_ROAD       ! file type for D_ROAD
00197 !
00198 ! Wall parameters
00199 !
00200 REAL                                    :: XUNIF_ALB_WALL     ! wall albedo                      (-)
00201 REAL                                    :: XUNIF_EMIS_WALL    ! wall emissivity                  (-)
00202  CHARACTER(LEN=28)                       :: CFNAM_ALB_WALL     ! file name for ALB_WALL
00203  CHARACTER(LEN=28)                       :: CFNAM_EMIS_WALL    ! file name for EMIS_WALL
00204  CHARACTER(LEN=6)                        :: CFTYP_ALB_WALL     ! file type for ALB_WALL
00205  CHARACTER(LEN=6)                        :: CFTYP_EMIS_WALL    ! file type for EMIS_WALL
00206 REAL, DIMENSION(NWALL_MAX)              :: XUNIF_HC_WALL      ! wall layers heat capacity        (J/K/m3)
00207 REAL, DIMENSION(NWALL_MAX)              :: XUNIF_TC_WALL      ! wall layers thermal conductivity (W/K/m)
00208 REAL, DIMENSION(NWALL_MAX)              :: XUNIF_D_WALL       ! depth of wall layers             (m)
00209  CHARACTER(LEN=28), DIMENSION(NWALL_MAX) :: CFNAM_HC_WALL      ! file name for HC_WALL   
00210  CHARACTER(LEN=28), DIMENSION(NWALL_MAX) :: CFNAM_TC_WALL      ! file name for TC_WALL
00211  CHARACTER(LEN=28), DIMENSION(NWALL_MAX) :: CFNAM_D_WALL       ! file name for D_WALL
00212  CHARACTER(LEN=6),  DIMENSION(NWALL_MAX) :: CFTYP_HC_WALL      ! file type for HC_WALL   
00213  CHARACTER(LEN=6),  DIMENSION(NWALL_MAX) :: CFTYP_TC_WALL      ! file type for TC_WALL
00214  CHARACTER(LEN=6),  DIMENSION(NWALL_MAX) :: CFTYP_D_WALL       ! file type for D_WALL
00215 REAL                                    :: XUNIF_ROUGH_WALL  ! wall roughness coef
00216  CHARACTER(LEN=28)                       :: CFNAM_ROUGH_WALL  ! file name for ROUGH_WALL
00217  CHARACTER(LEN=6)                        :: CFTYP_ROUGH_WALL  ! file type for ROUGH_WALL
00218 !
00219 ! anthropogenic fluxes
00220 !
00221 REAL                                    :: XUNIF_H_TRAFFIC    ! anthropogenic sensible
00222 !                                                             ! heat fluxes due to traffic       (W/m2)
00223 REAL                                    :: XUNIF_LE_TRAFFIC   ! anthropogenic latent
00224 !                                                             ! heat fluxes due to traffic       (W/m2)
00225 REAL                                    :: XUNIF_H_INDUSTRY   ! anthropogenic sensible                   
00226 !                                                             ! heat fluxes due to factories     (W/m2)
00227 REAL                                    :: XUNIF_LE_INDUSTRY  ! anthropogenic latent
00228 !                                                             ! heat fluxes due to factories     (W/m2)
00229  CHARACTER(LEN=28)                       :: CFNAM_H_TRAFFIC    ! file name for H_TRAFFIC
00230  CHARACTER(LEN=28)                       :: CFNAM_LE_TRAFFIC   ! file name for LE_TRAFFIC
00231  CHARACTER(LEN=28)                       :: CFNAM_H_INDUSTRY   ! file name for H_INDUSTRY
00232  CHARACTER(LEN=28)                       :: CFNAM_LE_INDUSTRY  ! file name for LE_INDUSTRY
00233  CHARACTER(LEN=6)                        :: CFTYP_H_TRAFFIC    ! file type for H_TRAFFIC
00234  CHARACTER(LEN=6)                        :: CFTYP_LE_TRAFFIC   ! file type for LE_TRAFFIC
00235  CHARACTER(LEN=6)                        :: CFTYP_H_INDUSTRY   ! file type for H_INDUSTRY
00236  CHARACTER(LEN=6)                        :: CFTYP_LE_INDUSTRY  ! file type for LE_INDUSTRY
00237 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00238 !
00239 
00240 NAMELIST/NAM_DATA_TEB/      NPAR_ROOF_LAYER, NPAR_ROAD_LAYER, NPAR_WALL_LAYER,&
00241                               CBLD_ATYPE,                                     &
00242                               NUNIF_BLDTYPE, CFNAM_BLDTYPE, CFTYP_BLDTYPE,    &
00243                               NUNIF_BLD_AGE, CFNAM_BLD_AGE, CFTYP_BLD_AGE,    &
00244                               CCSVDATAFILE,                                   &
00245                               NUNIF_USETYPE, CFNAM_USETYPE, CFTYP_USETYPE,    &
00246                               XUNIF_ALB_ROOF,                                 &
00247                               XUNIF_EMIS_ROOF, XUNIF_HC_ROOF, XUNIF_TC_ROOF,  &
00248                               XUNIF_D_ROOF, XUNIF_ALB_ROAD, XUNIF_EMIS_ROAD,  &
00249                               XUNIF_HC_ROAD, XUNIF_TC_ROAD, XUNIF_D_ROAD,     &
00250                               XUNIF_ALB_WALL, XUNIF_EMIS_WALL, XUNIF_HC_WALL, &
00251                               XUNIF_TC_WALL, XUNIF_D_WALL,                    &
00252                               XUNIF_Z0_TOWN, XUNIF_BLD, XUNIF_BLD_HEIGHT,     &
00253                               XUNIF_WALL_O_HOR,                               &
00254                               XUNIF_H_TRAFFIC, XUNIF_LE_TRAFFIC,              &
00255                               XUNIF_H_INDUSTRY, XUNIF_LE_INDUSTRY,            &
00256                               XUNIF_GARDEN, XUNIF_GREENROOF,                  &
00257                               XUNIF_ROAD_DIR,                                 &
00258                               CFNAM_ALB_ROOF,                                 &
00259                               CFNAM_EMIS_ROOF, CFNAM_HC_ROOF, CFNAM_TC_ROOF,  &
00260                               CFNAM_D_ROOF, CFNAM_ALB_ROAD, CFNAM_EMIS_ROAD,  &
00261                               CFNAM_HC_ROAD, CFNAM_TC_ROAD, CFNAM_D_ROAD,     &
00262                               CFNAM_ALB_WALL, CFNAM_EMIS_WALL, CFNAM_HC_WALL, &
00263                               CFNAM_TC_WALL, CFNAM_D_WALL,                    &
00264                               CFNAM_Z0_TOWN, CFNAM_BLD, CFNAM_BLD_HEIGHT,     &
00265                               CFNAM_WALL_O_HOR,                               &
00266                               CFNAM_H_TRAFFIC, CFNAM_LE_TRAFFIC,              &
00267                               CFNAM_H_INDUSTRY, CFNAM_LE_INDUSTRY,            &
00268                               CFNAM_GARDEN, CFNAM_ROAD_DIR, CFNAM_GREENROOF,  &
00269                               CFTYP_ALB_ROOF,                                 &
00270                               CFTYP_EMIS_ROOF, CFTYP_HC_ROOF, CFTYP_TC_ROOF,  &
00271                               CFTYP_D_ROOF, CFTYP_ALB_ROAD, CFTYP_EMIS_ROAD,  &
00272                               CFTYP_HC_ROAD, CFTYP_TC_ROAD, CFTYP_D_ROAD,     &
00273                               CFTYP_ALB_WALL, CFTYP_EMIS_WALL, CFTYP_HC_WALL, &
00274                               CFTYP_TC_WALL, CFTYP_D_WALL,                    &
00275                               CFTYP_Z0_TOWN, CFTYP_BLD, CFTYP_BLD_HEIGHT,     &
00276                               CFTYP_WALL_O_HOR,                               &
00277                               CFTYP_H_TRAFFIC, CFTYP_LE_TRAFFIC,              &
00278                               CFTYP_H_INDUSTRY, CFTYP_LE_INDUSTRY,            &
00279                               CFTYP_GARDEN, CFTYP_ROAD_DIR, CFTYP_GREENROOF,  &
00280                               XUNIF_ROUGH_ROOF, CFNAM_ROUGH_ROOF, CFTYP_ROUGH_ROOF, &
00281                               XUNIF_ROUGH_WALL, CFNAM_ROUGH_WALL, CFTYP_ROUGH_WALL
00282 
00283 !
00284 !-------------------------------------------------------------------------------
00285 !
00286 !*    1.      Initializations
00287 !             ---------------
00288 !
00289 IF (LHOOK)   CALL DR_HOOK('PGD_TEB_PAR',0,ZHOOK_HANDLE)
00290 NPAR_ROOF_LAYER=0
00291 NPAR_ROAD_LAYER=0
00292 NPAR_WALL_LAYER=0
00293 CBLD_ATYPE ='MAJ'
00294 NUNIF_BLDTYPE      = NUNDEF
00295 NUNIF_BLD_AGE      = NUNDEF
00296 NUNIF_USETYPE      = NUNDEF
00297 XUNIF_BLD          = XUNDEF
00298 XUNIF_BLD_HEIGHT   = XUNDEF
00299 XUNIF_WALL_O_HOR   = XUNDEF
00300 XUNIF_Z0_TOWN      = XUNDEF
00301 XUNIF_ALB_ROOF     = XUNDEF
00302 XUNIF_EMIS_ROOF    = XUNDEF
00303 XUNIF_HC_ROOF      = XUNDEF
00304 XUNIF_TC_ROOF      = XUNDEF
00305 XUNIF_D_ROOF       = XUNDEF
00306 XUNIF_ALB_ROAD     = XUNDEF
00307 XUNIF_EMIS_ROAD    = XUNDEF
00308 XUNIF_HC_ROAD      = XUNDEF
00309 XUNIF_TC_ROAD      = XUNDEF
00310 XUNIF_D_ROAD       = XUNDEF
00311 XUNIF_ALB_WALL     = XUNDEF
00312 XUNIF_EMIS_WALL    = XUNDEF
00313 XUNIF_HC_WALL      = XUNDEF
00314 XUNIF_TC_WALL      = XUNDEF
00315 XUNIF_D_WALL       = XUNDEF
00316 XUNIF_H_TRAFFIC    = XUNDEF
00317 XUNIF_LE_TRAFFIC   = XUNDEF
00318 XUNIF_H_INDUSTRY   = XUNDEF
00319 XUNIF_LE_INDUSTRY  = XUNDEF
00320 XUNIF_GARDEN       = XUNDEF
00321 XUNIF_GREENROOF    = XUNDEF
00322 XUNIF_ROAD_DIR     = XUNDEF
00323 XUNIF_ROUGH_ROOF   = XUNDEF
00324 XUNIF_ROUGH_WALL   = XUNDEF
00325 
00326 CFNAM_BLDTYPE      = '                            '
00327 CFNAM_BLD_AGE      = '                            '
00328 CFNAM_USETYPE      = '                            '
00329 CCSVDATAFILE       ='                            '
00330 CFNAM_BLD          = '                            '
00331 CFNAM_BLD_HEIGHT   = '                            '
00332 CFNAM_WALL_O_HOR   = '                            '
00333 CFNAM_Z0_TOWN      = '                            '
00334 
00335 CFNAM_ALB_ROOF (:) = '                            '
00336 CFNAM_EMIS_ROOF(:) = '                            '
00337 CFNAM_HC_ROOF  (:) = '                            '
00338 CFNAM_TC_ROOF  (:) = '                            '
00339 CFNAM_D_ROOF   (:) = '                            '
00340 CFNAM_ROUGH_ROOF(:) = '                            '
00341 CFNAM_ROUGH_WALL(:) = '                            '
00342 CFNAM_ALB_ROAD (:) = '                            '
00343 CFNAM_EMIS_ROAD(:) = '                            '
00344 CFNAM_HC_ROAD  (:) = '                            '
00345 CFNAM_TC_ROAD  (:) = '                            '
00346 CFNAM_D_ROAD   (:) = '                            '
00347 CFNAM_ALB_WALL (:) = '                            '
00348 CFNAM_EMIS_WALL(:) = '                            '
00349 CFNAM_HC_WALL  (:) = '                            '
00350 CFNAM_TC_WALL  (:) = '                            '
00351 CFNAM_D_WALL   (:) = '                            '
00352 
00353 CFNAM_H_TRAFFIC    = '                            '
00354 CFNAM_LE_TRAFFIC   = '                            '
00355 CFNAM_H_INDUSTRY   = '                            '
00356 CFNAM_LE_INDUSTRY  = '                            '
00357 
00358 CFNAM_GARDEN       = '                            '
00359 CFNAM_GREENROOF    = '                            '
00360 CFNAM_ROAD_DIR     = '                            '
00361 
00362 CFTYP_BLDTYPE      = '      '
00363 CFTYP_BLD_AGE      = '      '
00364 CFTYP_USETYPE      = '      '
00365 CFTYP_BLD          = '      '
00366 CFTYP_BLD_HEIGHT   = '      '
00367 CFTYP_WALL_O_HOR   = '      '
00368 CFTYP_Z0_TOWN      = '      '
00369 CFTYP_ALB_ROOF(:)  = '      '
00370 CFTYP_EMIS_ROOF(:) = '      '
00371 CFTYP_HC_ROOF(:)   = '      '
00372 CFTYP_TC_ROOF(:)   = '      '
00373 CFTYP_D_ROOF(:)    = '      '
00374 CFTYP_ROUGH_ROOF(:)    = '      '
00375 CFTYP_ROUGH_WALL(:)    = '      '
00376 CFTYP_ALB_ROAD(:)  = '      '
00377 CFTYP_EMIS_ROAD(:) = '      '
00378 CFTYP_HC_ROAD(:)   = '      '
00379 CFTYP_TC_ROAD(:)   = '      '
00380 CFTYP_D_ROAD(:)    = '      '
00381 CFTYP_ALB_WALL(:)  = '      '
00382 CFTYP_EMIS_WALL(:) = '      '
00383 CFTYP_HC_WALL(:)   = '      '
00384 CFTYP_TC_WALL(:)   = '      '
00385 CFTYP_D_WALL(:)    = '      '
00386 CFTYP_H_TRAFFIC    = '      '
00387 CFTYP_LE_TRAFFIC   = '      '
00388 CFTYP_H_INDUSTRY   = '      '
00389 CFTYP_LE_INDUSTRY  = '      '
00390 CFTYP_GARDEN       = '      '
00391 CFTYP_GREENROOF    = '      '
00392 CFTYP_ROAD_DIR     = '      '
00393 !
00394 
00395 !
00396 !-------------------------------------------------------------------------------
00397 !
00398 !*    2.      Input file for cover types
00399 !             --------------------------
00400 !
00401  CALL GET_LUOUT(HPROGRAM,ILUOUT)
00402  CALL OPEN_NAMELIST(HPROGRAM,ILUNAM)
00403 !
00404  CALL POSNAM(ILUNAM,'NAM_DATA_TEB',GFOUND,ILUOUT)
00405 IF (GFOUND) READ(UNIT=ILUNAM,NML=NAM_DATA_TEB)
00406 !
00407  CALL CLOSE_NAMELIST(HPROGRAM,ILUNAM)
00408 !
00409  CALL TEST_NAM_VAR_SURF(ILUOUT,'CBLD_ATYPE',CBLD_ATYPE,'ARI','MAJ')
00410 !
00411 NPAR_ROOF_LAYER_n = NPAR_ROOF_LAYER
00412 NPAR_ROAD_LAYER_n = NPAR_ROAD_LAYER
00413 NPAR_WALL_LAYER_n = NPAR_WALL_LAYER
00414 !
00415 HBLD_ATYPE = CBLD_ATYPE
00416 !-------------------------------------------------------------------------------
00417 !
00418 !* coherence check
00419 !
00420 IF ((     ANY(XUNIF_HC_ROAD/=XUNDEF) .OR. ANY(LEN_TRIM(CFNAM_HC_ROAD)>0) &
00421      .OR. ANY(XUNIF_TC_ROAD/=XUNDEF) .OR. ANY(LEN_TRIM(CFNAM_TC_ROAD)>0) &
00422      .OR. ANY(XUNIF_D_ROAD /=XUNDEF) .OR. ANY(LEN_TRIM(CFNAM_D_ROAD )>0) &
00423     ) .AND. NPAR_ROAD_LAYER<1                                  ) THEN
00424   CALL ABOR1_SFX('In order to initialize road thermal quantities, please specify NPAR_ROAD_LAYER in namelist NAM_DATA_TEB')
00425 END IF
00426 !
00427 IF ((     ANY(XUNIF_HC_ROOF/=XUNDEF) .OR. ANY(LEN_TRIM(CFNAM_HC_ROOF)>0) &
00428      .OR. ANY(XUNIF_TC_ROOF/=XUNDEF) .OR. ANY(LEN_TRIM(CFNAM_TC_ROOF)>0) &
00429      .OR. ANY(XUNIF_D_ROOF /=XUNDEF) .OR. ANY(LEN_TRIM(CFNAM_D_ROOF )>0) &
00430     ) .AND. NPAR_ROOF_LAYER<1                                  ) THEN
00431   CALL ABOR1_SFX('In order to initialize ROOF thermal quantities, please specify NPAR_ROOF_LAYER in namelist NAM_DATA_TEB')
00432 END IF
00433 !
00434 IF ((     ANY(XUNIF_HC_WALL/=XUNDEF) .OR. ANY(LEN_TRIM(CFNAM_HC_WALL)>0) &
00435      .OR. ANY(XUNIF_TC_WALL/=XUNDEF) .OR. ANY(LEN_TRIM(CFNAM_TC_WALL)>0) &
00436      .OR. ANY(XUNIF_D_WALL /=XUNDEF) .OR. ANY(LEN_TRIM(CFNAM_D_WALL )>0) &
00437     ) .AND. NPAR_WALL_LAYER<1                                  ) THEN
00438   CALL ABOR1_SFX('In order to initialize WALL thermal quantities, please specify NPAR_WALL_LAYER in namelist NAM_DATA_TEB')
00439 END IF
00440 !-------------------------------------------------------------------------------
00441 ALLOCATE(NPAR_BLDTYPE     (NDIM))
00442 ALLOCATE(NPAR_BLD_AGE     (NDIM))
00443 ALLOCATE(NPAR_BLDCODE     (NDIM))
00444 ALLOCATE(NPAR_USETYPE     (NDIM))
00445 ALLOCATE(XPAR_Z0_TOWN     (NDIM))
00446 ALLOCATE(XPAR_ALB_ROOF    (NDIM))
00447 ALLOCATE(XPAR_EMIS_ROOF   (NDIM))
00448 ALLOCATE(XPAR_ALB_ROAD    (NDIM))
00449 ALLOCATE(XPAR_EMIS_ROAD   (NDIM))
00450 ALLOCATE(XPAR_ALB_WALL    (NDIM))
00451 ALLOCATE(XPAR_EMIS_WALL   (NDIM))
00452 ALLOCATE(XPAR_BLD         (NDIM))
00453 ALLOCATE(XPAR_BLD_HEIGHT  (NDIM))
00454 ALLOCATE(XPAR_WALL_O_HOR  (NDIM))
00455 ALLOCATE(XPAR_H_TRAFFIC   (NDIM))
00456 ALLOCATE(XPAR_LE_TRAFFIC  (NDIM))
00457 ALLOCATE(XPAR_H_INDUSTRY  (NDIM))
00458 ALLOCATE(XPAR_LE_INDUSTRY (NDIM))
00459 ALLOCATE(XPAR_GARDEN      (NDIM))
00460 ALLOCATE(XPAR_GREENROOF   (NDIM))
00461 ALLOCATE(XPAR_ROAD_DIR    (NDIM))
00462 !
00463 ALLOCATE(XPAR_HC_ROOF     (NDIM,NPAR_ROOF_LAYER))
00464 ALLOCATE(XPAR_TC_ROOF     (NDIM,NPAR_ROOF_LAYER))
00465 ALLOCATE(XPAR_D_ROOF      (NDIM,NPAR_ROOF_LAYER))
00466 ALLOCATE(XPAR_HC_ROAD     (NDIM,NPAR_ROAD_LAYER))
00467 ALLOCATE(XPAR_TC_ROAD     (NDIM,NPAR_ROAD_LAYER))
00468 ALLOCATE(XPAR_D_ROAD      (NDIM,NPAR_ROAD_LAYER))
00469 ALLOCATE(XPAR_HC_WALL     (NDIM,NPAR_WALL_LAYER))
00470 ALLOCATE(XPAR_TC_WALL     (NDIM,NPAR_WALL_LAYER))
00471 ALLOCATE(XPAR_D_WALL      (NDIM,NPAR_WALL_LAYER))
00472 ALLOCATE(XPAR_ROUGH_ROOF    (NDIM))
00473 ALLOCATE(XPAR_ROUGH_WALL    (NDIM))
00474 !
00475 !-------------------------------------------------------------------------------
00476 IF (NROOF_MAX < NPAR_ROOF_LAYER) THEN
00477   WRITE(ILUOUT,*) '---------------------------------------------'
00478   WRITE(ILUOUT,*) 'Please update pgd_teb_par.f90 routine :      '
00479   WRITE(ILUOUT,*) 'The maximum number of ROOF LAYER             '
00480   WRITE(ILUOUT,*) 'in the declaration of the namelist variables '
00481   WRITE(ILUOUT,*) 'must be increased to : ', NPAR_ROOF_LAYER
00482   WRITE(ILUOUT,*) '---------------------------------------------'
00483   CALL ABOR1_SFX('PGD_TEB_PAR: MAXIMUM NUMBER OF NROOF_LAYER MUST BE INCREASED')
00484 ENDIF
00485 !-------------------------------------------------------------------------------
00486 IF (NROAD_MAX < NPAR_ROAD_LAYER) THEN
00487   WRITE(ILUOUT,*) '---------------------------------------------'
00488   WRITE(ILUOUT,*) 'Please update pgd_teb_par.f90 routine :      '
00489   WRITE(ILUOUT,*) 'The maximum number of ROAD LAYER             '
00490   WRITE(ILUOUT,*) 'in the declaration of the namelist variables '
00491   WRITE(ILUOUT,*) 'must be increased to : ', NPAR_ROAD_LAYER
00492   WRITE(ILUOUT,*) '---------------------------------------------'
00493   CALL ABOR1_SFX('PGD_TEB_PAR: MAXIMUM NUMBER OF NROAD_LAYER MUST BE INCREASED')
00494 ENDIF
00495 !-------------------------------------------------------------------------------
00496 IF (NWALL_MAX < NPAR_WALL_LAYER) THEN
00497   WRITE(ILUOUT,*) '---------------------------------------------'
00498   WRITE(ILUOUT,*) 'Please update pgd_teb_par.f90 routine :      '
00499   WRITE(ILUOUT,*) 'The maximum number of WALL LAYER             '
00500   WRITE(ILUOUT,*) 'in the declaration of the namelist variables '
00501   WRITE(ILUOUT,*) 'must be increased to : ', NPAR_WALL_LAYER
00502   WRITE(ILUOUT,*) '---------------------------------------------'
00503   CALL ABOR1_SFX('PGD_TEB_PAR: MAXIMUM NUMBER OF NWALL_LAYER MUST BE INCREASED')
00504 ENDIF
00505 
00506 !-------------------------------------------------------------------------------
00507 !
00508 !*    3.      user defined fields are prescribed
00509 !             ----------------------------------
00510 !
00511 !* building's type
00512 ZUNIF = XUNDEF
00513 IF (NUNIF_BLDTYPE/=NUNDEF) ZUNIF=FLOAT(NUNIF_BLDTYPE)
00514  CALL INI_VAR_FROM_DATA_0D(HPROGRAM,'MAJ','BLDTYPE    ','TWN', CFNAM_BLDTYPE,CFTYP_BLDTYPE,ZUNIF,&
00515         ZWORK(:),LDATA_BLDTYPE )
00516 IF (.NOT. LDATA_BLDTYPE) THEN
00517   DEALLOCATE(NPAR_BLDTYPE)
00518 ELSE
00519   NPAR_BLDTYPE = NINT(ZWORK)
00520 END IF
00521 !
00522 !* building's age
00523 ZUNIF = XUNDEF
00524 IF (NUNIF_BLD_AGE/=NUNDEF) ZUNIF=FLOAT(NUNIF_BLD_AGE)
00525  CALL INI_VAR_FROM_DATA_0D(HPROGRAM,'ARI','BLD_AGE    ','TWN', CFNAM_BLD_AGE,CFTYP_BLD_AGE,ZUNIF,&
00526         ZWORK(:),LDATA_BLD_AGE )
00527 IF (.NOT. LDATA_BLD_AGE) THEN
00528   DEALLOCATE(NPAR_BLD_AGE)
00529 ELSE
00530   NPAR_BLD_AGE = NINT(ZWORK)
00531 END IF
00532 !
00533 IF (LDATA_BLDTYPE .AND. .NOT. LDATA_BLD_AGE) THEN
00534   WRITE(ILUOUT,*) '---------------------------------------------'
00535   WRITE(ILUOUT,*) ' You chose to define building types :        '
00536   IF (NUNIF_BLDTYPE/=NUNDEF) THEN
00537     WRITE(ILUOUT,*) ' NUNIF_BLDTYPE=', NUNIF_BLDTYPE
00538   ELSE
00539     WRITE(ILUOUT,*) ' CFNAM_BLDTYPE =',CFNAM_BLDTYPE 
00540     WRITE(ILUOUT,*) ' CFTYP_BLDTYPE =',CFTYP_BLDTYPE 
00541   END IF
00542   WRITE(ILUOUT,*) ' But            '
00543   WRITE(ILUOUT,*) " You did not chose to define building's age"
00544   WRITE(ILUOUT,*) '- - - - - - - - - - - - - - - - - - - - - - -'
00545   WRITE(ILUOUT,*) ' Please define the construction date of the buildings. '
00546   WRITE(ILUOUT,*) ' To do so, use either :'
00547   WRITE(ILUOUT,*) ' NUNIF_BLD_AGE   (to have a uniform construction date for all buildings'
00548   WRITE(ILUOUT,*) ' or CFNAM_BLD_AGE and CFTYP_BLD_AGE (to incorporate spatial data ) '
00549   WRITE(ILUOUT,*) '---------------------------------------------'
00550   CALL ABOR1_SFX("PGD_TEB_PAR: Building's age data is missing")
00551 END IF
00552 !
00553 !* building's use
00554 ZUNIF = XUNDEF
00555 IF (NUNIF_USETYPE/=NUNDEF) ZUNIF=FLOAT(NUNIF_USETYPE)
00556  CALL INI_VAR_FROM_DATA_0D(HPROGRAM,'MAJ','USETYPE    ','TWN', CFNAM_USETYPE,CFTYP_USETYPE,ZUNIF,&
00557         ZWORK(:),LDATA_USETYPE )
00558 IF (.NOT. LDATA_USETYPE) THEN
00559   DEALLOCATE(NPAR_USETYPE)
00560 ELSE
00561   NPAR_USETYPE = NINT(ZWORK)
00562 END IF
00563 !
00564 IF (LDATA_BLDTYPE .OR. LDATA_BLD_AGE .OR. LDATA_USETYPE)  CALL READ_CSVDATA_TEB(HPROGRAM,CCSVDATAFILE)
00565 !
00566 !* building's code
00567 IF (ASSOCIATED(NPAR_BLDTYPE)) NPAR_BLDCODE(:) = BLDCODE(NPAR_BLDTYPE,NPAR_BLD_AGE)
00568 !
00569 !
00570 !* other building parameters
00571  CALL INI_VAR_FROM_DATA_0D(HPROGRAM,'ARI','BLD        ','TWN', CFNAM_BLD,CFTYP_BLD,XUNIF_BLD,XPAR_BLD,LDATA_BLD )
00572 IF (.NOT.LDATA_BLD) DEALLOCATE(XPAR_BLD)
00573 !
00574  CALL INI_VAR_FROM_DATA_0D(HPROGRAM,'ARI','BLD_HEIGHT ','TWN',CFNAM_BLD_HEIGHT,CFTYP_BLD_HEIGHT,XUNIF_BLD_HEIGHT,&
00575         XPAR_BLD_HEIGHT,LDATA_BLD_HEIGHT)
00576 IF (.NOT.LDATA_BLD_HEIGHT) DEALLOCATE(XPAR_BLD_HEIGHT)
00577 !
00578  CALL INI_VAR_FROM_DATA_0D(HPROGRAM,'ARI','WALL_O_HOR ','TWN',CFNAM_WALL_O_HOR,CFTYP_WALL_O_HOR,XUNIF_WALL_O_HOR,&
00579         XPAR_WALL_O_HOR,LDATA_WALL_O_HOR)
00580 IF (.NOT.LDATA_WALL_O_HOR) DEALLOCATE(XPAR_WALL_O_HOR)
00581 !
00582  CALL INI_VAR_FROM_DATA_0D(HPROGRAM,'CDN','Z0_TOWN    ','TWN',CFNAM_Z0_TOWN,CFTYP_Z0_TOWN,XUNIF_Z0_TOWN,&
00583         XPAR_Z0_TOWN,LDATA_Z0_TOWN)
00584 IF (.NOT.LDATA_Z0_TOWN) DEALLOCATE(XPAR_Z0_TOWN)
00585 !
00586  CALL INI_VAR_FROM_DATA_0D(HPROGRAM,CBLD_ATYPE,'ALB_ROOF   ','TWN',CFNAM_ALB_ROOF,CFTYP_ALB_ROOF,XUNIF_ALB_ROOF  ,&
00587         XPAR_ALB_ROOF,LDATA_ALB_ROOF)
00588 IF (.NOT.LDATA_ALB_ROOF) DEALLOCATE(XPAR_ALB_ROOF)
00589 !
00590  CALL INI_VAR_FROM_DATA_0D(HPROGRAM,CBLD_ATYPE,'EMIS_ROOF  ','TWN',CFNAM_EMIS_ROOF,CFTYP_EMIS_ROOF,XUNIF_EMIS_ROOF ,&
00591         XPAR_EMIS_ROOF,LDATA_EMIS_ROOF)
00592 IF (.NOT.LDATA_EMIS_ROOF) DEALLOCATE(XPAR_EMIS_ROOF)
00593 !
00594  CALL INI_VAR_FROM_DATA(HPROGRAM,CBLD_ATYPE,'HC_ROOF  ','TWN',CFNAM_HC_ROOF,CFTYP_HC_ROOF, &
00595         XUNIF_HC_ROOF,XPAR_HC_ROOF,LDATA_HC_ROOF ) 
00596 IF (.NOT.LDATA_HC_ROOF) DEALLOCATE(XPAR_HC_ROOF)
00597 ! 
00598  CALL INI_VAR_FROM_DATA(HPROGRAM,CBLD_ATYPE,'TC_ROOF  ','TWN',CFNAM_TC_ROOF,CFTYP_TC_ROOF, &
00599                  XUNIF_TC_ROOF ,XPAR_TC_ROOF, LDATA_TC_ROOF ) 
00600 IF (.NOT.LDATA_TC_ROOF) DEALLOCATE(XPAR_TC_ROOF)
00601 ! 
00602  CALL INI_VAR_FROM_DATA(HPROGRAM,CBLD_ATYPE,'D_ROOF   ','TWN',CFNAM_D_ROOF,CFTYP_D_ROOF, &
00603                  XUNIF_D_ROOF  ,XPAR_D_ROOF , LDATA_D_ROOF ) 
00604 IF (.NOT.LDATA_D_ROOF) DEALLOCATE(XPAR_D_ROOF)
00605 ! 
00606  CALL INI_VAR_FROM_DATA_0D(HPROGRAM,'ARI','ALB_ROAD   ','TWN',CFNAM_ALB_ROAD  ,CFTYP_ALB_ROAD  ,XUNIF_ALB_ROAD  ,&
00607         XPAR_ALB_ROAD, LDATA_ALB_ROAD  )
00608 IF (.NOT.LDATA_ALB_ROAD) DEALLOCATE(XPAR_ALB_ROAD)
00609 !
00610  CALL INI_VAR_FROM_DATA_0D(HPROGRAM,'ARI','EMIS_ROAD  ','TWN',CFNAM_EMIS_ROAD ,CFTYP_EMIS_ROAD ,XUNIF_EMIS_ROAD ,&
00611         XPAR_EMIS_ROAD, LDATA_EMIS_ROAD )
00612 IF (.NOT.LDATA_EMIS_ROAD) DEALLOCATE(XPAR_EMIS_ROAD)
00613 !
00614  CALL INI_VAR_FROM_DATA(HPROGRAM,CBLD_ATYPE,'HC_ROAD  ','TWN',CFNAM_HC_ROAD ,CFTYP_HC_ROAD , &
00615                    XUNIF_HC_ROAD ,XPAR_HC_ROAD, LDATA_HC_ROAD  )  
00616 IF (.NOT.LDATA_HC_ROAD) DEALLOCATE(XPAR_HC_ROAD)
00617 !
00618  CALL INI_VAR_FROM_DATA(HPROGRAM,CBLD_ATYPE,'TC_ROAD  ','TWN',CFNAM_TC_ROAD ,CFTYP_TC_ROAD , &
00619                    XUNIF_TC_ROAD ,XPAR_TC_ROAD, LDATA_TC_ROAD  )  
00620 IF (.NOT.LDATA_TC_ROAD) DEALLOCATE(XPAR_TC_ROAD)
00621 !
00622  CALL INI_VAR_FROM_DATA(HPROGRAM,'ARI','D_ROAD   ','TWN',CFNAM_D_ROAD  ,CFTYP_D_ROAD  , &
00623                    XUNIF_D_ROAD  ,XPAR_D_ROAD , LDATA_D_ROAD  )
00624 IF (.NOT.LDATA_D_ROAD) DEALLOCATE(XPAR_D_ROAD)
00625 !  
00626  CALL INI_VAR_FROM_DATA_0D(HPROGRAM,CBLD_ATYPE,'ALB_WALL   ','TWN',CFNAM_ALB_WALL  ,CFTYP_ALB_WALL  ,XUNIF_ALB_WALL  ,&
00627         XPAR_ALB_WALL, LDATA_ALB_WALL   )
00628 IF (.NOT.LDATA_ALB_WALL) DEALLOCATE(XPAR_ALB_WALL)
00629 !
00630  CALL INI_VAR_FROM_DATA_0D(HPROGRAM,CBLD_ATYPE,'EMIS_WALL  ','TWN',CFNAM_EMIS_WALL ,CFTYP_EMIS_WALL ,XUNIF_EMIS_WALL ,&
00631         XPAR_EMIS_WALL, LDATA_EMIS_WALL  )
00632 IF (.NOT.LDATA_EMIS_WALL) DEALLOCATE(XPAR_EMIS_WALL)
00633 !
00634  CALL INI_VAR_FROM_DATA(HPROGRAM,CBLD_ATYPE,'HC_WALL  ','TWN',CFNAM_HC_WALL ,CFTYP_HC_WALL , &
00635                    XUNIF_HC_WALL ,XPAR_HC_WALL, LDATA_HC_WALL  ) 
00636 IF (.NOT.LDATA_HC_WALL) DEALLOCATE(XPAR_HC_WALL)
00637 ! 
00638  CALL INI_VAR_FROM_DATA(HPROGRAM,CBLD_ATYPE,'TC_WALL  ','TWN',CFNAM_TC_WALL ,CFTYP_TC_WALL , &
00639                    XUNIF_TC_WALL ,XPAR_TC_WALL, LDATA_TC_WALL  ) 
00640 IF (.NOT.LDATA_TC_WALL) DEALLOCATE(XPAR_TC_WALL)
00641 ! 
00642  CALL INI_VAR_FROM_DATA(HPROGRAM,CBLD_ATYPE,'D_WALL   ','TWN',CFNAM_D_WALL  ,CFTYP_D_WALL  , &
00643                    XUNIF_D_WALL  ,XPAR_D_WALL , LDATA_D_WALL  ) 
00644 IF (.NOT.LDATA_D_WALL) DEALLOCATE(XPAR_D_WALL)
00645 ! 
00646  CALL INI_VAR_FROM_DATA_0D(HPROGRAM,'ARI','H_TRAFFIC  ','TWN',CFNAM_H_TRAFFIC  ,CFTYP_H_TRAFFIC  ,XUNIF_H_TRAFFIC  ,&
00647         XPAR_H_TRAFFIC, LDATA_H_TRAFFIC   )
00648 IF (.NOT.LDATA_H_TRAFFIC) DEALLOCATE(XPAR_H_TRAFFIC)
00649 !
00650  CALL INI_VAR_FROM_DATA_0D(HPROGRAM,'ARI','LE_TRAFFIC ','TWN',CFNAM_LE_TRAFFIC ,CFTYP_LE_TRAFFIC ,XUNIF_LE_TRAFFIC ,&
00651         XPAR_LE_TRAFFIC, LDATA_LE_TRAFFIC  )
00652 IF (.NOT.LDATA_LE_TRAFFIC) DEALLOCATE(XPAR_LE_TRAFFIC)
00653 !
00654  CALL INI_VAR_FROM_DATA_0D(HPROGRAM,'ARI','H_INDUSTRY ','TWN',CFNAM_H_INDUSTRY ,CFTYP_H_INDUSTRY ,XUNIF_H_INDUSTRY ,&
00655         XPAR_H_INDUSTRY, LDATA_H_INDUSTRY  )
00656 IF (.NOT.LDATA_H_INDUSTRY) DEALLOCATE(XPAR_H_INDUSTRY)
00657 !
00658  CALL INI_VAR_FROM_DATA_0D(HPROGRAM,'ARI','LE_INDUSTRY','TWN',CFNAM_LE_INDUSTRY,CFTYP_LE_INDUSTRY,XUNIF_LE_INDUSTRY,&
00659         XPAR_LE_INDUSTRY, LDATA_LE_INDUSTRY )
00660 IF (.NOT.LDATA_LE_INDUSTRY) DEALLOCATE(XPAR_LE_INDUSTRY)
00661 !
00662  CALL INI_VAR_FROM_DATA_0D(HPROGRAM,CBLD_ATYPE,'ROUGH_ROOF','TWN',CFNAM_ROUGH_ROOF,CFTYP_ROUGH_ROOF,XUNIF_ROUGH_ROOF ,&
00663         XPAR_ROUGH_ROOF,LDATA_ROUGH_ROOF)
00664 IF (.NOT.LDATA_ROUGH_ROOF) DEALLOCATE(XPAR_ROUGH_ROOF)
00665 !
00666  CALL INI_VAR_FROM_DATA_0D(HPROGRAM,CBLD_ATYPE,'ROUGH_WALL','TWN',CFNAM_ROUGH_WALL,CFTYP_ROUGH_WALL,XUNIF_ROUGH_WALL ,&
00667         XPAR_ROUGH_WALL,LDATA_ROUGH_WALL)
00668 IF (.NOT.LDATA_ROUGH_WALL) DEALLOCATE(XPAR_ROUGH_WALL)
00669 
00670 !-------------------------------------------------------------------------------
00671 !
00672 !* coherence checks
00673 !
00674  CALL COHERENCE_THERMAL_DATA('ROAD',LDATA_HC_ROAD,LDATA_TC_ROAD,LDATA_D_ROAD)
00675  CALL COHERENCE_THERMAL_DATA('ROOF',LDATA_HC_ROOF,LDATA_TC_ROOF,LDATA_D_ROOF)
00676  CALL COHERENCE_THERMAL_DATA('WALL',LDATA_HC_WALL,LDATA_TC_WALL,LDATA_D_WALL)
00677 
00678 !-------------------------------------------------------------------------------
00679 !
00680 !* road directions
00681 !
00682  CALL INI_VAR_FROM_DATA_0D(HPROGRAM,'ARI','ROAD_DIR   ','TWN',CFNAM_ROAD_DIR  ,CFTYP_ROAD_DIR    ,XUNIF_ROAD_DIR   ,&
00683         XPAR_ROAD_DIR, LDATA_ROAD_DIR    )
00684 IF (.NOT.LDATA_ROAD_DIR) DEALLOCATE(XPAR_ROAD_DIR)
00685 !
00686 !-------------------------------------------------------------------------------
00687 !
00688 !* greenroof fraction
00689 !
00690 IF (OGREENROOF) THEN
00691   CALL INI_VAR_FROM_DATA_0D(HPROGRAM,CBLD_ATYPE,'GREENROOF','BLD',CFNAM_GREENROOF,CFTYP_GREENROOF,XUNIF_GREENROOF ,&
00692         XPAR_GREENROOF,LDATA_GREENROOF)
00693   IF (.NOT.LDATA_GREENROOF) DEALLOCATE(XPAR_GREENROOF)
00694 ELSE IF ( (XUNIF_GREENROOF/=0. .AND. XUNIF_GREENROOF/=XUNDEF) .OR. LEN_TRIM(CFNAM_GREENROOF)/=0) THEN
00695   WRITE(ILUOUT,*) '---------------------------------------------'
00696   WRITE(ILUOUT,*) ' You chose not to include greenroofs in urban areas : LGREENROOF=.FALSE.     '
00697   WRITE(ILUOUT,*) ' But            '
00698   IF (XUNIF_GREENROOF/=0. .AND. XUNIF_GREENROOF/=XUNDEF) THEN
00699     WRITE(ILUOUT,*) ' You also chose a greenroof fraction that is not zero : XUNIF_GREENROOF=',XUNIF_GREENROOF
00700   ELSE
00701     WRITE(ILUOUT,*) ' You also chose a greenroof fraction that is not zero : CFNAM_GREENROOF=',CFNAM_GREENROOF
00702   END IF
00703   WRITE(ILUOUT,*) '- - - - - - - - - - - - - - - - - - - - - - -'
00704   WRITE(ILUOUT,*) ' Please choose either:'
00705   WRITE(ILUOUT,*) ' LGREENROOF=.TRUE. or set GREENROOF fraction to zero (XUNIF_GREENROOF=0.) in namelist PGD_TEB_PAR'
00706   WRITE(ILUOUT,*) '---------------------------------------------'
00707   CALL ABOR1_SFX('PGD_TEB_PAR: GREENROOF flag and GREENROOF fraction not coherent')
00708 END IF
00709 !
00710 !-------------------------------------------------------------------------------
00711 !
00712 !* gardens
00713 !
00714 IF (OGARDEN) THEN
00715   CALL INI_VAR_FROM_DATA_0D(HPROGRAM,'ARI','GARDEN     ','TWN',CFNAM_GARDEN    ,CFTYP_GARDEN    ,XUNIF_GARDEN    ,&
00716         XPAR_GARDEN, LDATA_GARDEN    )
00717   IF (.NOT.LDATA_GARDEN) DEALLOCATE(XPAR_GARDEN)
00718 ELSE IF ( (XUNIF_GARDEN/=0. .AND. XUNIF_GARDEN/=XUNDEF) .OR. LEN_TRIM(CFNAM_GARDEN)/=0) THEN
00719   WRITE(ILUOUT,*) '---------------------------------------------'
00720   WRITE(ILUOUT,*) ' You chose not to include gardens in urban areas : LGARDEN=.FALSE.     '
00721   WRITE(ILUOUT,*) ' But            '
00722   IF (XUNIF_GARDEN/=0. .AND. XUNIF_GARDEN/=XUNDEF) THEN
00723     WRITE(ILUOUT,*) ' You also chose a garden fraction that is not zero : XUNIF_GARDEN=',XUNIF_GARDEN
00724   ELSE
00725     WRITE(ILUOUT,*) ' You also chose a garden fraction that is not zero : CFNAM_GARDEN=',CFNAM_GARDEN
00726   END IF
00727   WRITE(ILUOUT,*) '- - - - - - - - - - - - - - - - - - - - - - -'
00728   WRITE(ILUOUT,*) ' Please choose either:'
00729   WRITE(ILUOUT,*) ' LGARDEN=.TRUE. or set GARDEN fraction to zero (XUNIF_GARDEN=0.) in namelist PGD_TEB_PAR'
00730   WRITE(ILUOUT,*) '- - - - - - - - - - - - - - - - - - - - - - -'
00731   WRITE(ILUOUT,*) ' Beware that in this case, it may be necessary to change the'
00732   WRITE(ILUOUT,*) ' road fraction if you want to keep the same canyon aspect ratio'
00733   WRITE(ILUOUT,*) '---------------------------------------------'
00734   CALL ABOR1_SFX('PGD_TEB_PAR: GARDEN flag and GARDEN fraction not coherent')
00735 END IF
00736 !
00737 !
00738 !-------------------------------------------------------------------------------
00739 IF (LHOOK)   CALL DR_HOOK('PGD_TEB_PAR',1,ZHOOK_HANDLE)
00740 !-------------------------------------------------------------------------------
00741 CONTAINS
00742 SUBROUTINE COHERENCE_THERMAL_DATA(HTYPE,ODATA_HC,ODATA_TC,ODATA_D)
00743  CHARACTER(LEN=4), INTENT(IN) :: HTYPE
00744 LOGICAL,          INTENT(IN) :: ODATA_HC
00745 LOGICAL,          INTENT(IN) :: ODATA_TC
00746 LOGICAL,          INTENT(IN) :: ODATA_D
00747 !
00748 IF (ODATA_HC .OR. ODATA_TC .OR. ODATA_D) THEN
00749   IF (.NOT. (ODATA_HC .AND. ODATA_TC .AND. ODATA_D)) THEN
00750     WRITE(ILUOUT,*) '*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*'
00751     WRITE(ILUOUT,*) 'When specifying data for thermal ',TRIM(HTYPE),' characteristics,'
00752     WRITE(ILUOUT,*) 'All three parameters MUST be defined:'
00753     WRITE(ILUOUT,*) 'Heat capacity, Thermal conductivity and depths of layers'
00754     WRITE(ILUOUT,*) ' '
00755     WRITE(ILUOUT,*) 'In your case :'
00756     IF (ODATA_HC) THEN
00757       WRITE(ILUOUT,*) 'Heat capacity is defined'
00758     ELSE
00759       WRITE(ILUOUT,*) 'Heat capacity is NOT defined'
00760     END IF
00761     IF (ODATA_TC) THEN
00762       WRITE(ILUOUT,*) 'Thermal conductivity is defined'
00763     ELSE
00764       WRITE(ILUOUT,*) 'Thermal conductivity is NOT defined'
00765     END IF
00766     IF (ODATA_D) THEN
00767       WRITE(ILUOUT,*) 'Depths of layers are defined'
00768     ELSE
00769       WRITE(ILUOUT,*) 'Depths of layers are NOT defined'
00770     END IF
00771     WRITE(ILUOUT,*) '*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*'
00772     CALL ABOR1_SFX('Heat capacity, Thermal conductivity and depths of layers MUST all be defined for '//HTYPE)
00773   END IF
00774 END IF
00775 END SUBROUTINE COHERENCE_THERMAL_DATA
00776 !-------------------------------------------------------------------------------
00777 !
00778 END SUBROUTINE PGD_TEB_PAR