SURFEX v7.3
General documentation of Surfex
|
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