SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/modd_diag_misc_tebn.F90
Go to the documentation of this file.
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