SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/modd_data_bemn.F90
Go to the documentation of this file.
00001 !     ################
00002       MODULE MODD_DATA_BEM_n
00003 !     ################
00004 !
00005 !!****  *MODD_DATA_BEM_n - declaration of surface parameters for BEM
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 !!      G. Pigeon   *Meteo France*
00022 !!
00023 !!    MODIFICATIONS
00024 !!    -------------
00025 !!      Original       08/2011
00026 !
00027 !*       0.   DECLARATIONS
00028 !             ------------
00029 !
00030 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00031 USE PARKIND1  ,ONLY : JPRB
00032 !
00033 IMPLICIT NONE
00034 
00035 TYPE DATA_BEM_t
00036   !
00037   LOGICAL :: LDATA_TCOOL_TARGET 
00038   LOGICAL :: LDATA_THEAT_TARGET 
00039   LOGICAL :: LDATA_F_WASTE_CAN   
00040   LOGICAL :: LDATA_EFF_HEAT   
00041   LOGICAL :: LDATA_HC_FLOOR     
00042   LOGICAL :: LDATA_TC_FLOOR     
00043   LOGICAL :: LDATA_D_FLOOR 
00044   LOGICAL :: LDATA_QIN          
00045   LOGICAL :: LDATA_QIN_FRAD     
00046   LOGICAL :: LDATA_SHGC         
00047   LOGICAL :: LDATA_U_WIN        
00048   LOGICAL :: LDATA_GR           
00049   LOGICAL :: LDATA_SHGC_SH
00050   LOGICAL :: LDATA_FLOOR_HEIGHT 
00051   LOGICAL :: LDATA_INF  
00052   LOGICAL :: LDATA_F_WATER_COND  
00053   LOGICAL :: LDATA_SHADE
00054   LOGICAL :: LDATA_NATVENT
00055   LOGICAL :: LDATA_QIN_FLAT     
00056   LOGICAL :: LDATA_HR_TARGET    
00057   LOGICAL :: LDATA_V_VENT   
00058   LOGICAL :: LDATA_CAP_SYS_HEAT 
00059   LOGICAL :: LDATA_CAP_SYS_RAT  
00060   LOGICAL :: LDATA_T_ADP        
00061   LOGICAL :: LDATA_M_SYS_RAT    
00062   LOGICAL :: LDATA_COP_RAT      
00063   LOGICAL :: LDATA_T_SIZE_MAX    
00064   LOGICAL :: LDATA_T_SIZE_MIN  
00065 !
00066 ! Number of layers in the specification of thermal characteristics
00067 !
00068   INTEGER                    :: NPAR_FLOOR_LAYER   ! number of layers in roofs
00069 !
00070 !
00071 ! Parameters:
00072 !
00073   REAL, POINTER, DIMENSION(:)   :: XPAR_TCOOL_TARGET ! cooling setpoint of indoor air
00074   REAL, POINTER, DIMENSION(:)   :: XPAR_THEAT_TARGET ! heating setpoint of indoor air
00075   REAL, POINTER, DIMENSION(:)   :: XPAR_F_WASTE_CAN  ! fraction of waste heat into the canyon
00076   REAL, POINTER, DIMENSION(:)   :: XPAR_EFF_HEAT     ! efficiency of the heating system
00077   REAL, POINTER, DIMENSION(:,:) :: XPAR_HC_FLOOR     ! heat capacity of floor layers [J m-3 K-1]
00078   REAL, POINTER, DIMENSION(:,:) :: XPAR_TC_FLOOR     ! thermal conductivity of floor layers [W m-1 K-1]
00079   REAL, POINTER, DIMENSION(:,:) :: XPAR_D_FLOOR      ! thickness of floor layers [m]
00080   REAL, POINTER, DIMENSION(:)   :: XPAR_QIN          ! internal heat gains [W m-2(floor)]
00081   REAL, POINTER, DIMENSION(:)   :: XPAR_QIN_FRAD     ! radiant fraction of internal heat gains
00082   REAL, POINTER, DIMENSION(:)   :: XPAR_SHGC         ! solar transmitance of windows
00083   REAL, POINTER, DIMENSION(:)   :: XPAR_U_WIN        ! glazing thermal resistance [K m W-2]
00084   REAL, POINTER, DIMENSION(:)   :: XPAR_GR           ! glazing ratio
00085   REAL, POINTER, DIMENSION(:)   :: XPAR_SHGC_SH      ! solar transmitance of windows + shading
00086   REAL, POINTER, DIMENSION(:)   :: XPAR_FLOOR_HEIGHT ! building floor height [m]
00087   REAL, POINTER, DIMENSION(:)   :: XPAR_INF          ! infiltration/ventilation flow rate [AC/H]
00088 !
00089   REAL, POINTER, DIMENSION(:)   :: XPAR_F_WATER_COND ! fraction of evaporation for condensers
00090   REAL, POINTER, DIMENSION(:)   :: XPAR_SHADE        ! Flag to activate shading devices 0->inactivated , 1->activated
00091   REAL, POINTER, DIMENSION(:)   :: XPAR_NATVENT      ! Flag to describe bld surventilation solution 0-> NONE ; 1 -> MANU ; 2-> AUTO
00092   REAL, POINTER, DIMENSION(:)   :: XPAR_QIN_FLAT     ! Latent franction of internal heat gains
00093   REAL, POINTER, DIMENSION(:)   :: XPAR_HR_TARGET    ! Relative humidity setpoint
00094   REAL, POINTER, DIMENSION(:)   :: XPAR_V_VENT       ! Ventilation flow rate [AC/H]
00095   REAL, POINTER, DIMENSION(:)   :: XPAR_CAP_SYS_HEAT ! Capacity of the heating system 
00096                                                      ! [W m-2(bld)]
00097   REAL, POINTER, DIMENSION(:)   :: XPAR_CAP_SYS_RAT  ! Rated capacity of the cooling system
00098                                                      ! [W m-2(bld)]
00099   REAL, POINTER, DIMENSION(:)   :: XPAR_T_ADP        ! Apparatus dewpoint temperature of the
00100                                                      ! cooling coil [K]
00101   REAL, POINTER, DIMENSION(:)   :: XPAR_M_SYS_RAT    ! Rated HVAC mass flow rate 
00102                                                      ! [kg s-1 m-2(bld)]
00103   REAL, POINTER, DIMENSION(:)   :: XPAR_COP_RAT      ! Rated COP of the cooling system
00104   REAL, POINTER, DIMENSION(:)   :: XPAR_T_SIZE_MAX   ! 
00105   REAL, POINTER, DIMENSION(:)   :: XPAR_T_SIZE_MIN   ! 
00106 !
00107 END TYPE DATA_BEM_t
00108 
00109 TYPE(DATA_BEM_t), ALLOCATABLE, TARGET, SAVE :: DATA_BEM_MODEL(:)
00110 !
00111 LOGICAL, POINTER :: LDATA_TCOOL_TARGET=>NULL()
00112 !$OMP THREADPRIVATE(LDATA_TCOOL_TARGET)
00113 LOGICAL, POINTER :: LDATA_THEAT_TARGET=>NULL()
00114 !$OMP THREADPRIVATE(LDATA_THEAT_TARGET)
00115 LOGICAL, POINTER :: LDATA_F_WASTE_CAN=>NULL()   
00116 !$OMP THREADPRIVATE(LDATA_F_WASTE_CAN)
00117 LOGICAL, POINTER :: LDATA_EFF_HEAT=>NULL()   
00118 !$OMP THREADPRIVATE(LDATA_EFF_HEAT)
00119 LOGICAL, POINTER :: LDATA_HC_FLOOR=>NULL()     
00120 !$OMP THREADPRIVATE(LDATA_HC_FLOOR)
00121 LOGICAL, POINTER :: LDATA_TC_FLOOR=>NULL()     
00122 !$OMP THREADPRIVATE(LDATA_TC_FLOOR)
00123 LOGICAL, POINTER :: LDATA_D_FLOOR=>NULL() 
00124 !$OMP THREADPRIVATE(LDATA_D_FLOOR)
00125 LOGICAL, POINTER :: LDATA_QIN=>NULL()       
00126 !$OMP THREADPRIVATE(LDATA_QIN)
00127 LOGICAL, POINTER :: LDATA_QIN_FRAD=>NULL()   
00128 !$OMP THREADPRIVATE(LDATA_QIN_FRAD)
00129 LOGICAL, POINTER :: LDATA_SHGC=>NULL()       
00130 !$OMP THREADPRIVATE(LDATA_SHGC)
00131 LOGICAL, POINTER :: LDATA_U_WIN=>NULL()      
00132 !$OMP THREADPRIVATE(LDATA_U_WIN)
00133 LOGICAL, POINTER :: LDATA_GR=>NULL()          
00134 !$OMP THREADPRIVATE(LDATA_GR)
00135 LOGICAL, POINTER :: LDATA_SHGC_SH=>NULL()
00136 !$OMP THREADPRIVATE(LDATA_SHGC_SH)
00137 LOGICAL, POINTER :: LDATA_FLOOR_HEIGHT=>NULL() 
00138 !$OMP THREADPRIVATE(LDATA_FLOOR_HEIGHT)
00139 LOGICAL, POINTER :: LDATA_INF=>NULL()  
00140 !$OMP THREADPRIVATE(LDATA_INF)
00141 LOGICAL, POINTER :: LDATA_F_WATER_COND=>NULL()  
00142 !$OMP THREADPRIVATE(LDATA_F_WATER_COND)
00143 LOGICAL, POINTER :: LDATA_SHADE=>NULL()
00144 !$OMP THREADPRIVATE(LDATA_SHADE)
00145 LOGICAL, POINTER :: LDATA_NATVENT=>NULL()
00146 !$OMP THREADPRIVATE(LDATA_NATVENT)
00147 LOGICAL, POINTER :: LDATA_QIN_FLAT=>NULL()     
00148 !$OMP THREADPRIVATE(LDATA_QIN_FLAT)
00149 LOGICAL, POINTER :: LDATA_HR_TARGET=>NULL()    
00150 !$OMP THREADPRIVATE(LDATA_HR_TARGET)
00151 LOGICAL, POINTER :: LDATA_V_VENT=>NULL()   
00152 !$OMP THREADPRIVATE(LDATA_V_VENT)
00153 LOGICAL, POINTER :: LDATA_CAP_SYS_HEAT=>NULL() 
00154 !$OMP THREADPRIVATE(LDATA_CAP_SYS_HEAT)
00155 LOGICAL, POINTER :: LDATA_CAP_SYS_RAT=>NULL()  
00156 !$OMP THREADPRIVATE(LDATA_CAP_SYS_RAT)
00157 LOGICAL, POINTER :: LDATA_T_ADP=>NULL()        
00158 !$OMP THREADPRIVATE(LDATA_T_ADP)
00159 LOGICAL, POINTER :: LDATA_M_SYS_RAT=>NULL()    
00160 !$OMP THREADPRIVATE(LDATA_M_SYS_RAT)
00161 LOGICAL, POINTER :: LDATA_COP_RAT=>NULL()      
00162 !$OMP THREADPRIVATE(LDATA_COP_RAT)
00163 LOGICAL, POINTER :: LDATA_T_SIZE_MAX=>NULL()    
00164 !$OMP THREADPRIVATE(LDATA_T_SIZE_MAX)
00165 LOGICAL, POINTER :: LDATA_T_SIZE_MIN=>NULL()  
00166 !$OMP THREADPRIVATE(LDATA_T_SIZE_MIN)
00167 INTEGER, POINTER :: NPAR_FLOOR_LAYER=>NULL()
00168 !$OMP THREADPRIVATE(NPAR_FLOOR_LAYER)
00169 REAL, POINTER, DIMENSION(:)   :: XPAR_TCOOL_TARGET=>NULL()
00170 !$OMP THREADPRIVATE(XPAR_TCOOL_TARGET)
00171 REAL, POINTER, DIMENSION(:)   :: XPAR_THEAT_TARGET=>NULL()
00172 !$OMP THREADPRIVATE(XPAR_THEAT_TARGET)
00173 REAL, POINTER, DIMENSION(:)   :: XPAR_F_WASTE_CAN=>NULL()
00174 !$OMP THREADPRIVATE(XPAR_F_WASTE_CAN)
00175 REAL, POINTER, DIMENSION(:)   :: XPAR_EFF_HEAT=>NULL()
00176 !$OMP THREADPRIVATE(XPAR_EFF_HEAT)
00177 REAL, POINTER, DIMENSION(:,:) :: XPAR_HC_FLOOR=>NULL()
00178 !$OMP THREADPRIVATE(XPAR_HC_FLOOR)
00179 REAL, POINTER, DIMENSION(:,:) :: XPAR_TC_FLOOR=>NULL()
00180 !$OMP THREADPRIVATE(XPAR_TC_FLOOR)
00181 REAL, POINTER, DIMENSION(:,:) :: XPAR_D_FLOOR=>NULL()
00182 !$OMP THREADPRIVATE(XPAR_D_FLOOR)
00183 REAL, POINTER, DIMENSION(:)   :: XPAR_QIN=>NULL()
00184 !$OMP THREADPRIVATE(XPAR_QIN)
00185 REAL, POINTER, DIMENSION(:)   :: XPAR_QIN_FRAD=>NULL()
00186 !$OMP THREADPRIVATE(XPAR_QIN_FRAD)
00187 REAL, POINTER, DIMENSION(:)   :: XPAR_SHGC=>NULL()
00188 !$OMP THREADPRIVATE(XPAR_SHGC)
00189 REAL, POINTER, DIMENSION(:)   :: XPAR_U_WIN=>NULL()
00190 !$OMP THREADPRIVATE(XPAR_U_WIN)
00191 REAL, POINTER, DIMENSION(:)   :: XPAR_GR=>NULL()
00192 !$OMP THREADPRIVATE(XPAR_GR)
00193 REAL, POINTER, DIMENSION(:)   :: XPAR_SHGC_SH=>NULL()
00194 !$OMP THREADPRIVATE(XPAR_SHGC_SH)
00195 REAL, POINTER, DIMENSION(:)   :: XPAR_FLOOR_HEIGHT=>NULL()
00196 !$OMP THREADPRIVATE(XPAR_FLOOR_HEIGHT)
00197 REAL, POINTER, DIMENSION(:)   :: XPAR_INF=>NULL()
00198 !$OMP THREADPRIVATE(XPAR_INF)
00199 REAL, POINTER, DIMENSION(:):: XPAR_SHADE=>NULL()
00200 !$OMP THREADPRIVATE(XPAR_SHADE)
00201 REAL, POINTER, DIMENSION(:) :: XPAR_NATVENT=>NULL()
00202 !$OMP THREADPRIVATE(XPAR_NATVENT)
00203 REAL, POINTER, DIMENSION(:)   :: XPAR_F_WATER_COND=>NULL()
00204 !$OMP THREADPRIVATE(XPAR_F_WATER_COND)
00205 REAL, POINTER, DIMENSION(:)   :: XPAR_QIN_FLAT=>NULL()
00206 !$OMP THREADPRIVATE(XPAR_QIN_FLAT)
00207 REAL, POINTER, DIMENSION(:)   :: XPAR_HR_TARGET=>NULL()
00208 !$OMP THREADPRIVATE(XPAR_HR_TARGET)
00209 REAL, POINTER, DIMENSION(:)   :: XPAR_V_VENT=>NULL()
00210 !$OMP THREADPRIVATE(XPAR_V_VENT)
00211 REAL, POINTER, DIMENSION(:)   :: XPAR_CAP_SYS_HEAT=>NULL()
00212 !$OMP THREADPRIVATE(XPAR_CAP_SYS_HEAT)
00213 REAL, POINTER, DIMENSION(:)   :: XPAR_CAP_SYS_RAT=>NULL()
00214 !$OMP THREADPRIVATE(XPAR_CAP_SYS_RAT)
00215 REAL, POINTER, DIMENSION(:)   :: XPAR_T_ADP=>NULL()
00216 !$OMP THREADPRIVATE(XPAR_T_ADP)
00217 REAL, POINTER, DIMENSION(:)   :: XPAR_M_SYS_RAT=>NULL()
00218 !$OMP THREADPRIVATE(XPAR_M_SYS_RAT)
00219 REAL, POINTER, DIMENSION(:)   :: XPAR_COP_RAT=>NULL()
00220 !$OMP THREADPRIVATE(XPAR_COP_RAT)
00221 REAL, POINTER, DIMENSION(:)   :: XPAR_T_SIZE_MAX=>NULL()
00222 !$OMP THREADPRIVATE(XPAR_T_SIZE_MAX)
00223 REAL, POINTER, DIMENSION(:)   :: XPAR_T_SIZE_MIN=>NULL()
00224 !$OMP THREADPRIVATE(XPAR_T_SIZE_MIN)
00225 !
00226 CONTAINS
00227 
00228 SUBROUTINE DATA_BEM_GOTO_MODEL(KFROM, KTO, LKFROM)
00229 INTEGER, INTENT(IN) :: KFROM, KTO
00230 LOGICAL, INTENT(IN) :: LKFROM
00231 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00232 !
00233 ! Save current state for allocated arrays
00234 !
00235 IF (LKFROM) THEN
00236 DATA_BEM_MODEL(KFROM)%XPAR_TCOOL_TARGET=>XPAR_TCOOL_TARGET
00237 DATA_BEM_MODEL(KFROM)%XPAR_THEAT_TARGET=>XPAR_THEAT_TARGET
00238 DATA_BEM_MODEL(KFROM)%XPAR_F_WASTE_CAN=>XPAR_F_WASTE_CAN
00239 DATA_BEM_MODEL(KFROM)%XPAR_EFF_HEAT=>XPAR_EFF_HEAT
00240 DATA_BEM_MODEL(KFROM)%XPAR_HC_FLOOR=>XPAR_HC_FLOOR
00241 DATA_BEM_MODEL(KFROM)%XPAR_TC_FLOOR=>XPAR_TC_FLOOR
00242 DATA_BEM_MODEL(KFROM)%XPAR_D_FLOOR=>XPAR_D_FLOOR
00243 DATA_BEM_MODEL(KFROM)%XPAR_QIN=>XPAR_QIN
00244 DATA_BEM_MODEL(KFROM)%XPAR_QIN_FRAD=>XPAR_QIN_FRAD
00245 DATA_BEM_MODEL(KFROM)%XPAR_SHGC=>XPAR_SHGC
00246 DATA_BEM_MODEL(KFROM)%XPAR_U_WIN=>XPAR_U_WIN
00247 DATA_BEM_MODEL(KFROM)%XPAR_GR=>XPAR_GR
00248 DATA_BEM_MODEL(KFROM)%XPAR_SHGC_SH=>XPAR_SHGC_SH
00249 DATA_BEM_MODEL(KFROM)%XPAR_FLOOR_HEIGHT=>XPAR_FLOOR_HEIGHT
00250 DATA_BEM_MODEL(KFROM)%XPAR_INF=>XPAR_INF
00251 !
00252 DATA_BEM_MODEL(KFROM)%XPAR_QIN_FLAT=>XPAR_QIN_FLAT
00253 DATA_BEM_MODEL(KFROM)%XPAR_HR_TARGET=>XPAR_HR_TARGET
00254 DATA_BEM_MODEL(KFROM)%XPAR_V_VENT=>XPAR_V_VENT
00255 DATA_BEM_MODEL(KFROM)%XPAR_CAP_SYS_HEAT=>XPAR_CAP_SYS_HEAT
00256 DATA_BEM_MODEL(KFROM)%XPAR_CAP_SYS_RAT=>XPAR_CAP_SYS_RAT
00257 DATA_BEM_MODEL(KFROM)%XPAR_T_ADP=>XPAR_T_ADP
00258 DATA_BEM_MODEL(KFROM)%XPAR_M_SYS_RAT=>XPAR_M_SYS_RAT
00259 DATA_BEM_MODEL(KFROM)%XPAR_COP_RAT=>XPAR_COP_RAT
00260 DATA_BEM_MODEL(KFROM)%XPAR_T_SIZE_MAX=>XPAR_T_SIZE_MAX
00261 DATA_BEM_MODEL(KFROM)%XPAR_T_SIZE_MIN=>XPAR_T_SIZE_MIN
00262 DATA_BEM_MODEL(KFROM)%XPAR_F_WATER_COND=>XPAR_F_WATER_COND
00263 DATA_BEM_MODEL(KFROM)%XPAR_SHADE=>XPAR_SHADE
00264 DATA_BEM_MODEL(KFROM)%XPAR_NATVENT=>XPAR_NATVENT
00265 ENDIF
00266 !
00267 ! Current model is set to model KTO
00268 !
00269 IF (LHOOK) CALL DR_HOOK('MODD_DATA_BEM_N:DATA_BEM_GOTO_MODEL',0,ZHOOK_HANDLE)
00270 LDATA_TCOOL_TARGET=>DATA_BEM_MODEL(KTO)%LDATA_TCOOL_TARGET
00271 LDATA_THEAT_TARGET=>DATA_BEM_MODEL(KTO)%LDATA_THEAT_TARGET
00272 LDATA_F_WASTE_CAN=>DATA_BEM_MODEL(KTO)%LDATA_F_WASTE_CAN
00273 LDATA_EFF_HEAT=>DATA_BEM_MODEL(KTO)%LDATA_EFF_HEAT
00274 LDATA_HC_FLOOR=>DATA_BEM_MODEL(KTO)%LDATA_HC_FLOOR
00275 LDATA_TC_FLOOR=>DATA_BEM_MODEL(KTO)%LDATA_TC_FLOOR
00276 LDATA_D_FLOOR=>DATA_BEM_MODEL(KTO)%LDATA_D_FLOOR
00277 LDATA_QIN=>DATA_BEM_MODEL(KTO)%LDATA_QIN
00278 LDATA_QIN_FRAD=>DATA_BEM_MODEL(KTO)%LDATA_QIN_FRAD
00279 LDATA_SHGC=>DATA_BEM_MODEL(KTO)%LDATA_SHGC
00280 LDATA_U_WIN=>DATA_BEM_MODEL(KTO)%LDATA_U_WIN
00281 LDATA_GR=>DATA_BEM_MODEL(KTO)%LDATA_GR
00282 LDATA_SHGC_SH=>DATA_BEM_MODEL(KTO)%LDATA_SHGC_SH
00283 LDATA_FLOOR_HEIGHT=>DATA_BEM_MODEL(KTO)%LDATA_FLOOR_HEIGHT
00284 LDATA_INF=>DATA_BEM_MODEL(KTO)%LDATA_INF
00285 LDATA_F_WATER_COND=>DATA_BEM_MODEL(KTO)%LDATA_F_WATER_COND
00286 LDATA_SHADE=>DATA_BEM_MODEL(KTO)%LDATA_SHADE
00287 LDATA_NATVENT=>DATA_BEM_MODEL(KTO)%LDATA_NATVENT
00288 LDATA_QIN_FLAT=>DATA_BEM_MODEL(KTO)%LDATA_QIN_FLAT
00289 LDATA_HR_TARGET=>DATA_BEM_MODEL(KTO)%LDATA_HR_TARGET
00290 LDATA_V_VENT=>DATA_BEM_MODEL(KTO)%LDATA_V_VENT
00291 LDATA_CAP_SYS_HEAT=>DATA_BEM_MODEL(KTO)%LDATA_CAP_SYS_HEAT
00292 LDATA_CAP_SYS_RAT=>DATA_BEM_MODEL(KTO)%LDATA_CAP_SYS_RAT
00293 LDATA_T_ADP=>DATA_BEM_MODEL(KTO)%LDATA_T_ADP
00294 LDATA_M_SYS_RAT=>DATA_BEM_MODEL(KTO)%LDATA_M_SYS_RAT
00295 LDATA_COP_RAT=>DATA_BEM_MODEL(KTO)%LDATA_COP_RAT
00296 LDATA_T_SIZE_MAX=>DATA_BEM_MODEL(KTO)%LDATA_T_SIZE_MAX
00297 LDATA_T_SIZE_MIN=>DATA_BEM_MODEL(KTO)%LDATA_T_SIZE_MIN
00298 NPAR_FLOOR_LAYER=>DATA_BEM_MODEL(KTO)%NPAR_FLOOR_LAYER
00299 XPAR_TCOOL_TARGET=>DATA_BEM_MODEL(KTO)%XPAR_TCOOL_TARGET
00300 XPAR_THEAT_TARGET=>DATA_BEM_MODEL(KTO)%XPAR_THEAT_TARGET
00301 XPAR_F_WASTE_CAN=>DATA_BEM_MODEL(KTO)%XPAR_F_WASTE_CAN
00302 XPAR_EFF_HEAT=>DATA_BEM_MODEL(KTO)%XPAR_EFF_HEAT
00303 XPAR_HC_FLOOR=>DATA_BEM_MODEL(KTO)%XPAR_HC_FLOOR
00304 XPAR_TC_FLOOR=>DATA_BEM_MODEL(KTO)%XPAR_TC_FLOOR
00305 XPAR_D_FLOOR=>DATA_BEM_MODEL(KTO)%XPAR_D_FLOOR
00306 XPAR_QIN=>DATA_BEM_MODEL(KTO)%XPAR_QIN
00307 XPAR_QIN_FRAD=>DATA_BEM_MODEL(KTO)%XPAR_QIN_FRAD
00308 XPAR_SHGC=>DATA_BEM_MODEL(KTO)%XPAR_SHGC
00309 XPAR_U_WIN=>DATA_BEM_MODEL(KTO)%XPAR_U_WIN
00310 XPAR_GR=>DATA_BEM_MODEL(KTO)%XPAR_GR
00311 XPAR_SHGC_SH=>DATA_BEM_MODEL(KTO)%XPAR_SHGC_SH
00312 XPAR_FLOOR_HEIGHT=>DATA_BEM_MODEL(KTO)%XPAR_FLOOR_HEIGHT
00313 XPAR_INF=>DATA_BEM_MODEL(KTO)%XPAR_INF
00314 XPAR_SHADE=>DATA_BEM_MODEL(KTO)%XPAR_SHADE
00315 XPAR_NATVENT=>DATA_BEM_MODEL(KTO)%XPAR_NATVENT
00316 XPAR_F_WATER_COND=>DATA_BEM_MODEL(KTO)%XPAR_F_WATER_COND
00317 XPAR_QIN_FLAT=>DATA_BEM_MODEL(KTO)%XPAR_QIN_FLAT
00318 XPAR_HR_TARGET=>DATA_BEM_MODEL(KTO)%XPAR_HR_TARGET
00319 XPAR_V_VENT=>DATA_BEM_MODEL(KTO)%XPAR_V_VENT
00320 XPAR_CAP_SYS_HEAT=>DATA_BEM_MODEL(KTO)%XPAR_CAP_SYS_HEAT
00321 XPAR_CAP_SYS_RAT=>DATA_BEM_MODEL(KTO)%XPAR_CAP_SYS_RAT
00322 XPAR_T_ADP=>DATA_BEM_MODEL(KTO)%XPAR_T_ADP
00323 XPAR_M_SYS_RAT=>DATA_BEM_MODEL(KTO)%XPAR_M_SYS_RAT
00324 XPAR_COP_RAT=>DATA_BEM_MODEL(KTO)%XPAR_COP_RAT
00325 XPAR_T_SIZE_MAX=>DATA_BEM_MODEL(KTO)%XPAR_T_SIZE_MAX
00326 XPAR_T_SIZE_MIN=>DATA_BEM_MODEL(KTO)%XPAR_T_SIZE_MIN
00327 IF (LHOOK) CALL DR_HOOK('MODD_DATA_BEM_N:DATA_BEM_GOTO_MODEL',1,ZHOOK_HANDLE)
00328 !
00329 END SUBROUTINE DATA_BEM_GOTO_MODEL
00330 !
00331 SUBROUTINE DATA_BEM_ALLOC(KMODEL)
00332 INTEGER, INTENT(IN) :: KMODEL
00333 INTEGER :: J
00334 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00335 IF (LHOOK) CALL DR_HOOK("MODD_DATA_BEM_N:DATA_BEM_ALLOC",0,ZHOOK_HANDLE)
00336 ALLOCATE(DATA_BEM_MODEL(KMODEL))
00337 DO J=1,KMODEL
00338   NULLIFY(DATA_BEM_MODEL(J)%XPAR_TCOOL_TARGET)
00339   NULLIFY(DATA_BEM_MODEL(J)%XPAR_THEAT_TARGET)
00340   NULLIFY(DATA_BEM_MODEL(J)%XPAR_F_WASTE_CAN)  
00341   NULLIFY(DATA_BEM_MODEL(J)%XPAR_EFF_HEAT)
00342   NULLIFY(DATA_BEM_MODEL(J)%XPAR_HC_FLOOR)
00343   NULLIFY(DATA_BEM_MODEL(J)%XPAR_TC_FLOOR)
00344   NULLIFY(DATA_BEM_MODEL(J)%XPAR_D_FLOOR)
00345   NULLIFY(DATA_BEM_MODEL(J)%XPAR_QIN)
00346   NULLIFY(DATA_BEM_MODEL(J)%XPAR_QIN_FRAD)
00347   NULLIFY(DATA_BEM_MODEL(J)%XPAR_SHGC) 
00348   NULLIFY(DATA_BEM_MODEL(J)%XPAR_U_WIN)
00349   NULLIFY(DATA_BEM_MODEL(J)%XPAR_GR)
00350   NULLIFY(DATA_BEM_MODEL(J)%XPAR_FLOOR_HEIGHT)
00351   NULLIFY(DATA_BEM_MODEL(J)%XPAR_INF)
00352   NULLIFY(DATA_BEM_MODEL(J)%XPAR_F_WATER_COND)
00353   NULLIFY(DATA_BEM_MODEL(J)%XPAR_QIN_FLAT)
00354   NULLIFY(DATA_BEM_MODEL(J)%XPAR_HR_TARGET)
00355   NULLIFY(DATA_BEM_MODEL(J)%XPAR_V_VENT)
00356   NULLIFY(DATA_BEM_MODEL(J)%XPAR_CAP_SYS_HEAT)
00357   NULLIFY(DATA_BEM_MODEL(J)%XPAR_CAP_SYS_RAT)
00358   NULLIFY(DATA_BEM_MODEL(J)%XPAR_T_ADP)
00359   NULLIFY(DATA_BEM_MODEL(J)%XPAR_M_SYS_RAT)
00360   NULLIFY(DATA_BEM_MODEL(J)%XPAR_COP_RAT)
00361   NULLIFY(DATA_BEM_MODEL(J)%XPAR_T_SIZE_MAX)
00362   NULLIFY(DATA_BEM_MODEL(J)%XPAR_T_SIZE_MIN)
00363   NULLIFY(DATA_BEM_MODEL(J)%XPAR_SHADE)
00364   NULLIFY(DATA_BEM_MODEL(J)%XPAR_NATVENT)
00365 ENDDO
00366 DATA_BEM_MODEL(:)%LDATA_TCOOL_TARGET = .FALSE.
00367 DATA_BEM_MODEL(:)%LDATA_THEAT_TARGET = .FALSE. 
00368 DATA_BEM_MODEL(:)%LDATA_F_WASTE_CAN  = .FALSE.   
00369 DATA_BEM_MODEL(:)%LDATA_EFF_HEAT     = .FALSE.   
00370 DATA_BEM_MODEL(:)%LDATA_HC_FLOOR     = .FALSE.     
00371 DATA_BEM_MODEL(:)%LDATA_TC_FLOOR     = .FALSE.     
00372 DATA_BEM_MODEL(:)%LDATA_D_FLOOR      = .FALSE. 
00373 DATA_BEM_MODEL(:)%LDATA_QIN          = .FALSE.          
00374 DATA_BEM_MODEL(:)%LDATA_QIN_FRAD     = .FALSE.     
00375 DATA_BEM_MODEL(:)%LDATA_SHGC         = .FALSE.         
00376 DATA_BEM_MODEL(:)%LDATA_U_WIN        = .FALSE.        
00377 DATA_BEM_MODEL(:)%LDATA_GR           = .FALSE.           
00378 DATA_BEM_MODEL(:)%LDATA_SHGC_SH      = .FALSE.
00379 DATA_BEM_MODEL(:)%LDATA_FLOOR_HEIGHT = .FALSE. 
00380 DATA_BEM_MODEL(:)%LDATA_INF          = .FALSE.  
00381 DATA_BEM_MODEL(:)%LDATA_F_WATER_COND = .FALSE.  
00382 DATA_BEM_MODEL(:)%LDATA_SHADE        = .FALSE.
00383 DATA_BEM_MODEL(:)%LDATA_NATVENT      = .FALSE.
00384 DATA_BEM_MODEL(:)%LDATA_V_VENT       = .FALSE.   
00385 DATA_BEM_MODEL(:)%LDATA_QIN_FLAT     = .FALSE.     
00386 DATA_BEM_MODEL(:)%LDATA_HR_TARGET    = .FALSE.    
00387 DATA_BEM_MODEL(:)%LDATA_CAP_SYS_HEAT = .FALSE. 
00388 DATA_BEM_MODEL(:)%LDATA_CAP_SYS_RAT  = .FALSE.  
00389 DATA_BEM_MODEL(:)%LDATA_T_ADP        = .FALSE.        
00390 DATA_BEM_MODEL(:)%LDATA_M_SYS_RAT    = .FALSE.    
00391 DATA_BEM_MODEL(:)%LDATA_COP_RAT      = .FALSE.      
00392 DATA_BEM_MODEL(:)%LDATA_T_SIZE_MAX   = .FALSE.    
00393 DATA_BEM_MODEL(:)%LDATA_T_SIZE_MIN   = .FALSE.
00394 DATA_BEM_MODEL(:)%NPAR_FLOOR_LAYER   =0
00395 
00396 IF (LHOOK) CALL DR_HOOK("MODD_DATA_BEM_N:DATA_BEM_ALLOC",1,ZHOOK_HANDLE)
00397 END SUBROUTINE DATA_BEM_ALLOC
00398 !
00399 SUBROUTINE DATA_BEM_DEALLO
00400 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00401 IF (LHOOK) CALL DR_HOOK("MODD_DATA_BEM_N:DATA_BEM_DEALLO",0,ZHOOK_HANDLE)
00402 IF (ALLOCATED(DATA_BEM_MODEL)) DEALLOCATE(DATA_BEM_MODEL)
00403 IF (LHOOK) CALL DR_HOOK("MODD_DATA_BEM_N:DATA_BEM_DEALLO",1,ZHOOK_HANDLE)
00404 END SUBROUTINE DATA_BEM_DEALLO
00405 !
00406 END MODULE MODD_DATA_BEM_n