|
SURFEX v7.3
General documentation of Surfex
|
00001 ! ############################ 00002 MODULE MODD_DIAG_MISC_TEB_n 00003 ! ############################ 00004 ! 00005 !!**** *MODD_DIAG_MISC_TEB - declaration of packed surface parameters for TEB scheme 00006 !! 00007 !! PURPOSE 00008 !! ------- 00009 ! 00010 !! 00011 !!** IMPLICIT ARGUMENTS 00012 !! ------------------ 00013 !! None 00014 !! 00015 !! REFERENCE 00016 !! --------- 00017 !! 00018 !! AUTHOR 00019 !! ------ 00020 !! P. Le Moigne *Meteo France* 00021 !! 00022 !! MODIFICATIONS 00023 !! ------------- 00024 !! Original 07/10/04 00025 ! 00026 ! 00027 !* 0. DECLARATIONS 00028 ! ------------ 00029 ! 00030 ! 00031 ! 00032 USE YOMHOOK ,ONLY : LHOOK, DR_HOOK 00033 USE PARKIND1 ,ONLY : JPRB 00034 ! 00035 IMPLICIT NONE 00036 00037 TYPE DIAG_MISC_TEB_OPTIONS_t 00038 !------------------------------------------------------------------------------ 00039 ! 00040 LOGICAL :: LSURF_MISC_BUDGET ! flag for miscellaneous terms of teb scheme 00041 LOGICAL :: LSURF_EVAP_BUDGET ! flag for all terms of evaporation 00042 LOGICAL :: LSURF_DIAG_ALBEDO ! flag to write out diagnostic albedo 00043 REAL, POINTER, DIMENSION(:) :: XUTCI_IN ! UTCI for person indoor 00044 REAL, POINTER, DIMENSION(:) :: XUTCI_OUTSUN ! UTCI for person outdoor at sun 00045 REAL, POINTER, DIMENSION(:) :: XUTCI_OUTSHADE! UTCI for person outdoor at shade 00046 REAL, POINTER, DIMENSION(:) :: XTRAD_SUN! Mean radiant temperature seen by person at sun (K) 00047 REAL, POINTER, DIMENSION(:) :: XTRAD_SHADE! Mean radiant temperature seen by person in shade (K) 00048 ! 00049 END TYPE DIAG_MISC_TEB_OPTIONS_t 00050 ! 00051 TYPE DIAG_MISC_TEB_t 00052 ! 00053 !* miscellaneous variables 00054 ! 00055 REAL, POINTER, DIMENSION(:) :: XZ0_TOWN ! town roughness length 00056 REAL, POINTER, DIMENSION(:) :: XQF_BLD ! domestic heating 00057 REAL, POINTER, DIMENSION(:) :: XFLX_BLD ! heat flux from bld 00058 REAL, POINTER, DIMENSION(:) :: XQF_TOWN ! total anthropogenic heat 00059 REAL, POINTER, DIMENSION(:) :: XDQS_TOWN ! storage inside building 00060 ! 00061 REAL, POINTER, DIMENSION(:) :: XH_WALL_A ! wall sensible heat flux (W/m2) 00062 REAL, POINTER, DIMENSION(:) :: XH_WALL_B ! wall sensible heat flux (W/m2) 00063 REAL, POINTER, DIMENSION(:) :: XH_ROOF ! roof sensible heat flux (W/m2) 00064 REAL, POINTER, DIMENSION(:) :: XH_ROAD ! road sensible heat flux (W/m2) 00065 REAL, POINTER, DIMENSION(:) :: XH_GARDEN ! green area sensible heat flux (W/m2) 00066 REAL, POINTER, DIMENSION(:) :: XH_GREENROOF! green roof sensible heat flux (W/m2) 00067 REAL, POINTER, DIMENSION(:) :: XH_STRLROOF ! structural roof sens. heat flux (W/m2) 00068 REAL, POINTER, DIMENSION(:) :: XH_BLT ! built surf sensible heat flux (W/m2) 00069 REAL, POINTER, DIMENSION(:) :: XRN_WALL_A ! net radiation at wall (W/m2) 00070 REAL, POINTER, DIMENSION(:) :: XRN_WALL_B ! net radiation at wall (W/m2) 00071 REAL, POINTER, DIMENSION(:) :: XRN_ROOF ! net radiation at roof (W/m2) 00072 REAL, POINTER, DIMENSION(:) :: XRN_ROAD ! net radiation at road (W/m2) 00073 REAL, POINTER, DIMENSION(:) :: XRN_GARDEN ! net radiation at green areas (W/m2) 00074 REAL, POINTER, DIMENSION(:) :: XRN_GREENROOF!net radiation at green roofs (W/m2) 00075 REAL, POINTER, DIMENSION(:) :: XRN_STRLROOF !net radiation at structural roofs(W/m2) 00076 REAL, POINTER, DIMENSION(:) :: XRN_BLT ! net radiation at built surf (W/m2) 00077 REAL, POINTER, DIMENSION(:) :: XGFLUX_WALL_A !net wall conduction flux (W/m2) 00078 REAL, POINTER, DIMENSION(:) :: XGFLUX_WALL_B !net wall conduction flux (W/m2) 00079 REAL, POINTER, DIMENSION(:) :: XGFLUX_ROOF ! net roof conduction flux (W/m2) 00080 REAL, POINTER, DIMENSION(:) :: XGFLUX_ROAD ! net road conduction flux (W/m2) 00081 REAL, POINTER, DIMENSION(:) :: XGFLUX_GARDEN!net green area conduction flux (W/m2) 00082 REAL, POINTER, DIMENSION(:) :: XGFLUX_GREENROOF!net green roof conduction flux(W/m2) 00083 REAL, POINTER, DIMENSION(:) :: XGFLUX_STRLROOF !net structural roof cond flux (W/m2) 00084 REAL, POINTER, DIMENSION(:) :: XGFLUX_BLT ! net built surf conduction flux (W/m2) 00085 REAL, POINTER, DIMENSION(:) :: XLE_ROOF ! roof latent heat flux (W/m2) 00086 REAL, POINTER, DIMENSION(:) :: XLE_ROAD ! road latent heat flux (W/m2) 00087 REAL, POINTER, DIMENSION(:) :: XLE_GARDEN ! green area latent heat flux (W/m2) 00088 REAL, POINTER, DIMENSION(:) :: XLE_GREENROOF!green roof latent heat flux (W/m2) 00089 REAL, POINTER, DIMENSION(:) :: XLE_STRLROOF !structural roof latent heat flux (W/m2) 00090 REAL, POINTER, DIMENSION(:) :: XLE_BLT ! built surf latent heat flux (W/m2) 00091 ! 00092 REAL, POINTER, DIMENSION(:) :: XRUNOFF_GREENROOF ! water runoff for greenroof (kg/m2/s) 00093 REAL, POINTER, DIMENSION(:) :: XDRAIN_GREENROOF ! water vertical drainage for greenroof (kg/m2/s) 00094 ! 00095 REAL, POINTER, DIMENSION(:) :: XABS_SW_ROOF ! Downward shortwave radiation over roofs 00096 REAL, POINTER, DIMENSION(:) :: XABS_SW_SNOW_ROOF ! Downward longwave radiation over roofs 00097 REAL, POINTER, DIMENSION(:) :: XABS_LW_ROOF ! Upward shortwave radiation over roofs 00098 REAL, POINTER, DIMENSION(:) :: XABS_LW_SNOW_ROOF ! Upward longwave radiation over roofs 00099 REAL, POINTER, DIMENSION(:) :: XABS_SW_ROAD ! Downward shortwave radiation over roads 00100 REAL, POINTER, DIMENSION(:) :: XABS_SW_SNOW_ROAD ! Downward longwave radiation over roads 00101 REAL, POINTER, DIMENSION(:) :: XABS_LW_ROAD ! Upward shortwave radiation over roads 00102 REAL, POINTER, DIMENSION(:) :: XABS_LW_SNOW_ROAD ! Upward longwave radiation over roads 00103 REAL, POINTER, DIMENSION(:) :: XABS_SW_WALL_A ! Downward shortwave radiation over walls 00104 REAL, POINTER, DIMENSION(:) :: XABS_SW_WALL_B ! Downward shortwave radiation over walls 00105 REAL, POINTER, DIMENSION(:) :: XABS_LW_WALL_A ! Upward shortwave radiation over walls 00106 REAL, POINTER, DIMENSION(:) :: XABS_LW_WALL_B ! Upward shortwave radiation over walls 00107 REAL, POINTER, DIMENSION(:) :: XABS_SW_GARDEN ! Downward shortwave radiation over green areas 00108 REAL, POINTER, DIMENSION(:) :: XABS_LW_GARDEN ! Upward shortwave radiation over green areas 00109 REAL, POINTER, DIMENSION(:) :: XABS_SW_GREENROOF ! Downward shortwave radiation over green roofs 00110 REAL, POINTER, DIMENSION(:) :: XABS_LW_GREENROOF ! Upward shortwave radiation over green roofs 00111 REAL, POINTER, DIMENSION(:) :: XG_GREENROOF_ROOF ! Heat flux between green roof and structural roof 00112 ! 00113 REAL, POINTER, DIMENSION(:) :: XH_BLD_COOL ! Sensible cooling energy demand 00114 ! of the building [W m-2(bld)] 00115 REAL, POINTER, DIMENSION(:) :: XT_BLD_COOL ! Total cooling energy demand 00116 ! of the building [W m-2(bld)] 00117 REAL, POINTER, DIMENSION(:) :: XH_BLD_HEAT ! Heating energy demand 00118 ! of the building [W m-2(bld)] 00119 REAL, POINTER, DIMENSION(:) :: XLE_BLD_COOL ! Latent cooling energy demand 00120 ! of the building [W m-2(bld)] 00121 REAL, POINTER, DIMENSION(:) :: XLE_BLD_HEAT ! Latent heating energy demand 00122 ! of the building [W m-2(bld)] 00123 REAL, POINTER, DIMENSION(:) :: XH_WASTE ! Sensible waste heat from HVAC system 00124 ! [W m-2(tot)] 00125 REAL, POINTER, DIMENSION(:) :: XLE_WASTE ! Latent waste heat from HVAC system 00126 ! [W m-2(tot)] 00127 REAL, POINTER, DIMENSION(:) :: XHVAC_COOL ! Energy consumption of the cooling system 00128 ! [W m-2(bld)] 00129 REAL, POINTER, DIMENSION(:) :: XHVAC_HEAT ! Energy consumption of the heating system 00130 ! [W m-2(bld)] 00131 REAL, POINTER, DIMENSION(:) :: XCAP_SYS ! Actual capacity of the cooling system 00132 ! [W m-2(bld)] 00133 REAL, POINTER, DIMENSION(:) :: XM_SYS ! Actual HVAC mass flow rate 00134 ! [kg s-1 m-2(bld)] 00135 REAL, POINTER, DIMENSION(:) :: XCOP ! COP of the cooling system 00136 REAL, POINTER, DIMENSION(:) :: XQ_SYS ! Supply air specific humidity [kg kg-1] 00137 REAL, POINTER, DIMENSION(:) :: XT_SYS ! Supply air temperature [K] 00138 REAL, POINTER, DIMENSION(:) :: XTR_SW_WIN ! Solar radiation transmitted throught 00139 ! windows [W m-2(bld)] 00140 REAL, POINTER, DIMENSION(:) :: XFAN_POWER ! HVAC fan power 00141 REAL, POINTER, DIMENSION(:) :: XABS_SW_WIN ! window absorbed shortwave radiation [W m-2] 00142 REAL, POINTER, DIMENSION(:) :: XABS_LW_WIN ! absorbed infrared rad. [W m-2] 00143 00144 REAL, POINTER, DIMENSION(:) :: XEMIT_LW_FAC ! LW flux emitted by the facade (W/m² facade) 00145 REAL, POINTER, DIMENSION(:) :: XEMIT_LW_GRND ! LW flux emitted by the ground (W/m² ground = road + garden) 00146 REAL, POINTER, DIMENSION(:) :: XT_RAD_IND !Indoor mean radiant temperature [K] 00147 REAL, POINTER, DIMENSION(:) :: XREF_SW_GRND ! total solar rad reflected by ground 00148 REAL, POINTER, DIMENSION(:) :: XREF_SW_FAC ! total solar rad reflected by facade 00149 REAL, POINTER, DIMENSION(:) :: XHU_BLD !Indoor relative humidity 00150 ! 00151 !------------------------------------------------------------------------------ 00152 ! 00153 00154 END TYPE DIAG_MISC_TEB_t 00155 00156 TYPE(DIAG_MISC_TEB_OPTIONS_t), ALLOCATABLE, TARGET, SAVE :: DIAG_MISC_TEB_OPTIONS_MODEL(:) 00157 TYPE(DIAG_MISC_TEB_t), ALLOCATABLE, TARGET, SAVE :: DIAG_MISC_TEB_MODEL(:,:) 00158 00159 LOGICAL, POINTER :: LSURF_MISC_BUDGET=>NULL() 00160 !$OMP THREADPRIVATE(LSURF_MISC_BUDGET) 00161 LOGICAL, POINTER :: LSURF_EVAP_BUDGET=>NULL() 00162 !$OMP THREADPRIVATE(LSURF_EVAP_BUDGET) 00163 LOGICAL, POINTER :: LSURF_DIAG_ALBEDO=>NULL() 00164 !$OMP THREADPRIVATE(LSURF_DIAG_ALBEDO) 00165 REAL, POINTER, DIMENSION(:) :: XZ0_TOWN=>NULL() 00166 !$OMP THREADPRIVATE(XZ0_TOWN) 00167 REAL, POINTER, DIMENSION(:) :: XQF_BLD=>NULL() 00168 !$OMP THREADPRIVATE(XQF_BLD) 00169 REAL, POINTER, DIMENSION(:) :: XFLX_BLD=>NULL() 00170 !$OMP THREADPRIVATE(XFLX_BLD) 00171 REAL, POINTER, DIMENSION(:) :: XQF_TOWN=>NULL() 00172 !$OMP THREADPRIVATE(XQF_TOWN) 00173 REAL, POINTER, DIMENSION(:) :: XDQS_TOWN=>NULL() 00174 !$OMP THREADPRIVATE(XDQS_TOWN) 00175 REAL, POINTER, DIMENSION(:) :: XH_WALL_A=>NULL() 00176 !$OMP THREADPRIVATE(XH_WALL_A) 00177 REAL, POINTER, DIMENSION(:) :: XH_WALL_B=>NULL() 00178 !$OMP THREADPRIVATE(XH_WALL_B) 00179 REAL, POINTER, DIMENSION(:) :: XH_ROOF=>NULL() 00180 !$OMP THREADPRIVATE(XH_ROOF) 00181 REAL, POINTER, DIMENSION(:) :: XH_ROAD=>NULL() 00182 !$OMP THREADPRIVATE(XH_ROAD) 00183 REAL, POINTER, DIMENSION(:) :: XRN_WALL_A=>NULL() 00184 !$OMP THREADPRIVATE(XRN_WALL_A) 00185 REAL, POINTER, DIMENSION(:) :: XRN_WALL_B=>NULL() 00186 !$OMP THREADPRIVATE(XRN_WALL_B) 00187 REAL, POINTER, DIMENSION(:) :: XRN_ROOF=>NULL() 00188 !$OMP THREADPRIVATE(XRN_ROOF) 00189 REAL, POINTER, DIMENSION(:) :: XRN_ROAD=>NULL() 00190 !$OMP THREADPRIVATE(XRN_ROAD) 00191 REAL, POINTER, DIMENSION(:) :: XRN_GARDEN=>NULL() 00192 !$OMP THREADPRIVATE(XRN_GARDEN) 00193 REAL, POINTER, DIMENSION(:) :: XRN_GREENROOF=>NULL() 00194 !$OMP THREADPRIVATE(XRN_GREENROOF) 00195 REAL, POINTER, DIMENSION(:) :: XRN_STRLROOF=>NULL() 00196 !$OMP THREADPRIVATE(XRN_STRLROOF) 00197 REAL, POINTER, DIMENSION(:) :: XRN_BLT=>NULL() 00198 !$OMP THREADPRIVATE(XRN_BLT) 00199 REAL, POINTER, DIMENSION(:) :: XH_GARDEN=>NULL() 00200 !$OMP THREADPRIVATE(XH_GARDEN) 00201 REAL, POINTER, DIMENSION(:) :: XH_GREENROOF=>NULL() 00202 !$OMP THREADPRIVATE(XH_GREENROOF) 00203 REAL, POINTER, DIMENSION(:) :: XH_STRLROOF=>NULL() 00204 !$OMP THREADPRIVATE(XH_STRLROOF) 00205 REAL, POINTER, DIMENSION(:) :: XH_BLT=>NULL() 00206 !$OMP THREADPRIVATE(XH_BLT) 00207 REAL, POINTER, DIMENSION(:) :: XGFLUX_WALL_A=>NULL() 00208 !$OMP THREADPRIVATE(XGFLUX_WALL_A) 00209 REAL, POINTER, DIMENSION(:) :: XGFLUX_WALL_B=>NULL() 00210 !$OMP THREADPRIVATE(XGFLUX_WALL_B) 00211 REAL, POINTER, DIMENSION(:) :: XGFLUX_ROOF=>NULL() 00212 !$OMP THREADPRIVATE(XGFLUX_ROOF) 00213 REAL, POINTER, DIMENSION(:) :: XGFLUX_ROAD=>NULL() 00214 !$OMP THREADPRIVATE(XGFLUX_ROAD) 00215 REAL, POINTER, DIMENSION(:) :: XGFLUX_GARDEN=>NULL() 00216 !$OMP THREADPRIVATE(XGFLUX_GARDEN) 00217 REAL, POINTER, DIMENSION(:) :: XGFLUX_GREENROOF=>NULL() 00218 !$OMP THREADPRIVATE(XGFLUX_GREENROOF) 00219 REAL, POINTER, DIMENSION(:) :: XGFLUX_STRLROOF=>NULL() 00220 !$OMP THREADPRIVATE(XGFLUX_STRLROOF) 00221 REAL, POINTER, DIMENSION(:) :: XGFLUX_BLT=>NULL() 00222 !$OMP THREADPRIVATE(XGFLUX_BLT) 00223 REAL, POINTER, DIMENSION(:) :: XLE_ROOF=>NULL() 00224 !$OMP THREADPRIVATE(XLE_ROOF) 00225 REAL, POINTER, DIMENSION(:) :: XLE_ROAD=>NULL() 00226 !$OMP THREADPRIVATE(XLE_ROAD) 00227 REAL, POINTER, DIMENSION(:) :: XLE_GARDEN=>NULL() 00228 !$OMP THREADPRIVATE(XLE_GARDEN) 00229 REAL, POINTER, DIMENSION(:) :: XLE_GREENROOF=>NULL() 00230 !$OMP THREADPRIVATE(XLE_GREENROOF) 00231 REAL, POINTER, DIMENSION(:) :: XLE_STRLROOF=>NULL() 00232 !$OMP THREADPRIVATE(XLE_STRLROOF) 00233 REAL, POINTER, DIMENSION(:) :: XLE_BLT=>NULL() 00234 !$OMP THREADPRIVATE(XLE_BLT) 00235 ! 00236 REAL, POINTER, DIMENSION(:) :: XRUNOFF_GREENROOF=>NULL() 00237 !$OMP THREADPRIVATE(XRUNOFF_GREENROOF) 00238 REAL, POINTER, DIMENSION(:) :: XDRAIN_GREENROOF=>NULL() 00239 !$OMP THREADPRIVATE(XDRAIN_GREENROOF) 00240 ! 00241 REAL, POINTER, DIMENSION(:) :: XABS_SW_ROOF=>NULL() 00242 !$OMP THREADPRIVATE(XABS_SW_ROOF) 00243 REAL, POINTER, DIMENSION(:) :: XABS_SW_SNOW_ROOF=>NULL() 00244 !$OMP THREADPRIVATE(XABS_SW_SNOW_ROOF) 00245 REAL, POINTER, DIMENSION(:) :: XABS_LW_ROOF=>NULL() 00246 !$OMP THREADPRIVATE(XABS_LW_ROOF) 00247 REAL, POINTER, DIMENSION(:) :: XABS_LW_SNOW_ROOF=>NULL() 00248 !$OMP THREADPRIVATE(XABS_LW_SNOW_ROOF) 00249 REAL, POINTER, DIMENSION(:) :: XABS_SW_ROAD=>NULL() 00250 !$OMP THREADPRIVATE(XABS_SW_ROAD) 00251 REAL, POINTER, DIMENSION(:) :: XABS_SW_SNOW_ROAD=>NULL() 00252 !$OMP THREADPRIVATE(XABS_SW_SNOW_ROAD) 00253 REAL, POINTER, DIMENSION(:) :: XABS_LW_ROAD=>NULL() 00254 !$OMP THREADPRIVATE(XABS_LW_ROAD) 00255 REAL, POINTER, DIMENSION(:) :: XABS_LW_SNOW_ROAD=>NULL() 00256 !$OMP THREADPRIVATE(XABS_LW_SNOW_ROAD) 00257 REAL, POINTER, DIMENSION(:) :: XABS_SW_WALL_A=>NULL() 00258 !$OMP THREADPRIVATE(XABS_SW_WALL_A) 00259 REAL, POINTER, DIMENSION(:) :: XABS_SW_WALL_B=>NULL() 00260 !$OMP THREADPRIVATE(XABS_SW_WALL_B) 00261 REAL, POINTER, DIMENSION(:) :: XABS_LW_WALL_A=>NULL() 00262 !$OMP THREADPRIVATE(XABS_LW_WALL_A) 00263 REAL, POINTER, DIMENSION(:) :: XABS_LW_WALL_B=>NULL() 00264 !$OMP THREADPRIVATE(XABS_LW_WALL_B) 00265 REAL, POINTER, DIMENSION(:) :: XABS_SW_GARDEN=>NULL() 00266 !$OMP THREADPRIVATE(XABS_SW_GARDEN) 00267 REAL, POINTER, DIMENSION(:) :: XABS_LW_GARDEN=>NULL() 00268 !$OMP THREADPRIVATE(XABS_LW_GARDEN) 00269 REAL, POINTER, DIMENSION(:) :: XABS_SW_GREENROOF=>NULL() 00270 !$OMP THREADPRIVATE(XABS_SW_GREENROOF) 00271 REAL, POINTER, DIMENSION(:) :: XABS_LW_GREENROOF=>NULL() 00272 !$OMP THREADPRIVATE(XABS_LW_GREENROOF) 00273 REAL, POINTER, DIMENSION(:) :: XG_GREENROOF_ROOF=>NULL() 00274 !$OMP THREADPRIVATE(XG_GREENROOF_ROOF) 00275 REAL, POINTER, DIMENSION(:) :: XH_BLD_COOL=>NULL() 00276 !$OMP THREADPRIVATE(XH_BLD_COOL) 00277 REAL, POINTER, DIMENSION(:) :: XT_BLD_COOL=>NULL() 00278 !$OMP THREADPRIVATE(XT_BLD_COOL) 00279 REAL, POINTER, DIMENSION(:) :: XH_BLD_HEAT=>NULL() 00280 !$OMP THREADPRIVATE(XH_BLD_HEAT) 00281 REAL, POINTER, DIMENSION(:) :: XLE_BLD_COOL=>NULL() 00282 !$OMP THREADPRIVATE(XLE_BLD_COOL) 00283 REAL, POINTER, DIMENSION(:) :: XLE_BLD_HEAT=>NULL() 00284 !$OMP THREADPRIVATE(XLE_BLD_HEAT) 00285 REAL, POINTER, DIMENSION(:) :: XH_WASTE=>NULL() 00286 !$OMP THREADPRIVATE(XH_WASTE) 00287 REAL, POINTER, DIMENSION(:) :: XLE_WASTE=>NULL() 00288 !$OMP THREADPRIVATE(XLE_WASTE) 00289 REAL, POINTER, DIMENSION(:) :: XHVAC_COOL=>NULL() 00290 !$OMP THREADPRIVATE(XHVAC_COOL) 00291 REAL, POINTER, DIMENSION(:) :: XHVAC_HEAT=>NULL() 00292 !$OMP THREADPRIVATE(XHVAC_HEAT) 00293 REAL, POINTER, DIMENSION(:) :: XCAP_SYS=>NULL() 00294 !$OMP THREADPRIVATE(XCAP_SYS) 00295 REAL, POINTER, DIMENSION(:) :: XM_SYS=>NULL() 00296 !$OMP THREADPRIVATE(XM_SYS) 00297 REAL, POINTER, DIMENSION(:) :: XCOP=>NULL() 00298 !$OMP THREADPRIVATE(XCOP) 00299 REAL, POINTER, DIMENSION(:) :: XQ_SYS=>NULL() 00300 !$OMP THREADPRIVATE(XQ_SYS) 00301 REAL, POINTER, DIMENSION(:) :: XT_SYS=>NULL() 00302 !$OMP THREADPRIVATE(XT_SYS) 00303 REAL, POINTER, DIMENSION(:) :: XTR_SW_WIN=>NULL() 00304 !$OMP THREADPRIVATE(XTR_SW_WIN) 00305 REAL, POINTER, DIMENSION(:) :: XFAN_POWER=>NULL() 00306 !$OMP THREADPRIVATE(XFAN_POWER) 00307 REAL, POINTER, DIMENSION(:) :: XABS_SW_WIN=>NULL() 00308 !$OMP THREADPRIVATE(XABS_SW_WIN) 00309 REAL, POINTER, DIMENSION(:) :: XABS_LW_WIN=>NULL() 00310 !$OMP THREADPRIVATE(XABS_LW_WIN) 00311 REAL, POINTER, DIMENSION(:) :: XEMIT_LW_FAC=>NULL() 00312 !$OMP THREADPRIVATE(XEMIT_LW_FAC) 00313 REAL, POINTER, DIMENSION(:) :: XEMIT_LW_GRND=>NULL() 00314 !$OMP THREADPRIVATE(XEMIT_LW_GRND) 00315 REAL, POINTER, DIMENSION(:) :: XT_RAD_IND=>NULL() 00316 !$OMP THREADPRIVATE(XT_RAD_IND) 00317 REAL, POINTER, DIMENSION(:) :: XREF_SW_GRND=>NULL() 00318 !$OMP THREADPRIVATE(XREF_SW_GRND) 00319 REAL, POINTER, DIMENSION(:) :: XREF_SW_FAC=>NULL() 00320 !$OMP THREADPRIVATE(XREF_SW_FAC) 00321 REAL, POINTER, DIMENSION(:) :: XUTCI_IN=>NULL() 00322 !$OMP THREADPRIVATE(XUTCI_IN) 00323 REAL, POINTER, DIMENSION(:) :: XUTCI_OUTSUN=>NULL() 00324 !$OMP THREADPRIVATE(XUTCI_OUTSUN) 00325 REAL, POINTER, DIMENSION(:) :: XUTCI_OUTSHADE=>NULL() 00326 !$OMP THREADPRIVATE(XUTCI_OUTSHADE) 00327 REAL, POINTER, DIMENSION(:) :: XTRAD_SUN=>NULL() 00328 !$OMP THREADPRIVATE(XTRAD_SUN) 00329 REAL, POINTER, DIMENSION(:) :: XTRAD_SHADE=>NULL() 00330 !$OMP THREADPRIVATE(XTRAD_SHADE) 00331 REAL, POINTER, DIMENSION(:) :: XHU_BLD=>NULL() 00332 !$OMP THREADPRIVATE(XHU_BLD) 00333 00334 CONTAINS 00335 00336 SUBROUTINE DIAG_MISC_TEB_OPTIONS_GOTO_MODEL(KFROM, KTO, LKFROM) 00337 LOGICAL, INTENT(IN) :: LKFROM 00338 INTEGER, INTENT(IN) :: KFROM, KTO 00339 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00340 ! 00341 ! Current model is set to model KTO 00342 IF (LHOOK) CALL DR_HOOK('MODD_DIAG_MISC_TEB_N:DIAG_MISC_TEB_OPTIONS_GOTO_MODEL',0,ZHOOK_HANDLE) 00343 DIAG_MISC_TEB_OPTIONS_MODEL(KFROM)%XUTCI_IN=>XUTCI_IN 00344 DIAG_MISC_TEB_OPTIONS_MODEL(KFROM)%XUTCI_OUTSUN=>XUTCI_OUTSUN 00345 DIAG_MISC_TEB_OPTIONS_MODEL(KFROM)%XUTCI_OUTSHADE=>XUTCI_OUTSHADE 00346 DIAG_MISC_TEB_OPTIONS_MODEL(KFROM)%XTRAD_SUN=>XTRAD_SUN 00347 DIAG_MISC_TEB_OPTIONS_MODEL(KFROM)%XTRAD_SHADE=>XTRAD_SHADE 00348 ! 00349 LSURF_MISC_BUDGET=>DIAG_MISC_TEB_OPTIONS_MODEL(KTO)%LSURF_MISC_BUDGET 00350 LSURF_EVAP_BUDGET=>DIAG_MISC_TEB_OPTIONS_MODEL(KTO)%LSURF_EVAP_BUDGET 00351 LSURF_DIAG_ALBEDO=>DIAG_MISC_TEB_OPTIONS_MODEL(KTO)%LSURF_DIAG_ALBEDO 00352 XUTCI_IN => DIAG_MISC_TEB_OPTIONS_MODEL(KTO)%XUTCI_IN 00353 XUTCI_OUTSUN => DIAG_MISC_TEB_OPTIONS_MODEL(KTO)%XUTCI_OUTSUN 00354 XUTCI_OUTSHADE => DIAG_MISC_TEB_OPTIONS_MODEL(KTO)%XUTCI_OUTSHADE 00355 XTRAD_SUN => DIAG_MISC_TEB_OPTIONS_MODEL(KTO)%XTRAD_SUN 00356 XTRAD_SHADE => DIAG_MISC_TEB_OPTIONS_MODEL(KTO)%XTRAD_SHADE 00357 IF (LHOOK) CALL DR_HOOK('MODD_DIAG_MISC_TEB_N:DIAG_MISC_TEB_OPTIONS_GOTO_MODEL',1,ZHOOK_HANDLE) 00358 00359 END SUBROUTINE DIAG_MISC_TEB_OPTIONS_GOTO_MODEL 00360 00361 SUBROUTINE DIAG_MISC_TEB_OPTIONS_ALLOC(KMODEL) 00362 INTEGER, INTENT(IN) :: KMODEL 00363 INTEGER :: J 00364 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00365 IF (LHOOK) CALL DR_HOOK("MODD_DIAG_MISC_TEB_N:DIAG_MISC_TEB_OPTIONS_ALLOC",0,ZHOOK_HANDLE) 00366 ALLOCATE(DIAG_MISC_TEB_OPTIONS_MODEL(KMODEL)) 00367 DIAG_MISC_TEB_OPTIONS_MODEL(:)%LSURF_MISC_BUDGET=.FALSE. 00368 DIAG_MISC_TEB_OPTIONS_MODEL(:)%LSURF_EVAP_BUDGET=.FALSE. 00369 DIAG_MISC_TEB_OPTIONS_MODEL(:)%LSURF_DIAG_ALBEDO=.FALSE. 00370 DO J=1,KMODEL 00371 NULLIFY(DIAG_MISC_TEB_OPTIONS_MODEL(J)%XUTCI_IN) 00372 NULLIFY(DIAG_MISC_TEB_OPTIONS_MODEL(J)%XUTCI_OUTSUN) 00373 NULLIFY(DIAG_MISC_TEB_OPTIONS_MODEL(J)%XUTCI_OUTSHADE) 00374 NULLIFY(DIAG_MISC_TEB_OPTIONS_MODEL(J)%XTRAD_SUN) 00375 NULLIFY(DIAG_MISC_TEB_OPTIONS_MODEL(J)%XTRAD_SHADE) 00376 END DO 00377 IF (LHOOK) CALL DR_HOOK("MODD_DIAG_MISC_TEB_N:DIAG_MISC_TEB_OPTIONS_ALLOC",1,ZHOOK_HANDLE) 00378 END SUBROUTINE DIAG_MISC_TEB_OPTIONS_ALLOC 00379 00380 SUBROUTINE DIAG_MISC_TEB_OPTIONS_DEALLO 00381 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00382 IF (LHOOK) CALL DR_HOOK("MODD_DIAG_MISC_TEB_N:DIAG_MISC_TEB_OPTIONS_DEALLO",0,ZHOOK_HANDLE) 00383 IF (ALLOCATED(DIAG_MISC_TEB_OPTIONS_MODEL)) DEALLOCATE(DIAG_MISC_TEB_OPTIONS_MODEL) 00384 IF (LHOOK) CALL DR_HOOK("MODD_DIAG_MISC_TEB_N:DIAG_MISC_TEB_OPTIONS_DEALLO",1,ZHOOK_HANDLE) 00385 END SUBROUTINE DIAG_MISC_TEB_OPTIONS_DEALLO 00386 00387 00388 00389 SUBROUTINE DIAG_MISC_TEB_GOTO_MODEL(KFROM, KTO, LKFROM, KFROM_PATCH, KTO_PATCH) 00390 LOGICAL, INTENT(IN) :: LKFROM 00391 INTEGER, INTENT(IN) :: KFROM, KTO 00392 INTEGER, INTENT(IN) :: KFROM_PATCH, KTO_PATCH 00393 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00394 ! 00395 ! Save current state for allocated arrays 00396 IF (LKFROM) THEN 00397 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XZ0_TOWN=>XZ0_TOWN 00398 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XQF_BLD=>XQF_BLD 00399 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XFLX_BLD=>XFLX_BLD 00400 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XQF_TOWN=>XQF_TOWN 00401 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XDQS_TOWN=>XDQS_TOWN 00402 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XH_WALL_A=>XH_WALL_A 00403 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XH_WALL_B=>XH_WALL_B 00404 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XH_ROOF=>XH_ROOF 00405 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XH_ROAD=>XH_ROAD 00406 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XH_GARDEN=>XH_GARDEN 00407 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XH_GREENROOF=>XH_GREENROOF 00408 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XH_STRLROOF=>XH_STRLROOF 00409 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XH_BLT=>XH_BLT 00410 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XRN_WALL_A=>XRN_WALL_A 00411 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XRN_WALL_B=>XRN_WALL_B 00412 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XRN_ROOF=>XRN_ROOF 00413 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XRN_ROAD=>XRN_ROAD 00414 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XRN_GARDEN=>XRN_GARDEN 00415 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XRN_GREENROOF=>XRN_GREENROOF 00416 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XRN_STRLROOF=>XRN_STRLROOF 00417 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XRN_BLT=>XRN_BLT 00418 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XGFLUX_WALL_A=>XGFLUX_WALL_A 00419 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XGFLUX_WALL_B=>XGFLUX_WALL_B 00420 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XGFLUX_ROOF=>XGFLUX_ROOF 00421 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XGFLUX_ROAD=>XGFLUX_ROAD 00422 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XGFLUX_GARDEN=>XGFLUX_GARDEN 00423 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XGFLUX_GREENROOF=>XGFLUX_GREENROOF 00424 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XGFLUX_STRLROOF=>XGFLUX_STRLROOF 00425 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XGFLUX_BLT=>XGFLUX_BLT 00426 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XLE_ROOF=>XLE_ROOF 00427 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XLE_ROAD=>XLE_ROAD 00428 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XLE_GARDEN=>XLE_GARDEN 00429 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XLE_GREENROOF=>XLE_GREENROOF 00430 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XLE_STRLROOF=>XLE_STRLROOF 00431 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XLE_BLT=>XLE_BLT 00432 ! 00433 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XRUNOFF_GREENROOF=>XRUNOFF_GREENROOF 00434 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XDRAIN_GREENROOF=>XDRAIN_GREENROOF 00435 ! 00436 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XABS_SW_ROOF=>XABS_SW_ROOF 00437 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XABS_SW_SNOW_ROOF=>XABS_SW_SNOW_ROOF 00438 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XABS_LW_ROOF=>XABS_LW_ROOF 00439 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XABS_LW_SNOW_ROOF=>XABS_LW_SNOW_ROOF 00440 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XABS_SW_ROAD=>XABS_SW_ROAD 00441 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XABS_SW_SNOW_ROAD=>XABS_SW_SNOW_ROAD 00442 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XABS_LW_ROAD=>XABS_LW_ROAD 00443 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XABS_LW_SNOW_ROAD=>XABS_LW_SNOW_ROAD 00444 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XABS_SW_WALL_A=>XABS_SW_WALL_A 00445 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XABS_SW_WALL_B=>XABS_SW_WALL_B 00446 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XABS_LW_WALL_A=>XABS_LW_WALL_A 00447 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XABS_LW_WALL_B=>XABS_LW_WALL_B 00448 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XABS_SW_GARDEN=>XABS_SW_GARDEN 00449 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XABS_LW_GARDEN=>XABS_LW_GARDEN 00450 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XABS_SW_GREENROOF=>XABS_SW_GREENROOF 00451 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XABS_LW_GREENROOF=>XABS_LW_GREENROOF 00452 ! 00453 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XH_BLD_COOL=>XH_BLD_COOL 00454 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XT_BLD_COOL=>XT_BLD_COOL 00455 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XH_BLD_HEAT=>XH_BLD_HEAT 00456 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XLE_BLD_COOL=>XLE_BLD_COOL 00457 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XLE_BLD_HEAT=>XLE_BLD_HEAT 00458 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XHVAC_COOL=>XHVAC_COOL 00459 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XHVAC_HEAT=>XHVAC_HEAT 00460 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XH_WASTE=>XH_WASTE 00461 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XLE_WASTE=>XLE_WASTE 00462 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XCAP_SYS=>XCAP_SYS 00463 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XM_SYS=>XM_SYS 00464 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XCOP=>XCOP 00465 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XQ_SYS=>XQ_SYS 00466 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XT_SYS=>XT_SYS 00467 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XTR_SW_WIN=>XTR_SW_WIN 00468 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XFAN_POWER=>XFAN_POWER 00469 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XABS_SW_WIN=>XABS_SW_WIN 00470 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XABS_LW_WIN=>XABS_LW_WIN 00471 00472 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XEMIT_LW_GRND=>XEMIT_LW_GRND 00473 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XEMIT_LW_FAC=>XEMIT_LW_FAC 00474 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XT_RAD_IND=>XT_RAD_IND 00475 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XREF_SW_GRND=>XREF_SW_GRND 00476 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XREF_SW_FAC=>XREF_SW_FAC 00477 DIAG_MISC_TEB_MODEL(KFROM,KFROM_PATCH)%XHU_BLD=>XHU_BLD 00478 ENDIF 00479 ! 00480 ! Current model is set to model KTO 00481 IF (LHOOK) CALL DR_HOOK('MODD_DIAG_MISC_TEB_N:DIAG_MISC_TEB_GOTO_MODEL',0,ZHOOK_HANDLE) 00482 XZ0_TOWN=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XZ0_TOWN 00483 XQF_BLD=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XQF_BLD 00484 XFLX_BLD=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XFLX_BLD 00485 XQF_TOWN=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XQF_TOWN 00486 XDQS_TOWN=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XDQS_TOWN 00487 XH_WALL_A=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XH_WALL_A 00488 XH_WALL_B=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XH_WALL_B 00489 XH_ROOF=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XH_ROOF 00490 XH_ROAD=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XH_ROAD 00491 XH_GARDEN=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XH_GARDEN 00492 XH_GREENROOF=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XH_GREENROOF 00493 XH_STRLROOF=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XH_STRLROOF 00494 XH_BLT=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XH_BLT 00495 XRN_WALL_A=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XRN_WALL_A 00496 XRN_WALL_B=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XRN_WALL_B 00497 XRN_ROOF=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XRN_ROOF 00498 XRN_ROAD=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XRN_ROAD 00499 XRN_GARDEN=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XRN_GARDEN 00500 XRN_GREENROOF=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XRN_GREENROOF 00501 XRN_STRLROOF=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XRN_STRLROOF 00502 XRN_BLT=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XRN_BLT 00503 XGFLUX_WALL_A=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XGFLUX_WALL_A 00504 XGFLUX_WALL_B=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XGFLUX_WALL_B 00505 XGFLUX_ROOF=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XGFLUX_ROOF 00506 XGFLUX_ROAD=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XGFLUX_ROAD 00507 XGFLUX_GARDEN=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XGFLUX_GARDEN 00508 XGFLUX_GREENROOF=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XGFLUX_GREENROOF 00509 XGFLUX_STRLROOF=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XGFLUX_STRLROOF 00510 XGFLUX_BLT=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XGFLUX_BLT 00511 XLE_ROOF=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XLE_ROOF 00512 XLE_ROAD=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XLE_ROAD 00513 XLE_GARDEN=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XLE_GARDEN 00514 XLE_GREENROOF=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XLE_GREENROOF 00515 XLE_STRLROOF=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XLE_STRLROOF 00516 XLE_BLT=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XLE_BLT 00517 ! 00518 XRUNOFF_GREENROOF=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XRUNOFF_GREENROOF 00519 XDRAIN_GREENROOF=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XDRAIN_GREENROOF 00520 ! 00521 XABS_SW_ROOF=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XABS_SW_ROOF 00522 XABS_SW_SNOW_ROOF=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XABS_SW_SNOW_ROOF 00523 XABS_LW_ROOF=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XABS_LW_ROOF 00524 XABS_LW_SNOW_ROOF=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XABS_LW_SNOW_ROOF 00525 XABS_SW_ROAD=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XABS_SW_ROAD 00526 XABS_SW_SNOW_ROAD=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XABS_SW_SNOW_ROAD 00527 XABS_LW_ROAD=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XABS_LW_ROAD 00528 XABS_LW_SNOW_ROAD=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XABS_LW_SNOW_ROAD 00529 XABS_SW_WALL_A=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XABS_SW_WALL_A 00530 XABS_SW_WALL_B=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XABS_SW_WALL_B 00531 XABS_LW_WALL_A=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XABS_LW_WALL_A 00532 XABS_LW_WALL_B=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XABS_LW_WALL_B 00533 XABS_SW_GARDEN=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XABS_SW_GARDEN 00534 XABS_LW_GARDEN=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XABS_LW_GARDEN 00535 XABS_SW_GREENROOF=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XABS_SW_GREENROOF 00536 XABS_LW_GREENROOF=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XABS_LW_GREENROOF 00537 ! 00538 XT_BLD_COOL=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XT_BLD_COOL 00539 XH_BLD_COOL=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XH_BLD_COOL 00540 XH_BLD_HEAT=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XH_BLD_HEAT 00541 XLE_BLD_COOL=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XLE_BLD_COOL 00542 XLE_BLD_HEAT=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XLE_BLD_HEAT 00543 XHVAC_COOL=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XHVAC_COOL 00544 XHVAC_HEAT=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XHVAC_HEAT 00545 XH_WASTE=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XH_WASTE 00546 XLE_WASTE=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XLE_WASTE 00547 XCAP_SYS=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XCAP_SYS 00548 XM_SYS=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XM_SYS 00549 XCOP=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XCOP 00550 XQ_SYS=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XQ_SYS 00551 XT_SYS=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XT_SYS 00552 XTR_SW_WIN=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XTR_SW_WIN 00553 XFAN_POWER=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XFAN_POWER 00554 XABS_SW_WIN=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XABS_SW_WIN 00555 XABS_LW_WIN=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XABS_LW_WIN 00556 00557 XEMIT_LW_GRND=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XEMIT_LW_GRND 00558 XEMIT_LW_FAC=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XEMIT_LW_FAC 00559 XT_RAD_IND=>DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XT_RAD_IND 00560 XREF_SW_GRND => DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XREF_SW_GRND 00561 XREF_SW_FAC => DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XREF_SW_FAC 00562 XHU_BLD => DIAG_MISC_TEB_MODEL(KTO,KTO_PATCH)%XHU_BLD 00563 00564 IF (LHOOK) CALL DR_HOOK('MODD_DIAG_MISC_TEB_N:DIAG_MISC_TEB_GOTO_MODEL',1,ZHOOK_HANDLE) 00565 00566 END SUBROUTINE DIAG_MISC_TEB_GOTO_MODEL 00567 00568 SUBROUTINE DIAG_MISC_TEB_ALLOC(KMODEL,KPATCH) 00569 INTEGER, INTENT(IN) :: KMODEL, KPATCH 00570 INTEGER :: J,JP 00571 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00572 IF (LHOOK) CALL DR_HOOK("MODD_DIAG_MISC_TEB_N:DIAG_MISC_TEB_ALLOC",0,ZHOOK_HANDLE) 00573 ALLOCATE(DIAG_MISC_TEB_MODEL(KMODEL,KPATCH)) 00574 DO J=1,KMODEL 00575 DO JP=1,KPATCH 00576 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XZ0_TOWN) 00577 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XQF_BLD) 00578 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XFLX_BLD) 00579 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XQF_TOWN) 00580 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XDQS_TOWN) 00581 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XH_WALL_A) 00582 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XH_WALL_B) 00583 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XH_ROOF) 00584 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XH_ROAD) 00585 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XH_GARDEN) 00586 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XH_GREENROOF) 00587 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XH_STRLROOF) 00588 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XH_BLT) 00589 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XRN_WALL_A) 00590 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XRN_WALL_B) 00591 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XRN_ROOF) 00592 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XRN_ROAD) 00593 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XRN_GARDEN) 00594 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XRN_GREENROOF) 00595 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XRN_STRLROOF) 00596 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XRN_BLT) 00597 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XGFLUX_WALL_A) 00598 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XGFLUX_WALL_B) 00599 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XGFLUX_ROOF) 00600 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XGFLUX_ROAD) 00601 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XGFLUX_GARDEN) 00602 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XGFLUX_GREENROOF) 00603 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XGFLUX_STRLROOF) 00604 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XGFLUX_BLT) 00605 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XLE_ROOF) 00606 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XLE_ROAD) 00607 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XLE_GARDEN) 00608 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XLE_GREENROOF) 00609 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XLE_STRLROOF) 00610 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XLE_BLT) 00611 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XRUNOFF_GREENROOF) 00612 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XDRAIN_GREENROOF) 00613 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XABS_SW_ROOF) 00614 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XABS_SW_SNOW_ROOF) 00615 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XABS_LW_ROOF) 00616 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XABS_LW_SNOW_ROOF) 00617 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XABS_SW_ROAD) 00618 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XABS_SW_SNOW_ROAD) 00619 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XABS_LW_ROAD) 00620 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XABS_LW_SNOW_ROAD) 00621 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XABS_SW_WALL_A) 00622 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XABS_SW_WALL_B) 00623 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XABS_LW_WALL_A) 00624 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XABS_LW_WALL_B) 00625 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XABS_SW_GARDEN) 00626 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XABS_LW_GARDEN) 00627 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XABS_SW_GREENROOF) 00628 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XABS_LW_GREENROOF) 00629 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XT_BLD_COOL) 00630 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XH_BLD_COOL) 00631 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XH_BLD_HEAT) 00632 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XLE_BLD_COOL) 00633 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XLE_BLD_HEAT) 00634 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XHVAC_COOL) 00635 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XHVAC_HEAT) 00636 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XH_WASTE) 00637 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XLE_WASTE) 00638 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XCAP_SYS) 00639 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XM_SYS) 00640 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XCOP) 00641 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XQ_SYS) 00642 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XT_SYS) 00643 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XTR_SW_WIN) 00644 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XFAN_POWER) 00645 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XABS_SW_WIN) 00646 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XABS_LW_WIN) 00647 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XEMIT_LW_GRND) 00648 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XEMIT_LW_FAC) 00649 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XT_RAD_IND) 00650 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XREF_SW_GRND) 00651 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XREF_SW_FAC) 00652 NULLIFY(DIAG_MISC_TEB_MODEL(J,JP)%XHU_BLD) 00653 ENDDO 00654 ENDDO 00655 IF (LHOOK) CALL DR_HOOK("MODD_DIAG_MISC_TEB_N:DIAG_MISC_TEB_ALLOC",1,ZHOOK_HANDLE) 00656 END SUBROUTINE DIAG_MISC_TEB_ALLOC 00657 00658 SUBROUTINE DIAG_MISC_TEB_DEALLO 00659 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00660 IF (LHOOK) CALL DR_HOOK("MODD_DIAG_MISC_TEB_N:DIAG_MISC_TEB_DEALLO",0,ZHOOK_HANDLE) 00661 IF (ALLOCATED(DIAG_MISC_TEB_MODEL)) DEALLOCATE(DIAG_MISC_TEB_MODEL) 00662 IF (LHOOK) CALL DR_HOOK("MODD_DIAG_MISC_TEB_N:DIAG_MISC_TEB_DEALLO",1,ZHOOK_HANDLE) 00663 END SUBROUTINE DIAG_MISC_TEB_DEALLO 00664 00665 00666 END MODULE MODD_DIAG_MISC_TEB_n
1.8.0