SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/modd_data_tebn.F90
Go to the documentation of this file.
00001 !     ################
00002       MODULE MODD_DATA_TEB_n
00003 !     ################
00004 !
00005 !!****  *MODD_DATA_TEB_n - declaration of surface parameters for urban surface
00006 !!
00007 !!    PURPOSE
00008 !!    -------
00009 !     Declaration of surface parameters
00010 !
00011 !!
00012 !!**  IMPLICIT ARGUMENTS
00013 !!    ------------------
00014 !!      None 
00015 !!
00016 !!    REFERENCE
00017 !!    ---------
00018 !!
00019 !!    AUTHOR
00020 !!    ------
00021 !!      V. Masson   *Meteo France*
00022 !!
00023 !!    MODIFICATIONS
00024 !!    -------------
00025 !!      Original       01/2004
00026 !!      Modified       08/2012 G. Pigeon ROUGH_WALL, ROUGH_ROOF
00027 !
00028 !*       0.   DECLARATIONS
00029 !             ------------
00030 !
00031 !
00032 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00033 USE PARKIND1  ,ONLY : JPRB
00034 !
00035 IMPLICIT NONE
00036 
00037 TYPE DATA_TEB_t
00038 !
00039   LOGICAL :: LDATA_BLDTYPE 
00040   LOGICAL :: LDATA_BLD_AGE
00041   LOGICAL :: LDATA_USETYPE 
00042   LOGICAL :: LDATA_GARDEN
00043   LOGICAL :: LDATA_GREENROOF
00044   LOGICAL :: LDATA_ROAD_DIR
00045   LOGICAL :: LDATA_BLD
00046   LOGICAL :: LDATA_BLD_HEIGHT
00047   LOGICAL :: LDATA_WALL_O_HOR
00048   LOGICAL :: LDATA_Z0_TOWN
00049   LOGICAL :: LDATA_ALB_ROOF
00050   LOGICAL :: LDATA_EMIS_ROOF
00051   LOGICAL :: LDATA_HC_ROOF
00052   LOGICAL :: LDATA_TC_ROOF
00053   LOGICAL :: LDATA_D_ROOF
00054   LOGICAL :: LDATA_ALB_ROAD
00055   LOGICAL :: LDATA_EMIS_ROAD
00056   LOGICAL :: LDATA_HC_ROAD
00057   LOGICAL :: LDATA_TC_ROAD
00058   LOGICAL :: LDATA_D_ROAD
00059   LOGICAL :: LDATA_ALB_WALL
00060   LOGICAL :: LDATA_EMIS_WALL
00061   LOGICAL :: LDATA_HC_WALL
00062   LOGICAL :: LDATA_TC_WALL
00063   LOGICAL :: LDATA_D_WALL
00064   LOGICAL :: LDATA_H_TRAFFIC
00065   LOGICAL :: LDATA_LE_TRAFFIC
00066   LOGICAL :: LDATA_LE_INDUSTRY
00067   LOGICAL :: LDATA_H_INDUSTRY
00068   LOGICAL :: LDATA_ROUGH_ROOF
00069   LOGICAL :: LDATA_ROUGH_WALL
00070 !
00071 ! Number of layers in the specification of thermal characteristics
00072 !
00073   INTEGER                    :: NPAR_ROOF_LAYER   ! number of layers in roofs
00074   INTEGER                    :: NPAR_ROAD_LAYER   ! number of layers in roads
00075   INTEGER                    :: NPAR_WALL_LAYER   ! number of layers in walls
00076 !
00077 !
00078 ! Geometric Parameters:
00079 !
00080   INTEGER, POINTER, DIMENSION(:):: NPAR_BLDTYPE      ! type of buidlings
00081   INTEGER, POINTER, DIMENSION(:):: NPAR_BLD_AGE      ! date of construction of buildings
00082   INTEGER, POINTER, DIMENSION(:):: NPAR_BLDCODE      ! code for buildings (type+age)
00083   INTEGER, POINTER, DIMENSION(:):: NPAR_USETYPE      ! type of use in the buildings
00084   REAL, POINTER, DIMENSION(:)   :: XPAR_GARDEN       ! fraction of veg in the streets   (-)
00085   REAL, POINTER, DIMENSION(:)   :: XPAR_GREENROOF    ! fraction of greenroofs on roofs  (-)
00086   REAL, POINTER, DIMENSION(:)   :: XPAR_ROAD_DIR     ! road direction (° from North, clockwise)
00087   REAL, POINTER, DIMENSION(:)   :: XPAR_BLD          ! fraction of buildings            (-)
00088   REAL, POINTER, DIMENSION(:)   :: XPAR_BLD_HEIGHT   ! buildings height 'h'             (m)
00089   REAL, POINTER, DIMENSION(:)   :: XPAR_WALL_O_HOR   ! wall surf. / hor. surf.          (-)
00090   REAL, POINTER, DIMENSION(:)   :: XPAR_Z0_TOWN      ! roughness length for momentum    (m)
00091 !
00092 ! Roof parameters
00093 !
00094   REAL, POINTER, DIMENSION(:)   :: XPAR_ALB_ROOF     ! roof albedo                      (-)
00095   REAL, POINTER, DIMENSION(:)   :: XPAR_EMIS_ROOF    ! roof emissivity                  (-)
00096   REAL, POINTER, DIMENSION(:,:) :: XPAR_HC_ROOF      ! roof layers heat capacity        (J/K/m3)
00097   REAL, POINTER, DIMENSION(:,:) :: XPAR_TC_ROOF      ! roof layers thermal conductivity (W/K/m)
00098   REAL, POINTER, DIMENSION(:,:) :: XPAR_D_ROOF       ! depth of roof layers             (m)
00099   REAL, POINTER, DIMENSION(:)   :: XPAR_ROUGH_ROOF   ! outside roof roughness coef 
00100 !
00101 !
00102 ! Road parameters
00103 !
00104   REAL, POINTER, DIMENSION(:)   :: XPAR_ALB_ROAD     ! road albedo                      (-)
00105   REAL, POINTER, DIMENSION(:)   :: XPAR_EMIS_ROAD    ! road emissivity                  (-)
00106   REAL, POINTER, DIMENSION(:,:) :: XPAR_HC_ROAD      ! road layers heat capacity        (J/K/m3)
00107   REAL, POINTER, DIMENSION(:,:) :: XPAR_TC_ROAD      ! road layers thermal conductivity (W/K/m)
00108   REAL, POINTER, DIMENSION(:,:) :: XPAR_D_ROAD       ! depth of road layers             (m)
00109 !
00110 ! Wall parameters
00111 !
00112   REAL, POINTER, DIMENSION(:)   :: XPAR_ALB_WALL     ! wall albedo                      (-)
00113   REAL, POINTER, DIMENSION(:)   :: XPAR_EMIS_WALL    ! wall emissivity                  (-)
00114   REAL, POINTER, DIMENSION(:,:) :: XPAR_HC_WALL      ! wall layers heat capacity        (J/K/m3)
00115   REAL, POINTER, DIMENSION(:,:) :: XPAR_TC_WALL      ! wall layers thermal conductivity (W/K/m)
00116   REAL, POINTER, DIMENSION(:,:) :: XPAR_D_WALL       ! depth of wall layers             (m)
00117   REAL, POINTER, DIMENSION(:)   :: XPAR_ROUGH_WALL   ! outside wall roughness coef
00118 !
00119 ! anthropogenic fluxes
00120 !
00121   REAL, POINTER, DIMENSION(:)   :: XPAR_H_TRAFFIC    ! anthropogenic sensible
00122 !                                                  ! heat fluxes due to traffic       (W/m2)
00123   REAL, POINTER, DIMENSION(:)   :: XPAR_LE_TRAFFIC   ! anthropogenic latent
00124 !                                                  ! heat fluxes due to traffic       (W/m2)
00125   REAL, POINTER, DIMENSION(:)   :: XPAR_H_INDUSTRY   ! anthropogenic sensible                   
00126 !                                                  ! heat fluxes due to factories     (W/m2)
00127   REAL, POINTER, DIMENSION(:)   :: XPAR_LE_INDUSTRY  ! anthropogenic latent
00128 !                                                  ! heat fluxes due to factories     (W/m2)
00129 !
00130 END TYPE DATA_TEB_t
00131 
00132 TYPE(DATA_TEB_t), ALLOCATABLE, TARGET, SAVE :: DATA_TEB_MODEL(:)
00133 
00134 LOGICAL, POINTER :: LDATA_BLDTYPE=>NULL()
00135 !$OMP THREADPRIVATE(LDATA_BLDTYPE)
00136 LOGICAL, POINTER :: LDATA_BLD_AGE=>NULL()
00137 !$OMP THREADPRIVATE(LDATA_BLD_AGE)
00138 LOGICAL, POINTER :: LDATA_BLDCODE=>NULL()
00139 !$OMP THREADPRIVATE(LDATA_BLDCODE)
00140 LOGICAL, POINTER :: LDATA_USETYPE=>NULL()
00141 !$OMP THREADPRIVATE(LDATA_USETYPE)
00142 LOGICAL, POINTER :: LDATA_GARDEN=>NULL()
00143 !$OMP THREADPRIVATE(LDATA_GARDEN)
00144 LOGICAL, POINTER :: LDATA_GREENROOF=>NULL()
00145 !$OMP THREADPRIVATE(LDATA_GREENROOF)
00146 LOGICAL, POINTER :: LDATA_ROAD_DIR=>NULL()
00147 !$OMP THREADPRIVATE(LDATA_ROAD_DIR)
00148 LOGICAL, POINTER :: LDATA_BLD=>NULL()
00149 !$OMP THREADPRIVATE(LDATA_BLD)
00150 LOGICAL, POINTER :: LDATA_BLD_HEIGHT=>NULL()
00151 !$OMP THREADPRIVATE(LDATA_BLD_HEIGHT)
00152 LOGICAL, POINTER :: LDATA_WALL_O_HOR=>NULL()
00153 !$OMP THREADPRIVATE(LDATA_WALL_O_HOR)
00154 LOGICAL, POINTER :: LDATA_Z0_TOWN=>NULL()
00155 !$OMP THREADPRIVATE(LDATA_Z0_TOWN)
00156 LOGICAL, POINTER :: LDATA_ALB_ROOF=>NULL()
00157 !$OMP THREADPRIVATE(LDATA_ALB_ROOF)
00158 LOGICAL, POINTER :: LDATA_EMIS_ROOF=>NULL()
00159 !$OMP THREADPRIVATE(LDATA_EMIS_ROOF)
00160 LOGICAL, POINTER :: LDATA_HC_ROOF=>NULL()
00161 !$OMP THREADPRIVATE(LDATA_HC_ROOF)
00162 LOGICAL, POINTER :: LDATA_TC_ROOF=>NULL()
00163 !$OMP THREADPRIVATE(LDATA_TC_ROOF)
00164 LOGICAL, POINTER :: LDATA_D_ROOF=>NULL()
00165 !$OMP THREADPRIVATE(LDATA_D_ROOF)
00166 LOGICAL, POINTER :: LDATA_ALB_ROAD=>NULL()
00167 !$OMP THREADPRIVATE(LDATA_ALB_ROAD)
00168 LOGICAL, POINTER :: LDATA_EMIS_ROAD=>NULL()
00169 !$OMP THREADPRIVATE(LDATA_EMIS_ROAD)
00170 LOGICAL, POINTER :: LDATA_HC_ROAD=>NULL()
00171 !$OMP THREADPRIVATE(LDATA_HC_ROAD)
00172 LOGICAL, POINTER :: LDATA_TC_ROAD=>NULL()
00173 !$OMP THREADPRIVATE(LDATA_TC_ROAD)
00174 LOGICAL, POINTER :: LDATA_D_ROAD=>NULL()
00175 !$OMP THREADPRIVATE(LDATA_D_ROAD)
00176 LOGICAL, POINTER :: LDATA_ALB_WALL=>NULL()
00177 !$OMP THREADPRIVATE(LDATA_ALB_WALL)
00178 LOGICAL, POINTER :: LDATA_EMIS_WALL=>NULL()
00179 !$OMP THREADPRIVATE(LDATA_EMIS_WALL)
00180 LOGICAL, POINTER :: LDATA_HC_WALL=>NULL()
00181 !$OMP THREADPRIVATE(LDATA_HC_WALL)
00182 LOGICAL, POINTER :: LDATA_TC_WALL=>NULL()
00183 !$OMP THREADPRIVATE(LDATA_TC_WALL)
00184 LOGICAL, POINTER :: LDATA_D_WALL=>NULL()
00185 !$OMP THREADPRIVATE(LDATA_D_WALL)
00186 LOGICAL, POINTER :: LDATA_H_TRAFFIC=>NULL()
00187 !$OMP THREADPRIVATE(LDATA_H_TRAFFIC)
00188 LOGICAL, POINTER :: LDATA_LE_TRAFFIC=>NULL()
00189 !$OMP THREADPRIVATE(LDATA_LE_TRAFFIC)
00190 LOGICAL, POINTER :: LDATA_LE_INDUSTRY=>NULL()
00191 !$OMP THREADPRIVATE(LDATA_LE_INDUSTRY)
00192 LOGICAL, POINTER :: LDATA_H_INDUSTRY=>NULL()
00193 !$OMP THREADPRIVATE(LDATA_H_INDUSTRY)
00194 LOGICAL, POINTER :: LDATA_ROUGH_ROOF=>NULL()
00195 !$OMP THREADPRIVATE(LDATA_ROUGH_ROOF)
00196 LOGICAL, POINTER :: LDATA_ROUGH_WALL=>NULL()
00197 !$OMP THREADPRIVATE(LDATA_ROUGH_WALL)
00198 INTEGER, POINTER :: NPAR_ROOF_LAYER=>NULL()
00199 !$OMP THREADPRIVATE(NPAR_ROOF_LAYER)
00200 INTEGER, POINTER :: NPAR_ROAD_LAYER=>NULL()
00201 !$OMP THREADPRIVATE(NPAR_ROAD_LAYER)
00202 INTEGER, POINTER :: NPAR_WALL_LAYER=>NULL()
00203 !$OMP THREADPRIVATE(NPAR_WALL_LAYER)
00204 INTEGER, POINTER, DIMENSION(:)   :: NPAR_BLDTYPE=>NULL()
00205 !$OMP THREADPRIVATE(NPAR_BLDTYPE)
00206 INTEGER, POINTER, DIMENSION(:)   :: NPAR_BLD_AGE=>NULL()
00207 !$OMP THREADPRIVATE(NPAR_BLD_AGE)
00208 INTEGER, POINTER, DIMENSION(:)   :: NPAR_BLDCODE=>NULL()
00209 !$OMP THREADPRIVATE(NPAR_BLDCODE)
00210 INTEGER, POINTER, DIMENSION(:)   :: NPAR_USETYPE=>NULL()
00211 !$OMP THREADPRIVATE(NPAR_USETYPE)
00212 REAL, POINTER, DIMENSION(:)   :: XPAR_GARDEN=>NULL()
00213 !$OMP THREADPRIVATE(XPAR_GARDEN)
00214 REAL, POINTER, DIMENSION(:)   :: XPAR_GREENROOF=>NULL()
00215 !$OMP THREADPRIVATE(XPAR_GREENROOF)
00216 REAL, POINTER, DIMENSION(:)   :: XPAR_ROAD_DIR=>NULL()
00217 !$OMP THREADPRIVATE(XPAR_ROAD_DIR)
00218 REAL, POINTER, DIMENSION(:)   :: XPAR_BLD=>NULL()
00219 !$OMP THREADPRIVATE(XPAR_BLD)
00220 REAL, POINTER, DIMENSION(:)   :: XPAR_BLD_HEIGHT=>NULL()
00221 !$OMP THREADPRIVATE(XPAR_BLD_HEIGHT)
00222 REAL, POINTER, DIMENSION(:)   :: XPAR_WALL_O_HOR=>NULL()
00223 !$OMP THREADPRIVATE(XPAR_WALL_O_HOR)
00224 REAL, POINTER, DIMENSION(:)   :: XPAR_Z0_TOWN=>NULL()
00225 !$OMP THREADPRIVATE(XPAR_Z0_TOWN)
00226 REAL, POINTER, DIMENSION(:)   :: XPAR_ALB_ROOF=>NULL()
00227 !$OMP THREADPRIVATE(XPAR_ALB_ROOF)
00228 REAL, POINTER, DIMENSION(:)   :: XPAR_EMIS_ROOF=>NULL()
00229 !$OMP THREADPRIVATE(XPAR_EMIS_ROOF)
00230 REAL, POINTER, DIMENSION(:,:) :: XPAR_HC_ROOF=>NULL()
00231 !$OMP THREADPRIVATE(XPAR_HC_ROOF)
00232 REAL, POINTER, DIMENSION(:,:) :: XPAR_TC_ROOF=>NULL()
00233 !$OMP THREADPRIVATE(XPAR_TC_ROOF)
00234 REAL, POINTER, DIMENSION(:,:) :: XPAR_D_ROOF=>NULL()
00235 !$OMP THREADPRIVATE(XPAR_D_ROOF)
00236 REAL, POINTER, DIMENSION(:)   :: XPAR_ALB_ROAD=>NULL()
00237 !$OMP THREADPRIVATE(XPAR_ALB_ROAD)
00238 REAL, POINTER, DIMENSION(:)   :: XPAR_EMIS_ROAD=>NULL()
00239 !$OMP THREADPRIVATE(XPAR_EMIS_ROAD)
00240 REAL, POINTER, DIMENSION(:,:) :: XPAR_HC_ROAD=>NULL()
00241 !$OMP THREADPRIVATE(XPAR_HC_ROAD)
00242 REAL, POINTER, DIMENSION(:,:) :: XPAR_TC_ROAD=>NULL()
00243 !$OMP THREADPRIVATE(XPAR_TC_ROAD)
00244 REAL, POINTER, DIMENSION(:,:) :: XPAR_D_ROAD=>NULL()
00245 !$OMP THREADPRIVATE(XPAR_D_ROAD)
00246 REAL, POINTER, DIMENSION(:)   :: XPAR_ALB_WALL=>NULL()
00247 !$OMP THREADPRIVATE(XPAR_ALB_WALL)
00248 REAL, POINTER, DIMENSION(:)   :: XPAR_EMIS_WALL=>NULL()
00249 !$OMP THREADPRIVATE(XPAR_EMIS_WALL)
00250 REAL, POINTER, DIMENSION(:,:) :: XPAR_HC_WALL=>NULL()
00251 !$OMP THREADPRIVATE(XPAR_HC_WALL)
00252 REAL, POINTER, DIMENSION(:,:) :: XPAR_TC_WALL=>NULL()
00253 !$OMP THREADPRIVATE(XPAR_TC_WALL)
00254 REAL, POINTER, DIMENSION(:,:) :: XPAR_D_WALL=>NULL()
00255 !$OMP THREADPRIVATE(XPAR_D_WALL)
00256 REAL, POINTER, DIMENSION(:)   :: XPAR_H_TRAFFIC=>NULL()
00257 !$OMP THREADPRIVATE(XPAR_H_TRAFFIC)
00258 REAL, POINTER, DIMENSION(:)   :: XPAR_LE_TRAFFIC=>NULL()
00259 !$OMP THREADPRIVATE(XPAR_LE_TRAFFIC)
00260 REAL, POINTER, DIMENSION(:)   :: XPAR_H_INDUSTRY=>NULL()
00261 !$OMP THREADPRIVATE(XPAR_H_INDUSTRY)
00262 REAL, POINTER, DIMENSION(:)   :: XPAR_LE_INDUSTRY=>NULL()
00263 !$OMP THREADPRIVATE(XPAR_LE_INDUSTRY)
00264 REAL, POINTER, DIMENSION(:)   :: XPAR_ROUGH_ROOF=>NULL()
00265 !$OMP THREADPRIVATE(XPAR_ROUGH_ROOF)
00266 REAL, POINTER, DIMENSION(:)   :: XPAR_ROUGH_WALL=>NULL()
00267 !$OMP THREADPRIVATE(XPAR_ROUGH_WALL)
00268 
00269 CONTAINS
00270 
00271 SUBROUTINE DATA_TEB_GOTO_MODEL(KFROM, KTO, LKFROM)
00272 LOGICAL, INTENT(IN) :: LKFROM
00273 INTEGER, INTENT(IN) :: KFROM, KTO
00274 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00275 !
00276 ! Save current state for allocated arrays
00277 IF (LKFROM) THEN
00278 DATA_TEB_MODEL(KFROM)%NPAR_BLDTYPE=>NPAR_BLDTYPE
00279 DATA_TEB_MODEL(KFROM)%NPAR_BLD_AGE=>NPAR_BLD_AGE
00280 DATA_TEB_MODEL(KFROM)%NPAR_BLDCODE=>NPAR_BLDCODE
00281 DATA_TEB_MODEL(KFROM)%NPAR_USETYPE=>NPAR_USETYPE
00282 DATA_TEB_MODEL(KFROM)%XPAR_GARDEN=>XPAR_GARDEN
00283 DATA_TEB_MODEL(KFROM)%XPAR_GREENROOF=>XPAR_GREENROOF
00284 DATA_TEB_MODEL(KFROM)%XPAR_ROAD_DIR=>XPAR_ROAD_DIR
00285 DATA_TEB_MODEL(KFROM)%XPAR_BLD=>XPAR_BLD
00286 DATA_TEB_MODEL(KFROM)%XPAR_BLD_HEIGHT=>XPAR_BLD_HEIGHT
00287 DATA_TEB_MODEL(KFROM)%XPAR_WALL_O_HOR=>XPAR_WALL_O_HOR
00288 DATA_TEB_MODEL(KFROM)%XPAR_Z0_TOWN=>XPAR_Z0_TOWN
00289 DATA_TEB_MODEL(KFROM)%XPAR_ALB_ROOF=>XPAR_ALB_ROOF
00290 DATA_TEB_MODEL(KFROM)%XPAR_EMIS_ROOF=>XPAR_EMIS_ROOF
00291 DATA_TEB_MODEL(KFROM)%XPAR_HC_ROOF=>XPAR_HC_ROOF
00292 DATA_TEB_MODEL(KFROM)%XPAR_TC_ROOF=>XPAR_TC_ROOF
00293 DATA_TEB_MODEL(KFROM)%XPAR_D_ROOF=>XPAR_D_ROOF
00294 DATA_TEB_MODEL(KFROM)%XPAR_ALB_ROAD=>XPAR_ALB_ROAD
00295 DATA_TEB_MODEL(KFROM)%XPAR_EMIS_ROAD=>XPAR_EMIS_ROAD
00296 DATA_TEB_MODEL(KFROM)%XPAR_HC_ROAD=>XPAR_HC_ROAD
00297 DATA_TEB_MODEL(KFROM)%XPAR_TC_ROAD=>XPAR_TC_ROAD
00298 DATA_TEB_MODEL(KFROM)%XPAR_D_ROAD=>XPAR_D_ROAD
00299 DATA_TEB_MODEL(KFROM)%XPAR_ALB_WALL=>XPAR_ALB_WALL
00300 DATA_TEB_MODEL(KFROM)%XPAR_EMIS_WALL=>XPAR_EMIS_WALL
00301 DATA_TEB_MODEL(KFROM)%XPAR_HC_WALL=>XPAR_HC_WALL
00302 DATA_TEB_MODEL(KFROM)%XPAR_TC_WALL=>XPAR_TC_WALL
00303 DATA_TEB_MODEL(KFROM)%XPAR_D_WALL=>XPAR_D_WALL
00304 DATA_TEB_MODEL(KFROM)%XPAR_H_TRAFFIC=>XPAR_H_TRAFFIC
00305 DATA_TEB_MODEL(KFROM)%XPAR_LE_TRAFFIC=>XPAR_LE_TRAFFIC
00306 DATA_TEB_MODEL(KFROM)%XPAR_H_INDUSTRY=>XPAR_H_INDUSTRY
00307 DATA_TEB_MODEL(KFROM)%XPAR_LE_INDUSTRY=>XPAR_LE_INDUSTRY
00308 DATA_TEB_MODEL(KFROM)%XPAR_ROUGH_ROOF=>XPAR_ROUGH_ROOF
00309 DATA_TEB_MODEL(KFROM)%XPAR_ROUGH_WALL=>XPAR_ROUGH_WALL
00310 ENDIF
00311 !
00312 ! Current model is set to model KTO
00313 IF (LHOOK) CALL DR_HOOK('MODD_DATA_TEB_N:DATA_TEB_GOTO_MODEL',0,ZHOOK_HANDLE)
00314 LDATA_BLDTYPE=>DATA_TEB_MODEL(KTO)%LDATA_BLDTYPE
00315 LDATA_BLD_AGE=>DATA_TEB_MODEL(KTO)%LDATA_BLD_AGE
00316 LDATA_USETYPE=>DATA_TEB_MODEL(KTO)%LDATA_USETYPE
00317 LDATA_GARDEN=>DATA_TEB_MODEL(KTO)%LDATA_GARDEN
00318 LDATA_GREENROOF=>DATA_TEB_MODEL(KTO)%LDATA_GREENROOF
00319 LDATA_ROAD_DIR=>DATA_TEB_MODEL(KTO)%LDATA_ROAD_DIR
00320 LDATA_BLD=>DATA_TEB_MODEL(KTO)%LDATA_BLD
00321 LDATA_BLD_HEIGHT=>DATA_TEB_MODEL(KTO)%LDATA_BLD_HEIGHT
00322 LDATA_WALL_O_HOR=>DATA_TEB_MODEL(KTO)%LDATA_WALL_O_HOR
00323 LDATA_Z0_TOWN=>DATA_TEB_MODEL(KTO)%LDATA_Z0_TOWN
00324 LDATA_ALB_ROOF=>DATA_TEB_MODEL(KTO)%LDATA_ALB_ROOF
00325 LDATA_EMIS_ROOF=>DATA_TEB_MODEL(KTO)%LDATA_EMIS_ROOF
00326 LDATA_HC_ROOF=>DATA_TEB_MODEL(KTO)%LDATA_HC_ROOF
00327 LDATA_TC_ROOF=>DATA_TEB_MODEL(KTO)%LDATA_TC_ROOF
00328 LDATA_D_ROOF=>DATA_TEB_MODEL(KTO)%LDATA_D_ROOF
00329 LDATA_ALB_ROAD=>DATA_TEB_MODEL(KTO)%LDATA_ALB_ROAD
00330 LDATA_EMIS_ROAD=>DATA_TEB_MODEL(KTO)%LDATA_EMIS_ROAD
00331 LDATA_HC_ROAD=>DATA_TEB_MODEL(KTO)%LDATA_HC_ROAD
00332 LDATA_TC_ROAD=>DATA_TEB_MODEL(KTO)%LDATA_TC_ROAD
00333 LDATA_D_ROAD=>DATA_TEB_MODEL(KTO)%LDATA_D_ROAD
00334 LDATA_ALB_WALL=>DATA_TEB_MODEL(KTO)%LDATA_ALB_WALL
00335 LDATA_EMIS_WALL=>DATA_TEB_MODEL(KTO)%LDATA_EMIS_WALL
00336 LDATA_HC_WALL=>DATA_TEB_MODEL(KTO)%LDATA_HC_WALL
00337 LDATA_TC_WALL=>DATA_TEB_MODEL(KTO)%LDATA_TC_WALL
00338 LDATA_D_WALL=>DATA_TEB_MODEL(KTO)%LDATA_D_WALL
00339 LDATA_H_TRAFFIC=>DATA_TEB_MODEL(KTO)%LDATA_H_TRAFFIC
00340 LDATA_LE_TRAFFIC=>DATA_TEB_MODEL(KTO)%LDATA_LE_TRAFFIC
00341 LDATA_LE_INDUSTRY=>DATA_TEB_MODEL(KTO)%LDATA_LE_INDUSTRY
00342 LDATA_H_INDUSTRY=>DATA_TEB_MODEL(KTO)%LDATA_H_INDUSTRY
00343 LDATA_ROUGH_ROOF=>DATA_TEB_MODEL(KTO)%LDATA_ROUGH_ROOF
00344 LDATA_ROUGH_WALL=>DATA_TEB_MODEL(KTO)%LDATA_ROUGH_WALL
00345 
00346 NPAR_ROOF_LAYER=>DATA_TEB_MODEL(KTO)%NPAR_ROOF_LAYER
00347 NPAR_ROAD_LAYER=>DATA_TEB_MODEL(KTO)%NPAR_ROAD_LAYER
00348 NPAR_WALL_LAYER=>DATA_TEB_MODEL(KTO)%NPAR_WALL_LAYER
00349 NPAR_BLDTYPE=>DATA_TEB_MODEL(KTO)%NPAR_BLDTYPE
00350 NPAR_BLD_AGE=>DATA_TEB_MODEL(KTO)%NPAR_BLD_AGE
00351 NPAR_BLDCODE=>DATA_TEB_MODEL(KTO)%NPAR_BLDCODE
00352 NPAR_USETYPE=>DATA_TEB_MODEL(KTO)%NPAR_USETYPE
00353 XPAR_GARDEN=>DATA_TEB_MODEL(KTO)%XPAR_GARDEN
00354 XPAR_GREENROOF=>DATA_TEB_MODEL(KTO)%XPAR_GREENROOF
00355 XPAR_ROAD_DIR=>DATA_TEB_MODEL(KTO)%XPAR_ROAD_DIR
00356 XPAR_BLD=>DATA_TEB_MODEL(KTO)%XPAR_BLD
00357 XPAR_BLD_HEIGHT=>DATA_TEB_MODEL(KTO)%XPAR_BLD_HEIGHT
00358 XPAR_WALL_O_HOR=>DATA_TEB_MODEL(KTO)%XPAR_WALL_O_HOR
00359 XPAR_Z0_TOWN=>DATA_TEB_MODEL(KTO)%XPAR_Z0_TOWN
00360 XPAR_ALB_ROOF=>DATA_TEB_MODEL(KTO)%XPAR_ALB_ROOF
00361 XPAR_EMIS_ROOF=>DATA_TEB_MODEL(KTO)%XPAR_EMIS_ROOF
00362 XPAR_HC_ROOF=>DATA_TEB_MODEL(KTO)%XPAR_HC_ROOF
00363 XPAR_TC_ROOF=>DATA_TEB_MODEL(KTO)%XPAR_TC_ROOF
00364 XPAR_D_ROOF=>DATA_TEB_MODEL(KTO)%XPAR_D_ROOF
00365 XPAR_ALB_ROAD=>DATA_TEB_MODEL(KTO)%XPAR_ALB_ROAD
00366 XPAR_EMIS_ROAD=>DATA_TEB_MODEL(KTO)%XPAR_EMIS_ROAD
00367 XPAR_HC_ROAD=>DATA_TEB_MODEL(KTO)%XPAR_HC_ROAD
00368 XPAR_TC_ROAD=>DATA_TEB_MODEL(KTO)%XPAR_TC_ROAD
00369 XPAR_D_ROAD=>DATA_TEB_MODEL(KTO)%XPAR_D_ROAD
00370 XPAR_ALB_WALL=>DATA_TEB_MODEL(KTO)%XPAR_ALB_WALL
00371 XPAR_EMIS_WALL=>DATA_TEB_MODEL(KTO)%XPAR_EMIS_WALL
00372 XPAR_HC_WALL=>DATA_TEB_MODEL(KTO)%XPAR_HC_WALL
00373 XPAR_TC_WALL=>DATA_TEB_MODEL(KTO)%XPAR_TC_WALL
00374 XPAR_D_WALL=>DATA_TEB_MODEL(KTO)%XPAR_D_WALL
00375 XPAR_H_TRAFFIC=>DATA_TEB_MODEL(KTO)%XPAR_H_TRAFFIC
00376 XPAR_LE_TRAFFIC=>DATA_TEB_MODEL(KTO)%XPAR_LE_TRAFFIC
00377 XPAR_H_INDUSTRY=>DATA_TEB_MODEL(KTO)%XPAR_H_INDUSTRY
00378 XPAR_LE_INDUSTRY=>DATA_TEB_MODEL(KTO)%XPAR_LE_INDUSTRY
00379 XPAR_ROUGH_ROOF=>DATA_TEB_MODEL(KTO)%XPAR_ROUGH_ROOF
00380 XPAR_ROUGH_WALL=>DATA_TEB_MODEL(KTO)%XPAR_ROUGH_WALL
00381 IF (LHOOK) CALL DR_HOOK('MODD_DATA_TEB_N:DATA_TEB_GOTO_MODEL',1,ZHOOK_HANDLE)
00382 
00383 END SUBROUTINE DATA_TEB_GOTO_MODEL
00384 
00385 SUBROUTINE DATA_TEB_ALLOC(KMODEL)
00386 INTEGER, INTENT(IN) :: KMODEL
00387 INTEGER :: J
00388 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00389 IF (LHOOK) CALL DR_HOOK("MODD_DATA_TEB_N:DATA_TEB_ALLOC",0,ZHOOK_HANDLE)
00390 ALLOCATE(DATA_TEB_MODEL(KMODEL))
00391 DO J=1,KMODEL
00392   NULLIFY(DATA_TEB_MODEL(J)%NPAR_BLDTYPE)
00393   NULLIFY(DATA_TEB_MODEL(J)%NPAR_BLD_AGE)
00394   NULLIFY(DATA_TEB_MODEL(J)%NPAR_BLDCODE)
00395   NULLIFY(DATA_TEB_MODEL(J)%NPAR_USETYPE)
00396   NULLIFY(DATA_TEB_MODEL(J)%XPAR_GARDEN)
00397   NULLIFY(DATA_TEB_MODEL(J)%XPAR_GREENROOF)
00398   NULLIFY(DATA_TEB_MODEL(J)%XPAR_ROAD_DIR)
00399   NULLIFY(DATA_TEB_MODEL(J)%XPAR_BLD)
00400   NULLIFY(DATA_TEB_MODEL(J)%XPAR_BLD_HEIGHT)
00401   NULLIFY(DATA_TEB_MODEL(J)%XPAR_WALL_O_HOR)
00402   NULLIFY(DATA_TEB_MODEL(J)%XPAR_Z0_TOWN)
00403   NULLIFY(DATA_TEB_MODEL(J)%XPAR_ALB_ROOF)
00404   NULLIFY(DATA_TEB_MODEL(J)%XPAR_EMIS_ROOF)
00405   NULLIFY(DATA_TEB_MODEL(J)%XPAR_HC_ROOF)
00406   NULLIFY(DATA_TEB_MODEL(J)%XPAR_TC_ROOF)
00407   NULLIFY(DATA_TEB_MODEL(J)%XPAR_D_ROOF)
00408   NULLIFY(DATA_TEB_MODEL(J)%XPAR_ALB_ROAD)
00409   NULLIFY(DATA_TEB_MODEL(J)%XPAR_EMIS_ROAD)
00410   NULLIFY(DATA_TEB_MODEL(J)%XPAR_HC_ROAD)
00411   NULLIFY(DATA_TEB_MODEL(J)%XPAR_TC_ROAD)
00412   NULLIFY(DATA_TEB_MODEL(J)%XPAR_D_ROAD)
00413   NULLIFY(DATA_TEB_MODEL(J)%XPAR_ALB_WALL)
00414   NULLIFY(DATA_TEB_MODEL(J)%XPAR_EMIS_WALL)
00415   NULLIFY(DATA_TEB_MODEL(J)%XPAR_HC_WALL)
00416   NULLIFY(DATA_TEB_MODEL(J)%XPAR_TC_WALL)
00417   NULLIFY(DATA_TEB_MODEL(J)%XPAR_D_WALL)
00418   NULLIFY(DATA_TEB_MODEL(J)%XPAR_H_TRAFFIC)
00419   NULLIFY(DATA_TEB_MODEL(J)%XPAR_LE_TRAFFIC)
00420   NULLIFY(DATA_TEB_MODEL(J)%XPAR_H_INDUSTRY)
00421   NULLIFY(DATA_TEB_MODEL(J)%XPAR_LE_INDUSTRY)
00422   NULLIFY(DATA_TEB_MODEL(J)%XPAR_ROUGH_ROOF)
00423   NULLIFY(DATA_TEB_MODEL(J)%XPAR_ROUGH_WALL)
00424 ENDDO
00425 DATA_TEB_MODEL(:)%LDATA_BLDTYPE=.FALSE.
00426 DATA_TEB_MODEL(:)%LDATA_BLD_AGE=.FALSE.
00427 DATA_TEB_MODEL(:)%LDATA_USETYPE=.FALSE.
00428 DATA_TEB_MODEL(:)%LDATA_GARDEN=.FALSE.
00429 DATA_TEB_MODEL(:)%LDATA_GREENROOF=.FALSE.
00430 DATA_TEB_MODEL(:)%LDATA_ROAD_DIR=.FALSE.
00431 DATA_TEB_MODEL(:)%LDATA_BLD=.FALSE.
00432 DATA_TEB_MODEL(:)%LDATA_BLD_HEIGHT=.FALSE.
00433 DATA_TEB_MODEL(:)%LDATA_WALL_O_HOR=.FALSE.
00434 DATA_TEB_MODEL(:)%LDATA_Z0_TOWN=.FALSE.
00435 DATA_TEB_MODEL(:)%LDATA_ALB_ROOF=.FALSE.
00436 DATA_TEB_MODEL(:)%LDATA_EMIS_ROOF=.FALSE.
00437 DATA_TEB_MODEL(:)%LDATA_HC_ROOF=.FALSE.
00438 DATA_TEB_MODEL(:)%LDATA_TC_ROOF=.FALSE.
00439 DATA_TEB_MODEL(:)%LDATA_D_ROOF=.FALSE.
00440 DATA_TEB_MODEL(:)%LDATA_ALB_ROAD=.FALSE.
00441 DATA_TEB_MODEL(:)%LDATA_EMIS_ROAD=.FALSE.
00442 DATA_TEB_MODEL(:)%LDATA_HC_ROAD=.FALSE.
00443 DATA_TEB_MODEL(:)%LDATA_TC_ROAD=.FALSE.
00444 DATA_TEB_MODEL(:)%LDATA_D_ROAD=.FALSE.
00445 DATA_TEB_MODEL(:)%LDATA_ALB_WALL=.FALSE.
00446 DATA_TEB_MODEL(:)%LDATA_EMIS_WALL=.FALSE.
00447 DATA_TEB_MODEL(:)%LDATA_HC_WALL=.FALSE.
00448 DATA_TEB_MODEL(:)%LDATA_TC_WALL=.FALSE.
00449 DATA_TEB_MODEL(:)%LDATA_D_WALL=.FALSE.
00450 DATA_TEB_MODEL(:)%LDATA_H_TRAFFIC=.FALSE.
00451 DATA_TEB_MODEL(:)%LDATA_LE_TRAFFIC=.FALSE.
00452 DATA_TEB_MODEL(:)%LDATA_H_INDUSTRY=.FALSE.
00453 DATA_TEB_MODEL(:)%LDATA_LE_INDUSTRY=.FALSE.
00454 DATA_TEB_MODEL(:)%LDATA_ROUGH_ROOF=.FALSE.
00455 DATA_TEB_MODEL(:)%LDATA_ROUGH_WALL=.FALSE.
00456 DATA_TEB_MODEL(:)%NPAR_ROOF_LAYER=0
00457 DATA_TEB_MODEL(:)%NPAR_ROAD_LAYER=0
00458 DATA_TEB_MODEL(:)%NPAR_WALL_LAYER=0
00459 IF (LHOOK) CALL DR_HOOK("MODD_DATA_TEB_N:DATA_TEB_ALLOC",1,ZHOOK_HANDLE)
00460 END SUBROUTINE DATA_TEB_ALLOC
00461 
00462 SUBROUTINE DATA_TEB_DEALLO
00463 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00464 IF (LHOOK) CALL DR_HOOK("MODD_DATA_TEB_N:DATA_TEB_DEALLO",0,ZHOOK_HANDLE)
00465 IF (ALLOCATED(DATA_TEB_MODEL)) DEALLOCATE(DATA_TEB_MODEL)
00466 IF (LHOOK) CALL DR_HOOK("MODD_DATA_TEB_N:DATA_TEB_DEALLO",1,ZHOOK_HANDLE)
00467 END SUBROUTINE DATA_TEB_DEALLO
00468 
00469 END MODULE MODD_DATA_TEB_n