SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/modd_bld_description.F90
Go to the documentation of this file.
00001 !     ################
00002       MODULE MODD_BLD_DESCRIPTION
00003 !     ################
00004 !
00005 !!****  *MODD_BLD_DESCRIPTION - declaration of surface parameters for typical
00006 !                               buildings
00007 !!
00008 !!    PURPOSE
00009 !!    -------
00010 !     Declaration of surface parameters
00011 !
00012 !!
00013 !!**  IMPLICIT ARGUMENTS
00014 !!    ------------------
00015 !!      None 
00016 !!
00017 !!    REFERENCE
00018 !!    ---------
00019 !!
00020 !!    AUTHOR
00021 !!    ------
00022 !!      G. Pigeon   *Meteo France*
00023 !!
00024 !!    MODIFICATIONS
00025 !!    -------------
00026 !!      Original       08/2011
00027 !
00028 !*       0.   DECLARATIONS
00029 !             ------------
00030 !
00031 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00032 USE PARKIND1  ,ONLY : JPRB
00033 !
00034 IMPLICIT NONE
00035 
00036 TYPE BLD_DESC_t
00037 !
00038 ! Number of layers
00039 !
00040   INTEGER                       :: NDESC_BLD          ! number of types of buildings
00041   INTEGER                       :: NDESC_AGE          ! number of building's construction dates ranges
00042   INTEGER                       :: NDESC_CODE         ! number of codes for buildings (merges type & age)
00043   INTEGER                       :: NDESC_USE          ! number of types of building's uses
00044   INTEGER                       :: NDESC_ROOF_LAYER   ! number of layers in roofs
00045   INTEGER                       :: NDESC_ROAD_LAYER   ! number of layers in roads
00046   INTEGER                       :: NDESC_WALL_LAYER   ! number of layers in walls
00047   INTEGER                       :: NDESC_FLOOR_LAYER  ! number of layers in floor
00048   INTEGER, POINTER, DIMENSION(:):: NDESC_BLD_LIST     ! list of the types for buildings
00049   INTEGER, POINTER, DIMENSION(:):: NDESC_AGE_DATE     ! list of the contruction dates for buildings
00050   INTEGER, POINTER, DIMENSION(:):: NDESC_CODE_LIST    ! list of the codes for buildings
00051   INTEGER, POINTER, DIMENSION(:):: NDESC_AGE_LIST     ! list of the contruction dates' codes
00052   INTEGER, POINTER, DIMENSION(:):: NDESC_USE_LIST     ! list of the codes for building's uses
00053   !
00054   REAL, POINTER, DIMENSION(:)   :: XDESC_ALB_ROOF     ! Roof albedo
00055   REAL, POINTER, DIMENSION(:)   :: XDESC_ALB_ROAD     ! Road albedo
00056   REAL, POINTER, DIMENSION(:)   :: XDESC_ALB_WALL     ! Wall albedo
00057   REAL, POINTER, DIMENSION(:)   :: XDESC_EMIS_ROOF    ! Roof emissivity
00058   REAL, POINTER, DIMENSION(:)   :: XDESC_EMIS_ROAD    ! Road emissivity
00059   REAL, POINTER, DIMENSION(:)   :: XDESC_EMIS_WALL    ! Wall emissivity
00060   REAL, POINTER, DIMENSION(:)   :: XDESC_TCOOL_TARGET ! cooling setpoint of indoor air
00061   REAL, POINTER, DIMENSION(:)   :: XDESC_THEAT_TARGET ! heating setpoint of indoor air
00062   REAL, POINTER, DIMENSION(:)   :: XDESC_F_WASTE_CAN  ! fraction of waste heat into the canyon
00063   REAL, POINTER, DIMENSION(:)   :: XDESC_EFF_HEAT     ! efficiency of the heating system
00064   REAL, POINTER, DIMENSION(:,:) :: XDESC_HC_FLOOR     ! heat capacity of floor layers [J m-3 K-1]
00065   REAL, POINTER, DIMENSION(:,:) :: XDESC_TC_FLOOR     ! thermal conductivity of floor layers [W m-1 K-1]
00066   REAL, POINTER, DIMENSION(:,:) :: XDESC_D_FLOOR      ! thickness of floor layers [m]
00067   REAL, POINTER, DIMENSION(:,:) :: XDESC_HC_ROOF      ! heat capacity of roof layers [J m-3 K-1]
00068   REAL, POINTER, DIMENSION(:,:) :: XDESC_TC_ROOF      ! thermal conductivity of roof layers [W m-1 K-1]
00069   REAL, POINTER, DIMENSION(:,:) :: XDESC_D_ROOF       ! thickness of roof layers [m]
00070   REAL, POINTER, DIMENSION(:,:) :: XDESC_HC_ROAD      ! heat capacity of road layers [J m-3 K-1]
00071   REAL, POINTER, DIMENSION(:,:) :: XDESC_TC_ROAD      ! thermal conductivity of road layers [W m-1 K-1]
00072   REAL, POINTER, DIMENSION(:,:) :: XDESC_D_ROAD       ! thickness of road layers [m]
00073   REAL, POINTER, DIMENSION(:,:) :: XDESC_HC_WALL      ! heat capacity of wall layers [J m-3 K-1]
00074   REAL, POINTER, DIMENSION(:,:) :: XDESC_TC_WALL      ! thermal conductivity of wall layers [W m-1 K-1]
00075   REAL, POINTER, DIMENSION(:,:) :: XDESC_D_WALL       ! thickness of wall layers [m]
00076   REAL, POINTER, DIMENSION(:)   :: XDESC_QIN          ! internal heat gains [W m-2(floor)]
00077   REAL, POINTER, DIMENSION(:)   :: XDESC_QIN_FRAD     ! radiant fraction of internal heat gains
00078   REAL, POINTER, DIMENSION(:)   :: XDESC_SHGC         ! solar transmitance of windows
00079   REAL, POINTER, DIMENSION(:)   :: XDESC_U_WIN        ! glazing thermal resistance [K m W-2]
00080   REAL, POINTER, DIMENSION(:)   :: XDESC_GR           ! glazing ratio
00081   REAL, POINTER, DIMENSION(:)   :: XDESC_SHGC_SH      ! solar transmitance of windows + shading
00082   REAL, POINTER, DIMENSION(:)   :: XDESC_FLOOR_HEIGHT ! building floor height [m]
00083   REAL, POINTER, DIMENSION(:)   :: XDESC_INF          ! infiltration/ventilation flow rate [AC/H]
00084 !
00085   REAL, POINTER, DIMENSION(:)   :: XDESC_F_WATER_COND ! fraction of evaporation for condensers
00086   REAL, POINTER, DIMENSION(:)   :: XDESC_SHADE        ! Flag to activate shading devices 0->inactivated , 1->activated
00087   REAL, POINTER, DIMENSION(:)   :: XDESC_NATVENT      ! Flag to describe bld surventilation solution 0-> NONE ; 1 -> MANU ; 2-> AUTO
00088   REAL, POINTER, DIMENSION(:)   :: XDESC_QIN_FLAT     ! Latent franction of internal heat gains
00089   REAL, POINTER, DIMENSION(:)   :: XDESC_HR_TARGET    ! Relative humidity setpoint
00090   REAL, POINTER, DIMENSION(:)   :: XDESC_V_VENT       ! Ventilation flow rate [AC/H]
00091   REAL, POINTER, DIMENSION(:)   :: XDESC_COP_RAT      ! Rated COP of the cooling system
00092   REAL, POINTER, DIMENSION(:)   :: XDESC_GREENROOF    ! Greenroof fraction
00093 !
00094 END TYPE BLD_DESC_t
00095 
00096 TYPE(BLD_DESC_t), ALLOCATABLE, TARGET, SAVE :: BLD_DESC_MODEL(:)
00097 !
00098 INTEGER, POINTER :: NDESC_BLD=>NULL()
00099 !$OMP THREADPRIVATE(NDESC_BLD)
00100 INTEGER, POINTER :: NDESC_AGE=>NULL()
00101 !$OMP THREADPRIVATE(NDESC_AGE)
00102 INTEGER, POINTER :: NDESC_CODE=>NULL()
00103 !$OMP THREADPRIVATE(NDESC_CODE)
00104 INTEGER, POINTER :: NDESC_USE=>NULL()
00105 !$OMP THREADPRIVATE(NDESC_USE)
00106 INTEGER, POINTER :: NDESC_ROOF_LAYER=>NULL()
00107 !$OMP THREADPRIVATE(NDESC_ROOF_LAYER)
00108 INTEGER, POINTER :: NDESC_ROAD_LAYER=>NULL()
00109 !$OMP THREADPRIVATE(NDESC_ROAD_LAYER)
00110 INTEGER, POINTER :: NDESC_WALL_LAYER=>NULL()
00111 !$OMP THREADPRIVATE(NDESC_WALL_LAYER)
00112 INTEGER, POINTER :: NDESC_FLOOR_LAYER=>NULL()
00113 !$OMP THREADPRIVATE(NDESC_FLOOR_LAYER)
00114 INTEGER, POINTER, DIMENSION(:):: NDESC_BLD_LIST=>NULL()
00115 !$OMP THREADPRIVATE(NDESC_BLD_LIST)
00116 INTEGER, POINTER, DIMENSION(:):: NDESC_AGE_LIST=>NULL()
00117 !$OMP THREADPRIVATE(NDESC_AGE_LIST)
00118 INTEGER, POINTER, DIMENSION(:):: NDESC_CODE_LIST=>NULL()
00119 !$OMP THREADPRIVATE(NDESC_CODE_LIST)
00120 INTEGER, POINTER, DIMENSION(:):: NDESC_AGE_DATE=>NULL()
00121 !$OMP THREADPRIVATE(NDESC_AGE_DATE)
00122 INTEGER, POINTER, DIMENSION(:):: NDESC_USE_LIST=>NULL()
00123 !$OMP THREADPRIVATE(NDESC_USE_LIST)
00124 REAL, POINTER, DIMENSION(:)   :: XDESC_ALB_ROOF=>NULL()
00125 !$OMP THREADPRIVATE(XDESC_ALB_ROOF)
00126 REAL, POINTER, DIMENSION(:)   :: XDESC_ALB_ROAD=>NULL()
00127 !$OMP THREADPRIVATE(XDESC_ALB_ROAD)
00128 REAL, POINTER, DIMENSION(:)   :: XDESC_ALB_WALL=>NULL()
00129 !$OMP THREADPRIVATE(XDESC_ALB_WALL)
00130 REAL, POINTER, DIMENSION(:)   :: XDESC_EMIS_ROOF=>NULL()
00131 !$OMP THREADPRIVATE(XDESC_EMIS_ROOF)
00132 REAL, POINTER, DIMENSION(:)   :: XDESC_EMIS_ROAD=>NULL()
00133 !$OMP THREADPRIVATE(XDESC_EMIS_ROAD)
00134 REAL, POINTER, DIMENSION(:)   :: XDESC_EMIS_WALL=>NULL()
00135 !$OMP THREADPRIVATE(XDESC_EMIS_WALL)
00136 REAL, POINTER, DIMENSION(:)   :: XDESC_TCOOL_TARGET=>NULL()
00137 !$OMP THREADPRIVATE(XDESC_TCOOL_TARGET)
00138 REAL, POINTER, DIMENSION(:)   :: XDESC_THEAT_TARGET=>NULL()
00139 !$OMP THREADPRIVATE(XDESC_THEAT_TARGET)
00140 REAL, POINTER, DIMENSION(:)   :: XDESC_F_WASTE_CAN=>NULL()
00141 !$OMP THREADPRIVATE(XDESC_F_WASTE_CAN)
00142 REAL, POINTER, DIMENSION(:)   :: XDESC_EFF_HEAT=>NULL()
00143 !$OMP THREADPRIVATE(XDESC_EFF_HEAT)
00144 REAL, POINTER, DIMENSION(:,:) :: XDESC_HC_FLOOR=>NULL()
00145 !$OMP THREADPRIVATE(XDESC_HC_FLOOR)
00146 REAL, POINTER, DIMENSION(:,:) :: XDESC_TC_FLOOR=>NULL()
00147 !$OMP THREADPRIVATE(XDESC_TC_FLOOR)
00148 REAL, POINTER, DIMENSION(:,:) :: XDESC_D_FLOOR=>NULL()
00149 !$OMP THREADPRIVATE(XDESC_D_FLOOR)
00150 REAL, POINTER, DIMENSION(:,:) :: XDESC_HC_ROOF=>NULL()
00151 !$OMP THREADPRIVATE(XDESC_HC_ROOF)
00152 REAL, POINTER, DIMENSION(:,:) :: XDESC_TC_ROOF=>NULL()
00153 !$OMP THREADPRIVATE(XDESC_TC_ROOF)
00154 REAL, POINTER, DIMENSION(:,:) :: XDESC_D_ROOF=>NULL()
00155 !$OMP THREADPRIVATE(XDESC_D_ROOF)
00156 REAL, POINTER, DIMENSION(:,:) :: XDESC_HC_ROAD=>NULL()
00157 !$OMP THREADPRIVATE(XDESC_HC_ROAD)
00158 REAL, POINTER, DIMENSION(:,:) :: XDESC_TC_ROAD=>NULL()
00159 !$OMP THREADPRIVATE(XDESC_TC_ROAD)
00160 REAL, POINTER, DIMENSION(:,:) :: XDESC_D_ROAD=>NULL()
00161 !$OMP THREADPRIVATE(XDESC_D_ROAD)
00162 REAL, POINTER, DIMENSION(:,:) :: XDESC_HC_WALL=>NULL()
00163 !$OMP THREADPRIVATE(XDESC_HC_WALL)
00164 REAL, POINTER, DIMENSION(:,:) :: XDESC_TC_WALL=>NULL()
00165 !$OMP THREADPRIVATE(XDESC_TC_WALL)
00166 REAL, POINTER, DIMENSION(:,:) :: XDESC_D_WALL=>NULL()
00167 !$OMP THREADPRIVATE(XDESC_D_WALL)
00168 REAL, POINTER, DIMENSION(:)   :: XDESC_QIN=>NULL()
00169 !$OMP THREADPRIVATE(XDESC_QIN)
00170 REAL, POINTER, DIMENSION(:)   :: XDESC_QIN_FRAD=>NULL()
00171 !$OMP THREADPRIVATE(XDESC_QIN_FRAD)
00172 REAL, POINTER, DIMENSION(:)   :: XDESC_SHGC=>NULL()
00173 !$OMP THREADPRIVATE(XDESC_SHGC)
00174 REAL, POINTER, DIMENSION(:)   :: XDESC_U_WIN=>NULL()
00175 !$OMP THREADPRIVATE(XDESC_U_WIN)
00176 REAL, POINTER, DIMENSION(:)   :: XDESC_GR=>NULL()
00177 !$OMP THREADPRIVATE(XDESC_GR)
00178 REAL, POINTER, DIMENSION(:)   :: XDESC_SHGC_SH=>NULL()
00179 !$OMP THREADPRIVATE(XDESC_SHGC_SH)
00180 REAL, POINTER, DIMENSION(:)   :: XDESC_FLOOR_HEIGHT=>NULL()
00181 !$OMP THREADPRIVATE(XDESC_FLOOR_HEIGHT)
00182 REAL, POINTER, DIMENSION(:)   :: XDESC_INF=>NULL()
00183 !$OMP THREADPRIVATE(XDESC_INF)
00184 REAL, POINTER, DIMENSION(:):: XDESC_SHADE=>NULL()
00185 !$OMP THREADPRIVATE(XDESC_SHADE)
00186 REAL, POINTER, DIMENSION(:) :: XDESC_NATVENT=>NULL()
00187 !$OMP THREADPRIVATE(XDESC_NATVENT)
00188 REAL, POINTER, DIMENSION(:)   :: XDESC_F_WATER_COND=>NULL()
00189 !$OMP THREADPRIVATE(XDESC_F_WATER_COND)
00190 REAL, POINTER, DIMENSION(:)   :: XDESC_QIN_FLAT=>NULL()
00191 !$OMP THREADPRIVATE(XDESC_QIN_FLAT)
00192 REAL, POINTER, DIMENSION(:)   :: XDESC_HR_TARGET=>NULL()
00193 !$OMP THREADPRIVATE(XDESC_HR_TARGET)
00194 REAL, POINTER, DIMENSION(:)   :: XDESC_V_VENT=>NULL()
00195 !$OMP THREADPRIVATE(XDESC_V_VENT)
00196 REAL, POINTER, DIMENSION(:)   :: XDESC_COP_RAT=>NULL()
00197 !$OMP THREADPRIVATE(XDESC_COP_RAT)
00198 REAL, POINTER, DIMENSION(:)   :: XDESC_GREENROOF=>NULL()
00199 !$OMP THREADPRIVATE(XDESC_GREENROOF)
00200 !
00201 CONTAINS
00202 
00203 SUBROUTINE BLD_DESC_GOTO_MODEL(KFROM, KTO, LKFROM)
00204 INTEGER, INTENT(IN) :: KFROM, KTO
00205 LOGICAL, INTENT(IN) :: LKFROM
00206 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00207 !
00208 ! Save current state for allocated arrays
00209 !
00210 IF (LKFROM) THEN
00211 BLD_DESC_MODEL(KFROM)%NDESC_BLD_LIST=>NDESC_BLD_LIST
00212 BLD_DESC_MODEL(KFROM)%NDESC_AGE_LIST=>NDESC_AGE_LIST
00213 BLD_DESC_MODEL(KFROM)%NDESC_CODE_LIST=>NDESC_CODE_LIST
00214 BLD_DESC_MODEL(KFROM)%NDESC_AGE_DATE=>NDESC_AGE_DATE
00215 BLD_DESC_MODEL(KFROM)%NDESC_USE_LIST=>NDESC_USE_LIST
00216 BLD_DESC_MODEL(KFROM)%XDESC_ALB_ROOF=>XDESC_ALB_ROOF
00217 BLD_DESC_MODEL(KFROM)%XDESC_ALB_ROAD=>XDESC_ALB_ROAD
00218 BLD_DESC_MODEL(KFROM)%XDESC_ALB_WALL=>XDESC_ALB_WALL
00219 BLD_DESC_MODEL(KFROM)%XDESC_EMIS_ROOF=>XDESC_EMIS_ROOF
00220 BLD_DESC_MODEL(KFROM)%XDESC_EMIS_ROAD=>XDESC_EMIS_ROAD
00221 BLD_DESC_MODEL(KFROM)%XDESC_EMIS_WALL=>XDESC_EMIS_WALL
00222 BLD_DESC_MODEL(KFROM)%XDESC_TCOOL_TARGET=>XDESC_TCOOL_TARGET
00223 BLD_DESC_MODEL(KFROM)%XDESC_THEAT_TARGET=>XDESC_THEAT_TARGET
00224 BLD_DESC_MODEL(KFROM)%XDESC_F_WASTE_CAN=>XDESC_F_WASTE_CAN
00225 BLD_DESC_MODEL(KFROM)%XDESC_EFF_HEAT=>XDESC_EFF_HEAT
00226 BLD_DESC_MODEL(KFROM)%XDESC_HC_FLOOR=>XDESC_HC_FLOOR
00227 BLD_DESC_MODEL(KFROM)%XDESC_TC_FLOOR=>XDESC_TC_FLOOR
00228 BLD_DESC_MODEL(KFROM)%XDESC_D_FLOOR=>XDESC_D_FLOOR
00229 BLD_DESC_MODEL(KFROM)%XDESC_HC_ROOF=>XDESC_HC_ROOF
00230 BLD_DESC_MODEL(KFROM)%XDESC_TC_ROOF=>XDESC_TC_ROOF
00231 BLD_DESC_MODEL(KFROM)%XDESC_D_ROOF=>XDESC_D_ROOF
00232 BLD_DESC_MODEL(KFROM)%XDESC_HC_ROAD=>XDESC_HC_ROAD
00233 BLD_DESC_MODEL(KFROM)%XDESC_TC_ROAD=>XDESC_TC_ROAD
00234 BLD_DESC_MODEL(KFROM)%XDESC_D_ROAD=>XDESC_D_ROAD
00235 BLD_DESC_MODEL(KFROM)%XDESC_HC_WALL=>XDESC_HC_WALL
00236 BLD_DESC_MODEL(KFROM)%XDESC_TC_WALL=>XDESC_TC_WALL
00237 BLD_DESC_MODEL(KFROM)%XDESC_D_WALL=>XDESC_D_WALL
00238 BLD_DESC_MODEL(KFROM)%XDESC_QIN=>XDESC_QIN
00239 BLD_DESC_MODEL(KFROM)%XDESC_QIN_FRAD=>XDESC_QIN_FRAD
00240 BLD_DESC_MODEL(KFROM)%XDESC_SHGC=>XDESC_SHGC
00241 BLD_DESC_MODEL(KFROM)%XDESC_U_WIN=>XDESC_U_WIN
00242 BLD_DESC_MODEL(KFROM)%XDESC_GR=>XDESC_GR
00243 BLD_DESC_MODEL(KFROM)%XDESC_SHGC_SH=>XDESC_SHGC_SH
00244 BLD_DESC_MODEL(KFROM)%XDESC_FLOOR_HEIGHT=>XDESC_FLOOR_HEIGHT
00245 BLD_DESC_MODEL(KFROM)%XDESC_INF=>XDESC_INF
00246 !
00247 BLD_DESC_MODEL(KFROM)%XDESC_QIN_FLAT=>XDESC_QIN_FLAT
00248 BLD_DESC_MODEL(KFROM)%XDESC_HR_TARGET=>XDESC_HR_TARGET
00249 BLD_DESC_MODEL(KFROM)%XDESC_V_VENT=>XDESC_V_VENT
00250 BLD_DESC_MODEL(KFROM)%XDESC_COP_RAT=>XDESC_COP_RAT
00251 BLD_DESC_MODEL(KFROM)%XDESC_GREENROOF=>XDESC_GREENROOF
00252 BLD_DESC_MODEL(KFROM)%XDESC_F_WATER_COND=>XDESC_F_WATER_COND
00253 BLD_DESC_MODEL(KFROM)%XDESC_SHADE=>XDESC_SHADE
00254 BLD_DESC_MODEL(KFROM)%XDESC_NATVENT=>XDESC_NATVENT
00255 ENDIF
00256 !
00257 ! Current model is set to model KTO
00258 !
00259 IF (LHOOK) CALL DR_HOOK('MODD_BLD_DESCRIPTION:BLD_DESC_GOTO_MODEL',0,ZHOOK_HANDLE)
00260 NDESC_BLD=>BLD_DESC_MODEL(KTO)%NDESC_BLD
00261 NDESC_AGE=>BLD_DESC_MODEL(KTO)%NDESC_AGE
00262 NDESC_CODE=>BLD_DESC_MODEL(KTO)%NDESC_CODE
00263 NDESC_USE=>BLD_DESC_MODEL(KTO)%NDESC_USE
00264 NDESC_ROOF_LAYER=>BLD_DESC_MODEL(KTO)%NDESC_ROOF_LAYER
00265 NDESC_ROAD_LAYER=>BLD_DESC_MODEL(KTO)%NDESC_ROAD_LAYER
00266 NDESC_WALL_LAYER=>BLD_DESC_MODEL(KTO)%NDESC_WALL_LAYER
00267 NDESC_FLOOR_LAYER=>BLD_DESC_MODEL(KTO)%NDESC_FLOOR_LAYER
00268 NDESC_BLD_LIST=>BLD_DESC_MODEL(KTO)%NDESC_BLD_LIST
00269 NDESC_AGE_LIST=>BLD_DESC_MODEL(KTO)%NDESC_AGE_LIST
00270 NDESC_CODE_LIST=>BLD_DESC_MODEL(KTO)%NDESC_CODE_LIST
00271 NDESC_AGE_DATE=>BLD_DESC_MODEL(KTO)%NDESC_AGE_DATE
00272 NDESC_USE_LIST=>BLD_DESC_MODEL(KTO)%NDESC_USE_LIST
00273 XDESC_ALB_ROOF=>BLD_DESC_MODEL(KTO)%XDESC_ALB_ROOF
00274 XDESC_ALB_ROAD=>BLD_DESC_MODEL(KTO)%XDESC_ALB_ROAD
00275 XDESC_ALB_WALL=>BLD_DESC_MODEL(KTO)%XDESC_ALB_WALL
00276 XDESC_EMIS_ROOF=>BLD_DESC_MODEL(KTO)%XDESC_EMIS_ROOF
00277 XDESC_EMIS_ROAD=>BLD_DESC_MODEL(KTO)%XDESC_EMIS_ROAD
00278 XDESC_EMIS_WALL=>BLD_DESC_MODEL(KTO)%XDESC_EMIS_WALL
00279 XDESC_TCOOL_TARGET=>BLD_DESC_MODEL(KTO)%XDESC_TCOOL_TARGET
00280 XDESC_THEAT_TARGET=>BLD_DESC_MODEL(KTO)%XDESC_THEAT_TARGET
00281 XDESC_F_WASTE_CAN=>BLD_DESC_MODEL(KTO)%XDESC_F_WASTE_CAN
00282 XDESC_EFF_HEAT=>BLD_DESC_MODEL(KTO)%XDESC_EFF_HEAT
00283 XDESC_HC_FLOOR=>BLD_DESC_MODEL(KTO)%XDESC_HC_FLOOR
00284 XDESC_TC_FLOOR=>BLD_DESC_MODEL(KTO)%XDESC_TC_FLOOR
00285 XDESC_D_FLOOR=>BLD_DESC_MODEL(KTO)%XDESC_D_FLOOR
00286 XDESC_HC_ROOF=>BLD_DESC_MODEL(KTO)%XDESC_HC_ROOF
00287 XDESC_TC_ROOF=>BLD_DESC_MODEL(KTO)%XDESC_TC_ROOF
00288 XDESC_D_ROOF=>BLD_DESC_MODEL(KTO)%XDESC_D_ROOF
00289 XDESC_HC_ROAD=>BLD_DESC_MODEL(KTO)%XDESC_HC_ROAD
00290 XDESC_TC_ROAD=>BLD_DESC_MODEL(KTO)%XDESC_TC_ROAD
00291 XDESC_D_ROAD=>BLD_DESC_MODEL(KTO)%XDESC_D_ROAD
00292 XDESC_HC_WALL=>BLD_DESC_MODEL(KTO)%XDESC_HC_WALL
00293 XDESC_TC_WALL=>BLD_DESC_MODEL(KTO)%XDESC_TC_WALL
00294 XDESC_D_WALL=>BLD_DESC_MODEL(KTO)%XDESC_D_WALL
00295 XDESC_QIN=>BLD_DESC_MODEL(KTO)%XDESC_QIN
00296 XDESC_QIN_FRAD=>BLD_DESC_MODEL(KTO)%XDESC_QIN_FRAD
00297 XDESC_SHGC=>BLD_DESC_MODEL(KTO)%XDESC_SHGC
00298 XDESC_U_WIN=>BLD_DESC_MODEL(KTO)%XDESC_U_WIN
00299 XDESC_GR=>BLD_DESC_MODEL(KTO)%XDESC_GR
00300 XDESC_SHGC_SH=>BLD_DESC_MODEL(KTO)%XDESC_SHGC_SH
00301 XDESC_FLOOR_HEIGHT=>BLD_DESC_MODEL(KTO)%XDESC_FLOOR_HEIGHT
00302 XDESC_INF=>BLD_DESC_MODEL(KTO)%XDESC_INF
00303 XDESC_SHADE=>BLD_DESC_MODEL(KTO)%XDESC_SHADE
00304 XDESC_NATVENT=>BLD_DESC_MODEL(KTO)%XDESC_NATVENT
00305 XDESC_F_WATER_COND=>BLD_DESC_MODEL(KTO)%XDESC_F_WATER_COND
00306 XDESC_QIN_FLAT=>BLD_DESC_MODEL(KTO)%XDESC_QIN_FLAT
00307 XDESC_HR_TARGET=>BLD_DESC_MODEL(KTO)%XDESC_HR_TARGET
00308 XDESC_V_VENT=>BLD_DESC_MODEL(KTO)%XDESC_V_VENT
00309 XDESC_COP_RAT=>BLD_DESC_MODEL(KTO)%XDESC_COP_RAT
00310 XDESC_GREENROOF=>BLD_DESC_MODEL(KTO)%XDESC_GREENROOF
00311 IF (LHOOK) CALL DR_HOOK('MODD_BLD_DESCRIPTION:BLD_DESC_GOTO_MODEL',1,ZHOOK_HANDLE)
00312 !
00313 END SUBROUTINE BLD_DESC_GOTO_MODEL
00314 !
00315 SUBROUTINE BLD_DESC_ALLOC(KMODEL)
00316 INTEGER, INTENT(IN) :: KMODEL
00317 INTEGER :: J
00318 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00319 IF (LHOOK) CALL DR_HOOK("MODD_BLD_DESCRIPTION:BLD_DESC_ALLOC",0,ZHOOK_HANDLE)
00320 ALLOCATE(BLD_DESC_MODEL(KMODEL))
00321 DO J=1,KMODEL
00322   NULLIFY(BLD_DESC_MODEL(J)%NDESC_BLD_LIST)
00323   NULLIFY(BLD_DESC_MODEL(J)%NDESC_CODE_LIST)
00324   NULLIFY(BLD_DESC_MODEL(J)%NDESC_AGE_LIST)
00325   NULLIFY(BLD_DESC_MODEL(J)%NDESC_AGE_DATE)
00326   NULLIFY(BLD_DESC_MODEL(J)%NDESC_USE_LIST)
00327   NULLIFY(BLD_DESC_MODEL(J)%XDESC_ALB_ROOF)
00328   NULLIFY(BLD_DESC_MODEL(J)%XDESC_ALB_ROAD)
00329   NULLIFY(BLD_DESC_MODEL(J)%XDESC_ALB_WALL)
00330   NULLIFY(BLD_DESC_MODEL(J)%XDESC_EMIS_ROOF)
00331   NULLIFY(BLD_DESC_MODEL(J)%XDESC_EMIS_ROAD)
00332   NULLIFY(BLD_DESC_MODEL(J)%XDESC_EMIS_WALL)
00333   NULLIFY(BLD_DESC_MODEL(J)%XDESC_TCOOL_TARGET)
00334   NULLIFY(BLD_DESC_MODEL(J)%XDESC_THEAT_TARGET)
00335   NULLIFY(BLD_DESC_MODEL(J)%XDESC_F_WASTE_CAN)  
00336   NULLIFY(BLD_DESC_MODEL(J)%XDESC_EFF_HEAT)
00337   NULLIFY(BLD_DESC_MODEL(J)%XDESC_HC_FLOOR)
00338   NULLIFY(BLD_DESC_MODEL(J)%XDESC_TC_FLOOR)
00339   NULLIFY(BLD_DESC_MODEL(J)%XDESC_D_FLOOR)
00340   NULLIFY(BLD_DESC_MODEL(J)%XDESC_HC_ROOF)
00341   NULLIFY(BLD_DESC_MODEL(J)%XDESC_TC_ROOF)
00342   NULLIFY(BLD_DESC_MODEL(J)%XDESC_D_ROOF)
00343   NULLIFY(BLD_DESC_MODEL(J)%XDESC_HC_ROAD)
00344   NULLIFY(BLD_DESC_MODEL(J)%XDESC_TC_ROAD)
00345   NULLIFY(BLD_DESC_MODEL(J)%XDESC_D_ROAD)
00346   NULLIFY(BLD_DESC_MODEL(J)%XDESC_HC_WALL)
00347   NULLIFY(BLD_DESC_MODEL(J)%XDESC_TC_WALL)
00348   NULLIFY(BLD_DESC_MODEL(J)%XDESC_D_WALL)
00349   NULLIFY(BLD_DESC_MODEL(J)%XDESC_QIN)
00350   NULLIFY(BLD_DESC_MODEL(J)%XDESC_QIN_FRAD)
00351   NULLIFY(BLD_DESC_MODEL(J)%XDESC_SHGC) 
00352   NULLIFY(BLD_DESC_MODEL(J)%XDESC_U_WIN)
00353   NULLIFY(BLD_DESC_MODEL(J)%XDESC_GR)
00354   NULLIFY(BLD_DESC_MODEL(J)%XDESC_FLOOR_HEIGHT)
00355   NULLIFY(BLD_DESC_MODEL(J)%XDESC_INF)
00356   NULLIFY(BLD_DESC_MODEL(J)%XDESC_F_WATER_COND)
00357   NULLIFY(BLD_DESC_MODEL(J)%XDESC_QIN_FLAT)
00358   NULLIFY(BLD_DESC_MODEL(J)%XDESC_HR_TARGET)
00359   NULLIFY(BLD_DESC_MODEL(J)%XDESC_V_VENT)
00360   NULLIFY(BLD_DESC_MODEL(J)%XDESC_COP_RAT)
00361   NULLIFY(BLD_DESC_MODEL(J)%XDESC_GREENROOF)
00362   NULLIFY(BLD_DESC_MODEL(J)%XDESC_SHADE)
00363   NULLIFY(BLD_DESC_MODEL(J)%XDESC_NATVENT)
00364 ENDDO
00365 BLD_DESC_MODEL(:)%NDESC_BLD=0
00366 BLD_DESC_MODEL(:)%NDESC_AGE=0
00367 BLD_DESC_MODEL(:)%NDESC_CODE=0
00368 BLD_DESC_MODEL(:)%NDESC_USE=0
00369 BLD_DESC_MODEL(:)%NDESC_ROOF_LAYER=0
00370 BLD_DESC_MODEL(:)%NDESC_ROAD_LAYER=0
00371 BLD_DESC_MODEL(:)%NDESC_WALL_LAYER=0
00372 BLD_DESC_MODEL(:)%NDESC_FLOOR_LAYER=0
00373 IF (LHOOK) CALL DR_HOOK("MODD_BLD_DESCRIPTION:BLD_DESC_ALLOC",1,ZHOOK_HANDLE)
00374 END SUBROUTINE BLD_DESC_ALLOC
00375 !
00376 SUBROUTINE BLD_DESC_DEALLO
00377 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00378 IF (LHOOK) CALL DR_HOOK("MODD_BLD_DESCRIPTION:BLD_DESC_DEALLO",0,ZHOOK_HANDLE)
00379 IF (ALLOCATED(BLD_DESC_MODEL)) DEALLOCATE(BLD_DESC_MODEL)
00380 IF (LHOOK) CALL DR_HOOK("MODD_BLD_DESCRIPTION:BLD_DESC_DEALLO",1,ZHOOK_HANDLE)
00381 END SUBROUTINE BLD_DESC_DEALLO
00382 !
00383 END MODULE MODD_BLD_DESCRIPTION