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