SURFEX v7.3
General documentation of Surfex
|
00001 !################## 00002 MODULE MODD_TEB_GREENROOF_n 00003 !################## 00004 ! 00005 !!**** *MODD_TEB_GREENROOF - declaration of ISBA scheme packed surface parameters for urban green roofs 00006 !! 00007 !! PURPOSE 00008 !! ------- 00009 ! 00010 !! 00011 !!** IMPLICIT ARGUMENTS 00012 !! ------------------ 00013 !! None 00014 !! 00015 !! REFERENCE 00016 !! --------- 00017 !! 00018 !! AUTHOR 00019 !! ------ 00020 !! A. Lemonsu *Meteo France* 00021 !! 00022 !! MODIFICATIONS 00023 !! ------------- 00024 !! Original 09/2009 00025 !! C. de Munck 06/2011 00026 !! 00027 !------------------------------------------------------------------------------- 00028 ! 00029 !* 0. DECLARATIONS 00030 ! ------------ 00031 ! 00032 USE MODD_TYPE_SNOW 00033 ! 00034 ! 00035 USE YOMHOOK ,ONLY : LHOOK, DR_HOOK 00036 USE PARKIND1 ,ONLY : JPRB 00037 ! 00038 IMPLICIT NONE 00039 00040 00041 00042 00043 TYPE TEB_GREENROOF_OPTIONS_t 00044 !------------------------------------------------------------------------------- 00045 ! 00046 ! type of initialization : from cover types (ecoclimap) or parameters prescribed 00047 ! 00048 LOGICAL :: LPAR_GREENROOF ! T: parameters computed from ecoclimap 00049 ! ! F: they are read in the file 00050 ! 00051 ! ISBA Scheme Options specific to urban green roofs: 00052 ! 00053 CHARACTER(LEN=3) :: CISBA_GR ! type of ISBA version ('2-L' = default, '3-L', 'DIF') 00054 CHARACTER(LEN=4) :: CSCOND_GR ! Thermal conductivity ('DEF '= NP89 implicit method , 00055 ! 'PL98' = Peters-Lidard et al. 1998 used for explicit computation of CG) 00056 ! 00057 LOGICAL :: LTR_ML_GR 00058 !------------------------------------------------------------------------------- 00059 ! 00060 ! type of initialization of vegetation: from cover types (ecoclimap) or parameters prescribed 00061 ! 00062 INTEGER :: NLAYER_GR ! number of ground layers 00063 INTEGER :: NTIME_GR ! number of time data : for VEG, LAI, EMIS, Z0 00064 ! 00065 INTEGER :: NLAYER_HORT_GR 00066 INTEGER :: NLAYER_DUN_GR 00067 ! 00068 REAL, POINTER, DIMENSION(:) :: XSOILGRID_GR ! Soil layer grid as reference for DIF 00069 !------------------------------------------------------------------------------- 00070 ! 00071 ! - SGH scheme 00072 ! 00073 CHARACTER(LEN=4) :: CRUNOFF_GR ! surface runoff formulation for green roofs 00074 ! ! 'WSAT' 00075 ! ! 'DT92' 00076 ! ! 'SGH ' Topmodel 00077 CHARACTER(LEN=3) :: CTOPREG_GR ! Wolock and McCabe (2000) linear regression for Topmodel 00078 ! ! 'DEF' = Reg 00079 ! ! 'NON' = no Reg 00080 CHARACTER(LEN=3) :: CKSAT_GR ! ksat 00081 ! ! 'DEF' = default value 00082 ! ! 'SGH' = profil exponentiel 00083 CHARACTER(LEN=3) :: CHORT_GR ! Horton runoff 00084 ! ! 'DEF' = no Horton runoff 00085 ! ! 'SGH' = Horton runoff 00086 CHARACTER(LEN=3) :: CSOC_GR ! soil organic carbon effect 00087 ! ! 'DEF' = default value 00088 ! ! 'SGH' = SOC profil 00089 ! 00090 !------------------------------------------------------------------------------- 00091 ! 00092 ! Type of green roof (characterization of green roof structure based on GR vegetation) 00093 ! 00094 CHARACTER(LEN=5) :: CTYP_GR ! type of green roof 00095 ! 00096 !------------------------------------------------------------------------------- 00097 ! 00098 END TYPE TEB_GREENROOF_OPTIONS_t 00099 00100 00101 00102 00103 TYPE TEB_GREENROOF_PGD_t 00104 !------------------------------------------------------------------------------- 00105 ! 00106 ! Mask and number of grid elements containing patches/tiles: 00107 ! 00108 REAL, POINTER, DIMENSION(:,:) :: XVEGTYPE ! fraction of each vegetation type for 00109 ! ! each grid mesh (-) 00110 ! 00111 !------------------------------------------------------------------------------- 00112 ! 00113 ! Averaged Surface radiative parameters: 00114 ! 00115 REAL, POINTER, DIMENSION(:) :: XALBNIR_DRY ! dry soil near-infra-red albedo (-) 00116 REAL, POINTER, DIMENSION(:) :: XALBVIS_DRY ! dry soil visible albedo (-) 00117 REAL, POINTER, DIMENSION(:) :: XALBUV_DRY ! dry soil UV albedo (-) 00118 REAL, POINTER, DIMENSION(:) :: XALBNIR_WET ! wet soil near-infra-red albedo (-) 00119 REAL, POINTER, DIMENSION(:) :: XALBVIS_WET ! wet soil visible albedo (-) 00120 REAL, POINTER, DIMENSION(:) :: XALBUV_WET ! wet soil UV albedo (-) 00121 REAL, POINTER, DIMENSION(:) :: XALBNIR_SOIL ! soil near-infra-red albedo (-) 00122 REAL, POINTER, DIMENSION(:) :: XALBVIS_SOIL ! soil visible albedo (-) 00123 REAL, POINTER, DIMENSION(:) :: XALBUV_SOIL ! soil UV albedo (-) 00124 REAL, POINTER, DIMENSION(:) :: XALBNIR_TSOIL ! total near-infra-red albedo of wet soil (-) 00125 REAL, POINTER, DIMENSION(:) :: XALBVIS_TSOIL ! total visible albedo of soil (-) 00126 ! 00127 !------------------------------------------------------------------------------- 00128 ! 00129 ! Input Parameters, per patch: 00130 ! 00131 ! - vegetation + bare soil: 00132 ! 00133 REAL, POINTER, DIMENSION(:) :: XZ0_O_Z0H ! ratio of surface roughness lengths 00134 ! ! (momentum to heat) (-) 00135 00136 ! 00137 ! - vegetation: 00138 ! 00139 REAL, POINTER, DIMENSION(:) :: XALBNIR_VEG ! vegetation near-infra-red albedo (-) 00140 REAL, POINTER, DIMENSION(:) :: XALBVIS_VEG ! vegetation visible albedo (-) 00141 REAL, POINTER, DIMENSION(:) :: XALBUV_VEG ! vegetation UV albedo (-) 00142 REAL, POINTER, DIMENSION(:) :: XALBNIR_TVEG ! total near-infra-red albedo of vegetation (-) 00143 REAL, POINTER, DIMENSION(:) :: XALBVIS_TVEG ! total visible albedo of vegetation (-) 00144 ! 00145 ! - vegetation: default option (Jarvis) and general parameters: 00146 ! 00147 REAL, POINTER, DIMENSION(:) :: XWRMAX_CF ! coefficient for maximum water 00148 ! interception 00149 ! storage capacity on the vegetation (-) 00150 REAL, POINTER, DIMENSION(:) :: XRSMIN ! minimum stomatal resistance (s/m) 00151 REAL, POINTER, DIMENSION(:) :: XGAMMA ! coefficient for the calculation 00152 ! of the surface stomatal 00153 ! resistance 00154 REAL, POINTER, DIMENSION(:) :: XCV ! vegetation thermal inertia coefficient (K m2/J) 00155 REAL, POINTER, DIMENSION(:) :: XRGL ! maximum solar radiation 00156 ! usable in photosynthesis (W/m2) 00157 REAL, POINTER, DIMENSION(:,:) :: XROOTFRAC ! root fraction profile ('DIF' option) 00158 ! 00159 !------------------------------------------------------------------------------- 00160 ! 00161 ! - vegetation: Ags parameters ('AGS', 'LAI', 'AST', 'LST', 'NIT', 'NCB' options) 00162 ! 00163 REAL, POINTER, DIMENSION(:) :: XABC ! abscissa needed for integration 00164 ! of net assimilation and stomatal 00165 ! conductance over canopy depth (-) 00166 REAL, POINTER, DIMENSION(:) :: XPOI ! Gaussian weights for integration 00167 ! of net assimilation and stomatal 00168 ! conductance over canopy depth (-) 00169 REAL, POINTER, DIMENSION(:) :: XBSLAI ! ratio d(biomass)/d(lai) (kg/m2) 00170 REAL, POINTER, DIMENSION(:) :: XLAIMIN ! minimum LAI (Leaf Area Index) (m2/m2) 00171 REAL, POINTER, DIMENSION(:) :: XSEFOLD ! e-folding time for senescence (s) 00172 REAL, POINTER, DIMENSION(:) :: XH_TREE ! height of trees (m) 00173 REAL, POINTER, DIMENSION(:) :: XANF ! total assimilation over canopy ( 00174 REAL, POINTER, DIMENSION(:) :: XANMAX ! maximum photosynthesis rate ( 00175 REAL, POINTER, DIMENSION(:) :: XFZERO ! ideal value of F, no photo- 00176 ! respiration or saturation deficit ( 00177 REAL, POINTER, DIMENSION(:) :: XEPSO ! maximum initial quantum use 00178 ! efficiency (mg J-1 PAR) 00179 REAL, POINTER, DIMENSION(:) :: XGAMM ! CO2 conpensation concentration (ppm) 00180 REAL, POINTER, DIMENSION(:) :: XQDGAMM ! Q10 function for CO2 conpensation 00181 ! concentration (-) 00182 REAL, POINTER, DIMENSION(:) :: XGMES ! mesophyll conductance (m s-1) 00183 REAL, POINTER, DIMENSION(:) :: XRE25 ! Ecosystem respiration parameter (kg/kg.m.s-1) 00184 REAL, POINTER, DIMENSION(:) :: XQDGMES ! Q10 function for mesophyll conductance (-) 00185 REAL, POINTER, DIMENSION(:) :: XT1GMES ! reference temperature for computing 00186 ! compensation concentration function for 00187 ! mesophyll conductance: minimum 00188 ! temperature (K) 00189 REAL, POINTER, DIMENSION(:) :: XT2GMES ! reference temperature for computing 00190 ! compensation concentration function for 00191 ! mesophyll conductance: maximum 00192 ! temperature (K) 00193 REAL, POINTER, DIMENSION(:) :: XAMAX ! leaf photosynthetic capacity (mg m-2 s-1) 00194 REAL, POINTER, DIMENSION(:) :: XQDAMAX ! Q10 function for leaf photosynthetic 00195 ! capacity (-) 00196 REAL, POINTER, DIMENSION(:) :: XT1AMAX ! reference temperature for computing 00197 ! compensation concentration function for 00198 ! leaf photosynthetic capacity: minimum 00199 ! temperature (K) 00200 REAL, POINTER, DIMENSION(:) :: XT2AMAX ! reference temperature for computing 00201 ! compensation concentration function for 00202 ! leaf photosynthetic capacity: maximum 00203 ! temperature (K) 00204 ! 00205 !------------------------------------------------------------------------------- 00206 ! 00207 ! - vegetation: Ags Stress parameters ('AST', 'LST', 'NIT', 'NCB' options) 00208 ! 00209 LOGICAL, POINTER, DIMENSION(:):: LSTRESS ! vegetation response (offensive/defensive) 00210 REAL, POINTER, DIMENSION(:) :: XF2I ! critical normilized soil water 00211 ! content for stress parameterisation 00212 REAL, POINTER, DIMENSION(:) :: XGC ! cuticular conductance (m s-1) 00213 REAL, POINTER, DIMENSION(:) :: XAH ! coefficients for herbaceous water stress 00214 ! response (offensive or defensive) (log(mm/s)) 00215 REAL, POINTER, DIMENSION(:) :: XBH ! coefficients for herbaceous water stress 00216 ! response (offensive or defensive) (-) 00217 REAL, POINTER, DIMENSION(:) :: XDMAX ! maximum air saturation deficit 00218 ! tolerate by vegetation (kg/kg) 00219 ! 00220 !------------------------------------------------------------------------------- 00221 ! 00222 ! - vegetation: Ags Nitrogen-model parameters ('NIT', 'NCB' option) 00223 ! 00224 REAL, POINTER, DIMENSION(:) :: XCE_NITRO ! leaf aera ratio sensitivity to 00225 ! nitrogen concentration (m2/kg) 00226 REAL, POINTER, DIMENSION(:) :: XCF_NITRO ! lethal minimum value of leaf area 00227 ! ratio (m2/kg) 00228 REAL, POINTER, DIMENSION(:) :: XCNA_NITRO ! nitrogen concentration of active 00229 ! biomass (kg/kg) 00230 REAL, POINTER, DIMENSION(:) :: XBSLAI_NITRO ! biomass/LAI ratio from nitrogen 00231 ! decline theory (kg/m2) 00232 ! 00233 !------------------------------------------------------------------------------- 00234 ! 00235 ! - soil: primary parameters 00236 ! 00237 REAL, POINTER, DIMENSION(:,:) :: XOM_GR ! green roof OM fraction (-) 00238 REAL, POINTER, DIMENSION(:,:) :: XSAND_GR ! green roof sand fraction of the non-OM part (-) 00239 REAL, POINTER, DIMENSION(:,:) :: XCLAY_GR ! green roof clay fraction of the non-OM part (-) 00240 REAL, POINTER, DIMENSION(:) :: XRUNOFFB_GR ! green roof sub-grid surface runoff slope parameter (-) 00241 REAL, POINTER, DIMENSION(:) :: XWDRAIN_GR ! green roof continuous drainage parameter (-) 00242 REAL, POINTER, DIMENSION(:) :: XTAUICE ! soil freezing characteristic timescale (s) 00243 REAL, POINTER, DIMENSION(:) :: XGAMMAT ! 'Force-Restore' timescale when using a 00244 ! prescribed lower boundary temperature (1/days) 00245 REAL, POINTER, DIMENSION(:,:) :: XDG ! soil layer thicknesses (m) 00246 ! NOTE: in Force-Restore mode, the 00247 ! uppermost layer thickness is superficial 00248 ! and is only explicitly used for soil 00249 ! water phase changes (m) 00250 REAL, POINTER, DIMENSION(:) :: XRUNOFFD ! depth over which sub-grid runoff is 00251 ! computed: in Force-Restore this is the 00252 ! total soil column ('2-L'), or root zone 00253 ! ('3-L'). For the 'DIF' option, it can 00254 ! be any depth within soil column (m) 00255 ! 00256 REAL, POINTER, DIMENSION(:,:) :: XSOILWGHT ! ISBA-DIF: weights for vertical 00257 REAL, POINTER, DIMENSION(:,:) :: XDZG ! soil layers thicknesses (DIF option) 00258 REAL, POINTER, DIMENSION(:,:) :: XDZDIF ! distance between consecuative layer mid-points (DIF option) 00259 ! 00260 INTEGER, POINTER, DIMENSION(:) :: NWG_LAYER ! Number of soil moisture layers for DIF 00261 REAL, POINTER, DIMENSION(:) :: XDROOT ! effective root depth for DIF (m) 00262 REAL, POINTER, DIMENSION(:) :: XDG2 ! root depth for DIF as 3-L (m) 00263 !------------------------------------------------------------------------------- 00264 ! 00265 ! - soil: Secondary parameters: hydrology 00266 ! 00267 REAL, POINTER, DIMENSION(:) :: XC1SAT ! 'Force-Restore' C1 coefficient at 00268 ! saturation (-) 00269 REAL, POINTER, DIMENSION(:) :: XC2REF ! 'Force-Restore' reference value of C2 (-) 00270 REAL, POINTER, DIMENSION(:,:) :: XC3 ! 'Force-Restore' C3 drainage coefficient (m) 00271 REAL, POINTER, DIMENSION(:) :: XC4B ! 'Force-Restore' sub-surface vertical 00272 ! diffusion coefficient (slope parameter) (-) 00273 REAL, POINTER, DIMENSION(:) :: XC4REF ! 'Force-Restore' sub-surface vertical 00274 ! diffusion coefficient (-) 00275 REAL, POINTER, DIMENSION(:) :: XACOEF ! 'Force-Restore' surface vertical 00276 ! diffusion coefficient (-) 00277 REAL, POINTER, DIMENSION(:) :: XPCOEF ! 'Force-Restore' surface vertical 00278 ! diffusion coefficient (-) 00279 REAL, POINTER, DIMENSION(:,:) :: XWFC ! field capacity volumetric water content 00280 ! profile (m3/m3) 00281 REAL, POINTER, DIMENSION(:,:) :: XWWILT ! wilting point volumetric water content 00282 ! profile 00283 REAL, POINTER, DIMENSION(:,:) :: XWSAT ! porosity profile (m3/m3) 00284 REAL, POINTER, DIMENSION(:,:) :: XBCOEF ! soil water CH78 b-parameter (-) 00285 REAL, POINTER, DIMENSION(:,:) :: XCONDSAT ! hydraulic conductivity at saturation (m/s) 00286 REAL, POINTER, DIMENSION(:,:) :: XMPOTSAT ! matric potential at saturation (m) 00287 ! 00288 REAL, POINTER, DIMENSION(:) :: XPCPS 00289 REAL, POINTER, DIMENSION(:) :: XPLVTT 00290 REAL, POINTER, DIMENSION(:) :: XPLSTT 00291 ! 00292 !------------------------------------------------------------------------------- 00293 ! 00294 ! - soil: Secondary parameters: thermal 00295 ! 00296 REAL, POINTER, DIMENSION(:) :: XCGSAT ! soil thermal inertia coefficient at 00297 ! saturation (K m2/J) 00298 REAL, POINTER, DIMENSION(:,:) :: XHCAPSOIL ! soil heat capacity (J/K/m3) 00299 REAL, POINTER, DIMENSION(:,:) :: XCONDDRY ! soil dry thermal conductivity (W/m/K) 00300 REAL, POINTER, DIMENSION(:,:) :: XCONDSLD ! soil solids thermal conductivity (W/m/K) 00301 REAL, POINTER, DIMENSION(:) :: XTDEEP ! prescribed deep soil temperature 00302 ! (optional) (K) 00303 ! 00304 ! - SGH scheme 00305 ! 00306 REAL, POINTER, DIMENSION(:) :: XD_ICE ! depth of the soil column for the calculation 00307 ! of the frozen soil fraction (m) 00308 !------------------------------------------------------------------------------- 00309 ! 00310 END TYPE TEB_GREENROOF_PGD_t 00311 00312 00313 TYPE TEB_GREENROOF_PGD_EVOL_t 00314 ! - Vegetation: Ags Prognostic (YPHOTO = ('LAI', 'LST', or 'NIT') or prescribed (YPHOTO='NON', 'AGS' or 'LST') 00315 ! 00316 REAL, POINTER, DIMENSION(:) :: XLAI ! Leaf Area Index (m2/m2) 00317 REAL, POINTER, DIMENSION(:) :: XVEG ! vegetation cover fraction (-) 00318 REAL, POINTER, DIMENSION(:) :: XALBNIR ! near-infra-red albedo (-) 00319 REAL, POINTER, DIMENSION(:) :: XALBVIS ! visible albedo (-) 00320 REAL, POINTER, DIMENSION(:) :: XALBUV ! UV albedo (-) 00321 REAL, POINTER, DIMENSION(:) :: XEMIS ! surface emissivity (-) 00322 REAL, POINTER, DIMENSION(:) :: XZ0 ! surface roughness length (m) 00323 ! 00324 END TYPE TEB_GREENROOF_PGD_EVOL_t 00325 00326 00327 TYPE TEB_GREENROOF_t 00328 !------------------------------------------------------------------------------- 00329 ! 00330 ! Prognostic variables: 00331 ! 00332 ! - Snow Cover: 00333 ! 00334 TYPE(SURF_SNOW) :: TSNOW ! snow state: 00335 ! scheme type/option (-) 00336 ! number of layers (-) 00337 ! snow (& liq. water) content (kg/m2) 00338 ! heat content (J/m2) 00339 ! temperature (K) 00340 ! density (kg m-3) 00341 ! 00342 ! - Soil and vegetation heat and water: 00343 ! 00344 REAL, POINTER, DIMENSION(:) :: XWR ! liquid water retained on the 00345 ! foliage of the vegetation 00346 ! canopy (kg/m2) 00347 REAL, POINTER, DIMENSION(:,:) :: XTG ! surface and sub-surface soil 00348 ! temperature profile (K) 00349 REAL, POINTER, DIMENSION(:,:) :: XWG ! soil volumetric water content profile (m3/m3) 00350 REAL, POINTER, DIMENSION(:,:) :: XWGI ! soil liquid water equivalent volumetric 00351 ! ice content profile (m3/m3) 00352 REAL, POINTER, DIMENSION(:) :: XRESA ! aerodynamic resistance (s/m) 00353 ! 00354 00355 ! - Vegetation: Ags Prognostic (YPHOTO = 'AGS', 'LAI', 'AST', 'LST', 'NIT', 'NCB') 00356 ! 00357 REAL, POINTER, DIMENSION(:) :: XAN ! net CO2 assimilation (mg/m2/s) 00358 REAL, POINTER, DIMENSION(:) :: XANDAY ! daily net CO2 assimilation (mg/m2) 00359 REAL, POINTER, DIMENSION(:) :: XANFM ! maximum leaf assimilation (mg/m2/s) 00360 REAL, POINTER, DIMENSION(:) :: XLE ! evapotranspiration (W/m2) 00361 REAL, POINTER, DIMENSION(:) :: XFAPARC ! Fapar of vegetation (cumul) 00362 REAL, POINTER, DIMENSION(:) :: XFAPIRC ! Fapir of vegetation (cumul) 00363 REAL, POINTER, DIMENSION(:) :: XLAI_EFFC ! Effective LAI (cumul) 00364 REAL, POINTER, DIMENSION(:) :: XMUS ! cos zenithal angle (cumul) 00365 ! 00366 ! - Vegetation: Ags Prognostic (YPHOTO = 'NIT', 'NCB') 00367 ! 00368 REAL, POINTER, DIMENSION(:,:) :: XRESP_BIOMASS ! daily cumulated respiration of 00369 ! biomass (kg/m2/s) 00370 REAL, POINTER, DIMENSION(:,:) :: XBIOMASS ! biomass of previous day (kg/m2) 00371 ! 00372 ! - SGH scheme 00373 ! 00374 REAL, POINTER, DIMENSION(:) :: XKSAT_ICE ! hydraulic conductivity at saturation 00375 ! over frozen area (m s-1) 00376 !------------------------------------------------------------------------------- 00377 ! 00378 ! - Snow and flood fractions and total albedo at time t: 00379 ! 00380 REAL, POINTER, DIMENSION(:) :: XPSNG ! Snow fraction over ground 00381 REAL, POINTER, DIMENSION(:) :: XPSNV ! Snow fraction over vegetation 00382 REAL, POINTER, DIMENSION(:) :: XPSNV_A ! Snow fraction over vegetation 00383 REAL, POINTER, DIMENSION(:) :: XPSN ! Total Snow fraction 00384 ! 00385 REAL, POINTER, DIMENSION(:) :: XSNOWFREE_ALB ! snow free albedo (-) 00386 REAL, POINTER, DIMENSION(:) :: XSNOWFREE_ALB_VEG ! snow free albedo for vegetation (-) 00387 REAL, POINTER, DIMENSION(:) :: XSNOWFREE_ALB_SOIL ! snow free albedo for soil (-) 00388 ! 00389 !------------------------------------------------------------------------------- 00390 ! 00391 END TYPE TEB_GREENROOF_t 00392 00393 00394 00395 TYPE(TEB_GREENROOF_OPTIONS_t), ALLOCATABLE, TARGET, SAVE :: TEB_GREENROOF_OPTIONS_MODEL(:) 00396 TYPE(TEB_GREENROOF_PGD_t), ALLOCATABLE, TARGET, SAVE :: TEB_GREENROOF_PGD_MODEL(:) 00397 TYPE(TEB_GREENROOF_PGD_EVOL_t),ALLOCATABLE, TARGET, SAVE :: TEB_GREENROOF_PGD_EVOL_MODEL(:,:) 00398 TYPE(TEB_GREENROOF_t), ALLOCATABLE, TARGET, SAVE :: TEB_GREENROOF_MODEL(:,:) 00399 00400 00401 00402 LOGICAL, POINTER :: LPAR_GREENROOF=>NULL() 00403 !$OMP THREADPRIVATE(LPAR_GREENROOF) 00404 CHARACTER(LEN=3), POINTER :: CISBA_GR=>NULL() 00405 !$OMP THREADPRIVATE(CISBA_GR) 00406 CHARACTER(LEN=4), POINTER :: CRUNOFF_GR=>NULL() 00407 !$OMP THREADPRIVATE(CRUNOFF_GR) 00408 CHARACTER(LEN=4), POINTER :: CSCOND_GR=>NULL() 00409 !$OMP THREADPRIVATE(CSCOND_GR) 00410 LOGICAL, POINTER :: LTR_ML_GR=>NULL() 00411 !$OMP THREADPRIVATE(LTR_ML_GR) 00412 REAL, POINTER, DIMENSION(:,:) :: XVEGTYPE=>NULL() 00413 !$OMP THREADPRIVATE(XVEGTYPE) 00414 INTEGER, POINTER :: NLAYER_GR=>NULL() 00415 !$OMP THREADPRIVATE(NLAYER_GR) 00416 INTEGER, POINTER :: NLAYER_HORT_GR=>NULL() 00417 !$OMP THREADPRIVATE(NLAYER_HORT_GR) 00418 INTEGER, POINTER :: NLAYER_DUN_GR=>NULL() 00419 !$OMP THREADPRIVATE(NLAYER_DUN_GR) 00420 REAL, POINTER, DIMENSION(:) :: XSOILGRID_GR=>NULL() 00421 !$OMP THREADPRIVATE(XSOILGRID_GR) 00422 INTEGER, POINTER :: NTIME_GR=>NULL() 00423 !$OMP THREADPRIVATE(NTIME_GR) 00424 REAL, POINTER, DIMENSION(:) :: XALBNIR_DRY=>NULL() 00425 !$OMP THREADPRIVATE(XALBNIR_DRY) 00426 REAL, POINTER, DIMENSION(:) :: XALBVIS_DRY=>NULL() 00427 !$OMP THREADPRIVATE(XALBVIS_DRY) 00428 REAL, POINTER, DIMENSION(:) :: XALBUV_DRY=>NULL() 00429 !$OMP THREADPRIVATE(XALBUV_DRY) 00430 REAL, POINTER, DIMENSION(:) :: XALBNIR_WET=>NULL() 00431 !$OMP THREADPRIVATE(XALBNIR_WET) 00432 REAL, POINTER, DIMENSION(:) :: XALBVIS_WET=>NULL() 00433 !$OMP THREADPRIVATE(XALBVIS_WET) 00434 REAL, POINTER, DIMENSION(:) :: XALBUV_WET=>NULL() 00435 !$OMP THREADPRIVATE(XALBUV_WET) 00436 REAL, POINTER, DIMENSION(:) :: XALBNIR_SOIL=>NULL() 00437 !$OMP THREADPRIVATE(XALBNIR_SOIL) 00438 REAL, POINTER, DIMENSION(:) :: XALBVIS_SOIL=>NULL() 00439 !$OMP THREADPRIVATE(XALBVIS_SOIL) 00440 REAL, POINTER, DIMENSION(:) :: XALBUV_SOIL=>NULL() 00441 !$OMP THREADPRIVATE(XALBUV_SOIL) 00442 REAL, POINTER, DIMENSION(:) :: XALBNIR_TSOIL=>NULL() 00443 !$OMP THREADPRIVATE(XALBNIR_TSOIL) 00444 REAL, POINTER, DIMENSION(:) :: XALBVIS_TSOIL=>NULL() 00445 !$OMP THREADPRIVATE(XALBVIS_TSOIL) 00446 REAL, POINTER, DIMENSION(:) :: XZ0_O_Z0H=>NULL() 00447 !$OMP THREADPRIVATE(XZ0_O_Z0H) 00448 REAL, POINTER, DIMENSION(:) :: XALBNIR=>NULL() 00449 !$OMP THREADPRIVATE(XALBNIR) 00450 REAL, POINTER, DIMENSION(:) :: XALBVIS=>NULL() 00451 !$OMP THREADPRIVATE(XALBVIS) 00452 REAL, POINTER, DIMENSION(:) :: XALBUV=>NULL() 00453 !$OMP THREADPRIVATE(XALBUV) 00454 REAL, POINTER, DIMENSION(:) :: XEMIS=>NULL() 00455 !$OMP THREADPRIVATE(XEMIS) 00456 REAL, POINTER, DIMENSION(:) :: XZ0=>NULL() 00457 !$OMP THREADPRIVATE(XZ0) 00458 REAL, POINTER, DIMENSION(:) :: XALBNIR_VEG=>NULL() 00459 !$OMP THREADPRIVATE(XALBNIR_VEG) 00460 REAL, POINTER, DIMENSION(:) :: XALBVIS_VEG=>NULL() 00461 !$OMP THREADPRIVATE(XALBVIS_VEG) 00462 REAL, POINTER, DIMENSION(:) :: XALBUV_VEG=>NULL() 00463 !$OMP THREADPRIVATE(XALBUV_VEG) 00464 REAL, POINTER, DIMENSION(:) :: XALBNIR_TVEG=>NULL() 00465 !$OMP THREADPRIVATE(XALBNIR_TVEG) 00466 REAL, POINTER, DIMENSION(:) :: XALBVIS_TVEG=>NULL() 00467 !$OMP THREADPRIVATE(XALBVIS_TVEG) 00468 REAL, POINTER, DIMENSION(:) :: XVEG=>NULL() 00469 !$OMP THREADPRIVATE(XVEG) 00470 REAL, POINTER, DIMENSION(:) :: XWRMAX_CF=>NULL() 00471 !$OMP THREADPRIVATE(XWRMAX_CF) 00472 REAL, POINTER, DIMENSION(:) :: XRSMIN=>NULL() 00473 !$OMP THREADPRIVATE(XRSMIN) 00474 REAL, POINTER, DIMENSION(:) :: XGAMMA=>NULL() 00475 !$OMP THREADPRIVATE(XGAMMA) 00476 REAL, POINTER, DIMENSION(:) :: XCV=>NULL() 00477 !$OMP THREADPRIVATE(XCV) 00478 REAL, POINTER, DIMENSION(:) :: XRGL=>NULL() 00479 !$OMP THREADPRIVATE(XRGL) 00480 REAL, POINTER, DIMENSION(:,:) :: XROOTFRAC=>NULL() 00481 !$OMP THREADPRIVATE(XROOTFRAC) 00482 REAL, DIMENSION(:), POINTER :: XABC=>NULL() 00483 !$OMP THREADPRIVATE(XABC) 00484 REAL, DIMENSION(:), POINTER :: XPOI=>NULL() 00485 !$OMP THREADPRIVATE(XPOI) 00486 REAL, POINTER, DIMENSION(:) :: XBSLAI=>NULL() 00487 !$OMP THREADPRIVATE(XBSLAI) 00488 REAL, POINTER, DIMENSION(:) :: XLAIMIN=>NULL() 00489 !$OMP THREADPRIVATE(XLAIMIN) 00490 REAL, POINTER, DIMENSION(:) :: XSEFOLD=>NULL() 00491 !$OMP THREADPRIVATE(XSEFOLD) 00492 REAL, POINTER, DIMENSION(:) :: XH_TREE=>NULL() 00493 !$OMP THREADPRIVATE(XH_TREE) 00494 REAL, POINTER, DIMENSION(:) :: XANF=>NULL() 00495 !$OMP THREADPRIVATE(XANF) 00496 REAL, POINTER, DIMENSION(:) :: XANMAX=>NULL() 00497 !$OMP THREADPRIVATE(XANMAX) 00498 REAL, POINTER, DIMENSION(:) :: XFZERO=>NULL() 00499 !$OMP THREADPRIVATE(XFZERO) 00500 REAL, POINTER, DIMENSION(:) :: XEPSO=>NULL() 00501 !$OMP THREADPRIVATE(XEPSO) 00502 REAL, POINTER, DIMENSION(:) :: XGAMM=>NULL() 00503 !$OMP THREADPRIVATE(XGAMM) 00504 REAL, POINTER, DIMENSION(:) :: XQDGAMM=>NULL() 00505 !$OMP THREADPRIVATE(XQDGAMM) 00506 REAL, POINTER, DIMENSION(:) :: XGMES=>NULL() 00507 !$OMP THREADPRIVATE(XGMES) 00508 REAL, POINTER, DIMENSION(:) :: XRE25=>NULL() 00509 !$OMP THREADPRIVATE(XRE25) 00510 REAL, POINTER, DIMENSION(:) :: XQDGMES=>NULL() 00511 !$OMP THREADPRIVATE(XQDGMES) 00512 REAL, POINTER, DIMENSION(:) :: XT1GMES=>NULL() 00513 !$OMP THREADPRIVATE(XT1GMES) 00514 REAL, POINTER, DIMENSION(:) :: XT2GMES=>NULL() 00515 !$OMP THREADPRIVATE(XT2GMES) 00516 REAL, POINTER, DIMENSION(:) :: XAMAX=>NULL() 00517 !$OMP THREADPRIVATE(XAMAX) 00518 REAL, POINTER, DIMENSION(:) :: XQDAMAX=>NULL() 00519 !$OMP THREADPRIVATE(XQDAMAX) 00520 REAL, POINTER, DIMENSION(:) :: XT1AMAX=>NULL() 00521 !$OMP THREADPRIVATE(XT1AMAX) 00522 REAL, POINTER, DIMENSION(:) :: XT2AMAX=>NULL() 00523 !$OMP THREADPRIVATE(XT2AMAX) 00524 LOGICAL, POINTER, DIMENSION(:) :: LSTRESS=>NULL() 00525 !$OMP THREADPRIVATE(LSTRESS) 00526 REAL, POINTER, DIMENSION(:) :: XF2I=>NULL() 00527 !$OMP THREADPRIVATE(XF2I) 00528 REAL, POINTER, DIMENSION(:) :: XGC=>NULL() 00529 !$OMP THREADPRIVATE(XGC) 00530 REAL, POINTER, DIMENSION(:) :: XAH=>NULL() 00531 !$OMP THREADPRIVATE(XAH) 00532 REAL, POINTER, DIMENSION(:) :: XBH=>NULL() 00533 !$OMP THREADPRIVATE(XBH) 00534 REAL, POINTER, DIMENSION(:) :: XDMAX=>NULL() 00535 !$OMP THREADPRIVATE(XDMAX) 00536 REAL, POINTER, DIMENSION(:) :: XCE_NITRO=>NULL() 00537 !$OMP THREADPRIVATE(XCE_NITRO) 00538 REAL, POINTER, DIMENSION(:) :: XCF_NITRO=>NULL() 00539 !$OMP THREADPRIVATE(XCF_NITRO) 00540 REAL, POINTER, DIMENSION(:) :: XCNA_NITRO=>NULL() 00541 !$OMP THREADPRIVATE(XCNA_NITRO) 00542 REAL, POINTER, DIMENSION(:) :: XBSLAI_NITRO=>NULL() 00543 !$OMP THREADPRIVATE(XBSLAI_NITRO) 00544 REAL, POINTER, DIMENSION(:,:) :: XOM_GR=>NULL() 00545 !$OMP THREADPRIVATE(XOM_GR) 00546 REAL, POINTER, DIMENSION(:,:) :: XSAND_GR=>NULL() 00547 !$OMP THREADPRIVATE(XSAND_GR) 00548 REAL, POINTER, DIMENSION(:,:) :: XCLAY_GR=>NULL() 00549 !$OMP THREADPRIVATE(XCLAY_GR) 00550 REAL, POINTER, DIMENSION(:) :: XRUNOFFB_GR=>NULL() 00551 !$OMP THREADPRIVATE(XRUNOFFB_GR) 00552 REAL, POINTER, DIMENSION(:) :: XWDRAIN_GR=>NULL() 00553 !$OMP THREADPRIVATE(XWDRAIN_GR) 00554 REAL, POINTER, DIMENSION(:) :: XTAUICE=>NULL() 00555 !$OMP THREADPRIVATE(XTAUICE) 00556 REAL, POINTER, DIMENSION(:) :: XGAMMAT=>NULL() 00557 !$OMP THREADPRIVATE(XGAMMAT) 00558 REAL, POINTER, DIMENSION(:,:) :: XDG=>NULL() 00559 !$OMP THREADPRIVATE(XDG) 00560 REAL, POINTER, DIMENSION(:) :: XRUNOFFD=>NULL() 00561 !$OMP THREADPRIVATE(XRUNOFFD) 00562 REAL, POINTER, DIMENSION(:,:) :: XSOILWGHT=>NULL() 00563 !$OMP THREADPRIVATE(XSOILWGHT) 00564 REAL, POINTER, DIMENSION(:,:) :: XDZG=>NULL() 00565 !$OMP THREADPRIVATE(XDZG) 00566 REAL, POINTER, DIMENSION(:,:) :: XDZDIF=>NULL() 00567 !$OMP THREADPRIVATE(XDZDIF) 00568 INTEGER, POINTER, DIMENSION(:) :: NWG_LAYER=>NULL() 00569 !$OMP THREADPRIVATE(NWG_LAYER) 00570 REAL, POINTER, DIMENSION(:) :: XDROOT=>NULL() 00571 !$OMP THREADPRIVATE(XDROOT) 00572 REAL, POINTER, DIMENSION(:) :: XDG2=>NULL() 00573 !$OMP THREADPRIVATE(XDG2) 00574 REAL, POINTER, DIMENSION(:) :: XC1SAT=>NULL() 00575 !$OMP THREADPRIVATE(XC1SAT) 00576 REAL, POINTER, DIMENSION(:) :: XC2REF=>NULL() 00577 !$OMP THREADPRIVATE(XC2REF) 00578 REAL, POINTER, DIMENSION(:,:) :: XC3=>NULL() 00579 !$OMP THREADPRIVATE(XC3) 00580 REAL, POINTER, DIMENSION(:) :: XC4B=>NULL() 00581 !$OMP THREADPRIVATE(XC4B) 00582 REAL, POINTER, DIMENSION(:) :: XC4REF=>NULL() 00583 !$OMP THREADPRIVATE(XC4REF) 00584 REAL, POINTER, DIMENSION(:) :: XACOEF=>NULL() 00585 !$OMP THREADPRIVATE(XACOEF) 00586 REAL, POINTER, DIMENSION(:) :: XPCOEF=>NULL() 00587 !$OMP THREADPRIVATE(XPCOEF) 00588 REAL, POINTER, DIMENSION(:,:) :: XWFC=>NULL() 00589 !$OMP THREADPRIVATE(XWFC) 00590 REAL, POINTER, DIMENSION(:,:) :: XWWILT=>NULL() 00591 !$OMP THREADPRIVATE(XWWILT) 00592 REAL, POINTER, DIMENSION(:,:) :: XWSAT=>NULL() 00593 !$OMP THREADPRIVATE(XWSAT) 00594 REAL, POINTER, DIMENSION(:,:) :: XBCOEF=>NULL() 00595 !$OMP THREADPRIVATE(XBCOEF) 00596 REAL, POINTER, DIMENSION(:,:) :: XCONDSAT=>NULL() 00597 !$OMP THREADPRIVATE(XCONDSAT) 00598 REAL, POINTER, DIMENSION(:,:) :: XMPOTSAT=>NULL() 00599 !$OMP THREADPRIVATE(XMPOTSAT) 00600 REAL, POINTER, DIMENSION(:) :: XCGSAT=>NULL() 00601 !$OMP THREADPRIVATE(XCGSAT) 00602 REAL, POINTER, DIMENSION(:,:) :: XHCAPSOIL=>NULL() 00603 !$OMP THREADPRIVATE(XHCAPSOIL) 00604 REAL, POINTER, DIMENSION(:,:) :: XCONDDRY=>NULL() 00605 !$OMP THREADPRIVATE(XCONDDRY) 00606 REAL, POINTER, DIMENSION(:,:) :: XCONDSLD=>NULL() 00607 !$OMP THREADPRIVATE(XCONDSLD) 00608 REAL, POINTER, DIMENSION(:) :: XTDEEP=>NULL() 00609 !$OMP THREADPRIVATE(XTDEEP) 00610 TYPE(SURF_SNOW), POINTER :: TSNOW=>NULL() 00611 !$OMP THREADPRIVATE(TSNOW) 00612 REAL, POINTER, DIMENSION(:) :: XWR=>NULL() 00613 !$OMP THREADPRIVATE(XWR) 00614 REAL, POINTER, DIMENSION(:,:) :: XTG=>NULL() 00615 !$OMP THREADPRIVATE(XTG) 00616 REAL, POINTER, DIMENSION(:,:) :: XWG=>NULL() 00617 !$OMP THREADPRIVATE(XWG) 00618 REAL, POINTER, DIMENSION(:,:) :: XWGI=>NULL() 00619 !$OMP THREADPRIVATE(XWGI) 00620 REAL, POINTER, DIMENSION(:) :: XRESA=>NULL() 00621 !$OMP THREADPRIVATE(XRESA) 00622 REAL, POINTER, DIMENSION(:) :: XPCPS=>NULL() 00623 !$OMP THREADPRIVATE(XPCPS) 00624 REAL, POINTER, DIMENSION(:) :: XPLVTT=>NULL() 00625 !$OMP THREADPRIVATE(XPLVTT) 00626 REAL, POINTER, DIMENSION(:) :: XPLSTT=>NULL() 00627 !$OMP THREADPRIVATE(XPLSTT) 00628 REAL, POINTER, DIMENSION(:) :: XLAI=>NULL() 00629 !$OMP THREADPRIVATE(XLAI) 00630 REAL, POINTER, DIMENSION(:) :: XAN=>NULL() 00631 !$OMP THREADPRIVATE(XAN) 00632 REAL, POINTER, DIMENSION(:) :: XANDAY=>NULL() 00633 !$OMP THREADPRIVATE(XANDAY) 00634 REAL, POINTER, DIMENSION(:) :: XANFM=>NULL() 00635 !$OMP THREADPRIVATE(XANFM) 00636 REAL, POINTER, DIMENSION(:) :: XLE=>NULL() 00637 !$OMP THREADPRIVATE(XLE) 00638 REAL, POINTER, DIMENSION(:) :: XFAPARC=>NULL() 00639 !$OMP THREADPRIVATE(XFAPARC) 00640 REAL, POINTER, DIMENSION(:) :: XFAPIRC=>NULL() 00641 !$OMP THREADPRIVATE(XFAPIRC) 00642 REAL, POINTER, DIMENSION(:) :: XLAI_EFFC=>NULL() 00643 !$OMP THREADPRIVATE(XLAI_EFFC) 00644 REAL, POINTER, DIMENSION(:) :: XMUS=>NULL() 00645 !$OMP THREADPRIVATE(XMUS) 00646 REAL, POINTER, DIMENSION(:,:) :: XRESP_BIOMASS=>NULL() 00647 !$OMP THREADPRIVATE(XRESP_BIOMASS) 00648 REAL, POINTER, DIMENSION(:,:) :: XBIOMASS=>NULL() 00649 !$OMP THREADPRIVATE(XBIOMASS) 00650 REAL, POINTER, DIMENSION(:) :: XPSNG=>NULL() 00651 !$OMP THREADPRIVATE(XPSNG) 00652 REAL, POINTER, DIMENSION(:) :: XPSNV=>NULL() 00653 !$OMP THREADPRIVATE(XPSNV) 00654 REAL, POINTER, DIMENSION(:) :: XPSNV_A=>NULL() 00655 !$OMP THREADPRIVATE(XPSNV_A) 00656 REAL, POINTER, DIMENSION(:) :: XPSN=>NULL() 00657 !$OMP THREADPRIVATE(XPSN) 00658 REAL, POINTER, DIMENSION(:) :: XSNOWFREE_ALB=>NULL() 00659 !$OMP THREADPRIVATE(XSNOWFREE_ALB) 00660 REAL, POINTER, DIMENSION(:) :: XSNOWFREE_ALB_VEG=>NULL() 00661 !$OMP THREADPRIVATE(XSNOWFREE_ALB_VEG) 00662 REAL, POINTER, DIMENSION(:) :: XSNOWFREE_ALB_SOIL=>NULL() 00663 !$OMP THREADPRIVATE(XSNOWFREE_ALB_SOIL) 00664 ! 00665 !SGH scheme 00666 ! 00667 CHARACTER(LEN=3), POINTER :: CTOPREG_GR=>NULL() 00668 !$OMP THREADPRIVATE(CTOPREG_GR) 00669 CHARACTER(LEN=3), POINTER :: CKSAT_GR=>NULL() 00670 !$OMP THREADPRIVATE(CKSAT_GR) 00671 CHARACTER(LEN=3), POINTER :: CHORT_GR=>NULL() 00672 !$OMP THREADPRIVATE(CHORT_GR) 00673 CHARACTER(LEN=3), POINTER :: CSOC_GR=>NULL() 00674 !$OMP THREADPRIVATE(CSOC_GR) 00675 ! 00676 REAL, POINTER, DIMENSION(:) :: XD_ICE=>NULL() 00677 !$OMP THREADPRIVATE(XD_ICE) 00678 REAL, POINTER, DIMENSION(:) :: XKSAT_ICE=>NULL() 00679 !$OMP THREADPRIVATE(XKSAT_ICE) 00680 ! 00681 ! Type of green roof (characterization of green roof structure based on GR vegetation) 00682 CHARACTER(LEN=5), POINTER :: CTYP_GR=>NULL() 00683 !$OMP THREADPRIVATE(CTYP_GR) 00684 ! 00685 CONTAINS 00686 00687 00688 00689 SUBROUTINE TEB_GREENROOF_OPTIONS_GOTO_MODEL(KFROM, KTO, LKFROM) 00690 LOGICAL, INTENT(IN) :: LKFROM 00691 INTEGER, INTENT(IN) :: KFROM, KTO 00692 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00693 ! 00694 ! Save current state for allocated arrays 00695 IF (LKFROM) THEN 00696 ENDIF 00697 ! 00698 ! Current model is set to model KTO 00699 IF (LHOOK) CALL DR_HOOK('MODD_TEB_GREENROOF_N:TEB_GREENROOF_OPTIONS_GOTO_MODEL',0,ZHOOK_HANDLE) 00700 LPAR_GREENROOF=>TEB_GREENROOF_OPTIONS_MODEL(KTO)%LPAR_GREENROOF 00701 IF (LKFROM) THEN 00702 TEB_GREENROOF_OPTIONS_MODEL(KTO)%XSOILGRID_GR=>XSOILGRID_GR 00703 ENDIF 00704 CISBA_GR=>TEB_GREENROOF_OPTIONS_MODEL(KTO)%CISBA_GR 00705 LTR_ML_GR=>TEB_GREENROOF_OPTIONS_MODEL(KTO)%LTR_ML_GR 00706 CRUNOFF_GR=>TEB_GREENROOF_OPTIONS_MODEL(KTO)%CRUNOFF_GR 00707 CSCOND_GR=>TEB_GREENROOF_OPTIONS_MODEL(KTO)%CSCOND_GR 00708 CTOPREG_GR=>TEB_GREENROOF_OPTIONS_MODEL(KTO)%CTOPREG_GR 00709 CKSAT_GR=>TEB_GREENROOF_OPTIONS_MODEL(KTO)%CKSAT_GR 00710 CHORT_GR=>TEB_GREENROOF_OPTIONS_MODEL(KTO)%CHORT_GR 00711 CTYP_GR=>TEB_GREENROOF_OPTIONS_MODEL(KTO)%CTYP_GR 00712 CSOC_GR=>TEB_GREENROOF_OPTIONS_MODEL(KTO)%CSOC_GR 00713 NLAYER_GR=>TEB_GREENROOF_OPTIONS_MODEL(KTO)%NLAYER_GR 00714 NLAYER_HORT_GR=>TEB_GREENROOF_OPTIONS_MODEL(KTO)%NLAYER_HORT_GR 00715 NLAYER_DUN_GR=>TEB_GREENROOF_OPTIONS_MODEL(KTO)%NLAYER_DUN_GR 00716 XSOILGRID_GR=>TEB_GREENROOF_OPTIONS_MODEL(KTO)%XSOILGRID_GR 00717 NTIME_GR=>TEB_GREENROOF_OPTIONS_MODEL(KTO)%NTIME_GR 00718 IF (LHOOK) CALL DR_HOOK('MODD_TEB_GREENROOF_N:TEB_GREENROOF_OPTIONS_GOTO_MODEL',1,ZHOOK_HANDLE) 00719 ! 00720 END SUBROUTINE TEB_GREENROOF_OPTIONS_GOTO_MODEL 00721 00722 SUBROUTINE TEB_GREENROOF_OPTIONS_ALLOC(KMODEL) 00723 INTEGER, INTENT(IN) :: KMODEL 00724 INTEGER :: J 00725 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00726 IF (LHOOK) CALL DR_HOOK("MODD_TEB_GREENROOF_N:TEB_GREENROOF_ALLOC",0,ZHOOK_HANDLE) 00727 ALLOCATE(TEB_GREENROOF_OPTIONS_MODEL(KMODEL)) 00728 DO J=1,KMODEL 00729 NULLIFY(TEB_GREENROOF_OPTIONS_MODEL(J)%XSOILGRID_GR) 00730 ENDDO 00731 TEB_GREENROOF_OPTIONS_MODEL(:)%LPAR_GREENROOF=.TRUE. 00732 TEB_GREENROOF_OPTIONS_MODEL(:)%CISBA_GR=' ' 00733 TEB_GREENROOF_OPTIONS_MODEL(:)%LTR_ML_GR=.FALSE. 00734 TEB_GREENROOF_OPTIONS_MODEL(:)%CSOC_GR=' ' 00735 TEB_GREENROOF_OPTIONS_MODEL(:)%CRUNOFF_GR=' ' 00736 TEB_GREENROOF_OPTIONS_MODEL(:)%CSCOND_GR=' ' 00737 TEB_GREENROOF_OPTIONS_MODEL(:)%CTOPREG_GR=' ' 00738 TEB_GREENROOF_OPTIONS_MODEL(:)%CKSAT_GR=' ' 00739 TEB_GREENROOF_OPTIONS_MODEL(:)%CHORT_GR=' ' 00740 TEB_GREENROOF_OPTIONS_MODEL(:)%CTYP_GR=' ' 00741 TEB_GREENROOF_OPTIONS_MODEL(:)%NLAYER_GR=0 00742 TEB_GREENROOF_OPTIONS_MODEL(:)%NLAYER_HORT_GR=0 00743 TEB_GREENROOF_OPTIONS_MODEL(:)%NLAYER_DUN_GR=0 00744 TEB_GREENROOF_OPTIONS_MODEL(:)%NTIME_GR=0 00745 IF (LHOOK) CALL DR_HOOK("MODD_TEB_GREENROOF_N:TEB_GREENROOF_OPTIONS_ALLOC",1,ZHOOK_HANDLE) 00746 END SUBROUTINE TEB_GREENROOF_OPTIONS_ALLOC 00747 00748 SUBROUTINE TEB_GREENROOF_OPTIONS_DEALLO 00749 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00750 IF (LHOOK) CALL DR_HOOK("MODD_TEB_GREENROOF_N:TEB_GREENROOF_OPTIONS_DEALLO",0,ZHOOK_HANDLE) 00751 IF (ALLOCATED(TEB_GREENROOF_OPTIONS_MODEL)) DEALLOCATE(TEB_GREENROOF_OPTIONS_MODEL) 00752 IF (LHOOK) CALL DR_HOOK("MODD_TEB_GREENROOF_N:TEB_GREENROOF_OPTIONS_DEALLO",1,ZHOOK_HANDLE) 00753 END SUBROUTINE TEB_GREENROOF_OPTIONS_DEALLO 00754 00755 00756 00757 SUBROUTINE TEB_GREENROOF_PGD_GOTO_MODEL(KFROM, KTO, LKFROM) 00758 LOGICAL, INTENT(IN) :: LKFROM 00759 INTEGER, INTENT(IN) :: KFROM, KTO 00760 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00761 ! 00762 ! Save current state for allocated arrays 00763 IF (LKFROM) THEN 00764 TEB_GREENROOF_PGD_MODEL(KFROM)%XVEGTYPE=>XVEGTYPE 00765 TEB_GREENROOF_PGD_MODEL(KFROM)%XALBNIR_DRY=>XALBNIR_DRY 00766 TEB_GREENROOF_PGD_MODEL(KFROM)%XALBVIS_DRY=>XALBVIS_DRY 00767 TEB_GREENROOF_PGD_MODEL(KFROM)%XALBUV_DRY=>XALBUV_DRY 00768 TEB_GREENROOF_PGD_MODEL(KFROM)%XALBNIR_WET=>XALBNIR_WET 00769 TEB_GREENROOF_PGD_MODEL(KFROM)%XALBVIS_WET=>XALBVIS_WET 00770 TEB_GREENROOF_PGD_MODEL(KFROM)%XALBUV_WET=>XALBUV_WET 00771 TEB_GREENROOF_PGD_MODEL(KFROM)%XALBNIR_SOIL=>XALBNIR_SOIL 00772 TEB_GREENROOF_PGD_MODEL(KFROM)%XALBVIS_SOIL=>XALBVIS_SOIL 00773 TEB_GREENROOF_PGD_MODEL(KFROM)%XALBUV_SOIL=>XALBUV_SOIL 00774 TEB_GREENROOF_PGD_MODEL(KFROM)%XALBNIR_TSOIL=>XALBNIR_TSOIL 00775 TEB_GREENROOF_PGD_MODEL(KFROM)%XALBVIS_TSOIL=>XALBVIS_TSOIL 00776 TEB_GREENROOF_PGD_MODEL(KFROM)%XZ0_O_Z0H=>XZ0_O_Z0H 00777 TEB_GREENROOF_PGD_MODEL(KFROM)%XALBNIR_VEG=>XALBNIR_VEG 00778 TEB_GREENROOF_PGD_MODEL(KFROM)%XALBVIS_VEG=>XALBVIS_VEG 00779 TEB_GREENROOF_PGD_MODEL(KFROM)%XALBUV_VEG=>XALBUV_VEG 00780 TEB_GREENROOF_PGD_MODEL(KFROM)%XALBNIR_TVEG=>XALBNIR_TVEG 00781 TEB_GREENROOF_PGD_MODEL(KFROM)%XALBVIS_TVEG=>XALBVIS_TVEG 00782 TEB_GREENROOF_PGD_MODEL(KFROM)%XWRMAX_CF=>XWRMAX_CF 00783 TEB_GREENROOF_PGD_MODEL(KFROM)%XRSMIN=>XRSMIN 00784 TEB_GREENROOF_PGD_MODEL(KFROM)%XGAMMA=>XGAMMA 00785 TEB_GREENROOF_PGD_MODEL(KFROM)%XCV=>XCV 00786 TEB_GREENROOF_PGD_MODEL(KFROM)%XRGL=>XRGL 00787 TEB_GREENROOF_PGD_MODEL(KFROM)%XROOTFRAC=>XROOTFRAC 00788 TEB_GREENROOF_PGD_MODEL(KFROM)%XABC=>XABC 00789 TEB_GREENROOF_PGD_MODEL(KFROM)%XPOI=>XPOI 00790 TEB_GREENROOF_PGD_MODEL(KFROM)%XBSLAI=>XBSLAI 00791 TEB_GREENROOF_PGD_MODEL(KFROM)%XLAIMIN=>XLAIMIN 00792 TEB_GREENROOF_PGD_MODEL(KFROM)%XSEFOLD=>XSEFOLD 00793 TEB_GREENROOF_PGD_MODEL(KFROM)%XH_TREE=>XH_TREE 00794 TEB_GREENROOF_PGD_MODEL(KFROM)%XANF=>XANF 00795 TEB_GREENROOF_PGD_MODEL(KFROM)%XANMAX=>XANMAX 00796 TEB_GREENROOF_PGD_MODEL(KFROM)%XFZERO=>XFZERO 00797 TEB_GREENROOF_PGD_MODEL(KFROM)%XEPSO=>XEPSO 00798 TEB_GREENROOF_PGD_MODEL(KFROM)%XGAMM=>XGAMM 00799 TEB_GREENROOF_PGD_MODEL(KFROM)%XQDGAMM=>XQDGAMM 00800 TEB_GREENROOF_PGD_MODEL(KFROM)%XGMES=>XGMES 00801 TEB_GREENROOF_PGD_MODEL(KFROM)%XRE25=>XRE25 00802 TEB_GREENROOF_PGD_MODEL(KFROM)%XQDGMES=>XQDGMES 00803 TEB_GREENROOF_PGD_MODEL(KFROM)%XT1GMES=>XT1GMES 00804 TEB_GREENROOF_PGD_MODEL(KFROM)%XT2GMES=>XT2GMES 00805 TEB_GREENROOF_PGD_MODEL(KFROM)%XAMAX=>XAMAX 00806 TEB_GREENROOF_PGD_MODEL(KFROM)%XQDAMAX=>XQDAMAX 00807 TEB_GREENROOF_PGD_MODEL(KFROM)%XT1AMAX=>XT1AMAX 00808 TEB_GREENROOF_PGD_MODEL(KFROM)%XT2AMAX=>XT2AMAX 00809 TEB_GREENROOF_PGD_MODEL(KFROM)%LSTRESS=>LSTRESS 00810 TEB_GREENROOF_PGD_MODEL(KFROM)%XF2I=>XF2I 00811 TEB_GREENROOF_PGD_MODEL(KFROM)%XGC=>XGC 00812 TEB_GREENROOF_PGD_MODEL(KFROM)%XAH=>XAH 00813 TEB_GREENROOF_PGD_MODEL(KFROM)%XBH=>XBH 00814 TEB_GREENROOF_PGD_MODEL(KFROM)%XDMAX=>XDMAX 00815 TEB_GREENROOF_PGD_MODEL(KFROM)%XCE_NITRO=>XCE_NITRO 00816 TEB_GREENROOF_PGD_MODEL(KFROM)%XCF_NITRO=>XCF_NITRO 00817 TEB_GREENROOF_PGD_MODEL(KFROM)%XCNA_NITRO=>XCNA_NITRO 00818 TEB_GREENROOF_PGD_MODEL(KFROM)%XBSLAI_NITRO=>XBSLAI_NITRO 00819 TEB_GREENROOF_PGD_MODEL(KFROM)%XOM_GR=>XOM_GR 00820 TEB_GREENROOF_PGD_MODEL(KFROM)%XSAND_GR=>XSAND_GR 00821 TEB_GREENROOF_PGD_MODEL(KFROM)%XCLAY_GR=>XCLAY_GR 00822 TEB_GREENROOF_PGD_MODEL(KFROM)%XRUNOFFB_GR=>XRUNOFFB_GR 00823 TEB_GREENROOF_PGD_MODEL(KFROM)%XWDRAIN_GR=>XWDRAIN_GR 00824 TEB_GREENROOF_PGD_MODEL(KFROM)%XTAUICE=>XTAUICE 00825 TEB_GREENROOF_PGD_MODEL(KFROM)%XGAMMAT=>XGAMMAT 00826 TEB_GREENROOF_PGD_MODEL(KFROM)%XDG=>XDG 00827 TEB_GREENROOF_PGD_MODEL(KFROM)%XRUNOFFD=>XRUNOFFD 00828 TEB_GREENROOF_PGD_MODEL(KFROM)%XSOILWGHT=>XSOILWGHT 00829 TEB_GREENROOF_PGD_MODEL(KFROM)%XDZG=>XDZG 00830 TEB_GREENROOF_PGD_MODEL(KFROM)%XDZDIF=>XDZDIF 00831 TEB_GREENROOF_PGD_MODEL(KFROM)%NWG_LAYER=>NWG_LAYER 00832 TEB_GREENROOF_PGD_MODEL(KFROM)%XDROOT=>XDROOT 00833 TEB_GREENROOF_PGD_MODEL(KFROM)%XDG2=>XDG2 00834 TEB_GREENROOF_PGD_MODEL(KFROM)%XPCPS=>XPCPS 00835 TEB_GREENROOF_PGD_MODEL(KFROM)%XPLVTT=>XPLVTT 00836 TEB_GREENROOF_PGD_MODEL(KFROM)%XPLSTT=>XPLSTT 00837 TEB_GREENROOF_PGD_MODEL(KFROM)%XC1SAT=>XC1SAT 00838 TEB_GREENROOF_PGD_MODEL(KFROM)%XC2REF=>XC2REF 00839 TEB_GREENROOF_PGD_MODEL(KFROM)%XC3=>XC3 00840 TEB_GREENROOF_PGD_MODEL(KFROM)%XC4B=>XC4B 00841 TEB_GREENROOF_PGD_MODEL(KFROM)%XC4REF=>XC4REF 00842 TEB_GREENROOF_PGD_MODEL(KFROM)%XACOEF=>XACOEF 00843 TEB_GREENROOF_PGD_MODEL(KFROM)%XPCOEF=>XPCOEF 00844 TEB_GREENROOF_PGD_MODEL(KFROM)%XWFC=>XWFC 00845 TEB_GREENROOF_PGD_MODEL(KFROM)%XWWILT=>XWWILT 00846 TEB_GREENROOF_PGD_MODEL(KFROM)%XWSAT=>XWSAT 00847 TEB_GREENROOF_PGD_MODEL(KFROM)%XBCOEF=>XBCOEF 00848 TEB_GREENROOF_PGD_MODEL(KFROM)%XCONDSAT=>XCONDSAT 00849 TEB_GREENROOF_PGD_MODEL(KFROM)%XMPOTSAT=>XMPOTSAT 00850 TEB_GREENROOF_PGD_MODEL(KFROM)%XCGSAT=>XCGSAT 00851 TEB_GREENROOF_PGD_MODEL(KFROM)%XHCAPSOIL=>XHCAPSOIL 00852 TEB_GREENROOF_PGD_MODEL(KFROM)%XCONDDRY=>XCONDDRY 00853 TEB_GREENROOF_PGD_MODEL(KFROM)%XCONDSLD=>XCONDSLD 00854 TEB_GREENROOF_PGD_MODEL(KFROM)%XTDEEP=>XTDEEP 00855 TEB_GREENROOF_PGD_MODEL(KFROM)%XD_ICE=>XD_ICE 00856 ENDIF 00857 ! 00858 ! Current model is set to model KTO 00859 IF (LHOOK) CALL DR_HOOK('MODD_TEB_GREENROOF_N:TEB_GREENROOF_PGD_GOTO_MODEL',0,ZHOOK_HANDLE) 00860 XVEGTYPE=>TEB_GREENROOF_PGD_MODEL(KTO)%XVEGTYPE 00861 XALBNIR_DRY=>TEB_GREENROOF_PGD_MODEL(KTO)%XALBNIR_DRY 00862 XALBVIS_DRY=>TEB_GREENROOF_PGD_MODEL(KTO)%XALBVIS_DRY 00863 XALBUV_DRY=>TEB_GREENROOF_PGD_MODEL(KTO)%XALBUV_DRY 00864 XALBNIR_WET=>TEB_GREENROOF_PGD_MODEL(KTO)%XALBNIR_WET 00865 XALBVIS_WET=>TEB_GREENROOF_PGD_MODEL(KTO)%XALBVIS_WET 00866 XALBUV_WET=>TEB_GREENROOF_PGD_MODEL(KTO)%XALBUV_WET 00867 XALBNIR_SOIL=>TEB_GREENROOF_PGD_MODEL(KTO)%XALBNIR_SOIL 00868 XALBVIS_SOIL=>TEB_GREENROOF_PGD_MODEL(KTO)%XALBVIS_SOIL 00869 XALBUV_SOIL=>TEB_GREENROOF_PGD_MODEL(KTO)%XALBUV_SOIL 00870 XALBNIR_TSOIL=>TEB_GREENROOF_PGD_MODEL(KTO)%XALBNIR_TSOIL 00871 XALBVIS_TSOIL=>TEB_GREENROOF_PGD_MODEL(KTO)%XALBVIS_TSOIL 00872 XZ0_O_Z0H=>TEB_GREENROOF_PGD_MODEL(KTO)%XZ0_O_Z0H 00873 XALBNIR_VEG=>TEB_GREENROOF_PGD_MODEL(KTO)%XALBNIR_VEG 00874 XALBVIS_VEG=>TEB_GREENROOF_PGD_MODEL(KTO)%XALBVIS_VEG 00875 XALBUV_VEG=>TEB_GREENROOF_PGD_MODEL(KTO)%XALBUV_VEG 00876 XALBNIR_TVEG=>TEB_GREENROOF_PGD_MODEL(KTO)%XALBNIR_TVEG 00877 XALBVIS_TVEG=>TEB_GREENROOF_PGD_MODEL(KTO)%XALBVIS_TVEG 00878 XWRMAX_CF=>TEB_GREENROOF_PGD_MODEL(KTO)%XWRMAX_CF 00879 XRSMIN=>TEB_GREENROOF_PGD_MODEL(KTO)%XRSMIN 00880 XGAMMA=>TEB_GREENROOF_PGD_MODEL(KTO)%XGAMMA 00881 XCV=>TEB_GREENROOF_PGD_MODEL(KTO)%XCV 00882 XRGL=>TEB_GREENROOF_PGD_MODEL(KTO)%XRGL 00883 XROOTFRAC=>TEB_GREENROOF_PGD_MODEL(KTO)%XROOTFRAC 00884 XABC=>TEB_GREENROOF_PGD_MODEL(KTO)%XABC 00885 XPOI=>TEB_GREENROOF_PGD_MODEL(KTO)%XPOI 00886 XBSLAI=>TEB_GREENROOF_PGD_MODEL(KTO)%XBSLAI 00887 XLAIMIN=>TEB_GREENROOF_PGD_MODEL(KTO)%XLAIMIN 00888 XSEFOLD=>TEB_GREENROOF_PGD_MODEL(KTO)%XSEFOLD 00889 XH_TREE=>TEB_GREENROOF_PGD_MODEL(KTO)%XH_TREE 00890 XANF=>TEB_GREENROOF_PGD_MODEL(KTO)%XANF 00891 XANMAX=>TEB_GREENROOF_PGD_MODEL(KTO)%XANMAX 00892 XFZERO=>TEB_GREENROOF_PGD_MODEL(KTO)%XFZERO 00893 XEPSO=>TEB_GREENROOF_PGD_MODEL(KTO)%XEPSO 00894 XGAMM=>TEB_GREENROOF_PGD_MODEL(KTO)%XGAMM 00895 XQDGAMM=>TEB_GREENROOF_PGD_MODEL(KTO)%XQDGAMM 00896 XGMES=>TEB_GREENROOF_PGD_MODEL(KTO)%XGMES 00897 XRE25=>TEB_GREENROOF_PGD_MODEL(KTO)%XRE25 00898 XQDGMES=>TEB_GREENROOF_PGD_MODEL(KTO)%XQDGMES 00899 XT1GMES=>TEB_GREENROOF_PGD_MODEL(KTO)%XT1GMES 00900 XT2GMES=>TEB_GREENROOF_PGD_MODEL(KTO)%XT2GMES 00901 XAMAX=>TEB_GREENROOF_PGD_MODEL(KTO)%XAMAX 00902 XQDAMAX=>TEB_GREENROOF_PGD_MODEL(KTO)%XQDAMAX 00903 XT1AMAX=>TEB_GREENROOF_PGD_MODEL(KTO)%XT1AMAX 00904 XT2AMAX=>TEB_GREENROOF_PGD_MODEL(KTO)%XT2AMAX 00905 LSTRESS=>TEB_GREENROOF_PGD_MODEL(KTO)%LSTRESS 00906 XF2I=>TEB_GREENROOF_PGD_MODEL(KTO)%XF2I 00907 XGC=>TEB_GREENROOF_PGD_MODEL(KTO)%XGC 00908 XAH=>TEB_GREENROOF_PGD_MODEL(KTO)%XAH 00909 XBH=>TEB_GREENROOF_PGD_MODEL(KTO)%XBH 00910 XDMAX=>TEB_GREENROOF_PGD_MODEL(KTO)%XDMAX 00911 XCE_NITRO=>TEB_GREENROOF_PGD_MODEL(KTO)%XCE_NITRO 00912 XCF_NITRO=>TEB_GREENROOF_PGD_MODEL(KTO)%XCF_NITRO 00913 XCNA_NITRO=>TEB_GREENROOF_PGD_MODEL(KTO)%XCNA_NITRO 00914 XBSLAI_NITRO=>TEB_GREENROOF_PGD_MODEL(KTO)%XBSLAI_NITRO 00915 XOM_GR=>TEB_GREENROOF_PGD_MODEL(KTO)%XOM_GR 00916 XSAND_GR=>TEB_GREENROOF_PGD_MODEL(KTO)%XSAND_GR 00917 XCLAY_GR=>TEB_GREENROOF_PGD_MODEL(KTO)%XCLAY_GR 00918 XRUNOFFB_GR=>TEB_GREENROOF_PGD_MODEL(KTO)%XRUNOFFB_GR 00919 XWDRAIN_GR=>TEB_GREENROOF_PGD_MODEL(KTO)%XWDRAIN_GR 00920 XTAUICE=>TEB_GREENROOF_PGD_MODEL(KTO)%XTAUICE 00921 XGAMMAT=>TEB_GREENROOF_PGD_MODEL(KTO)%XGAMMAT 00922 XDG=>TEB_GREENROOF_PGD_MODEL(KTO)%XDG 00923 XRUNOFFD=>TEB_GREENROOF_PGD_MODEL(KTO)%XRUNOFFD 00924 XSOILWGHT=>TEB_GREENROOF_PGD_MODEL(KTO)%XSOILWGHT 00925 XDZG=>TEB_GREENROOF_PGD_MODEL(KTO)%XDZG 00926 XDZDIF=>TEB_GREENROOF_PGD_MODEL(KTO)%XDZDIF 00927 NWG_LAYER=>TEB_GREENROOF_PGD_MODEL(KTO)%NWG_LAYER 00928 XDROOT=>TEB_GREENROOF_PGD_MODEL(KTO)%XDROOT 00929 XDG2=>TEB_GREENROOF_PGD_MODEL(KTO)%XDG2 00930 XPCPS=>TEB_GREENROOF_PGD_MODEL(KTO)%XPCPS 00931 XPLVTT=>TEB_GREENROOF_PGD_MODEL(KTO)%XPLVTT 00932 XPLSTT=>TEB_GREENROOF_PGD_MODEL(KTO)%XPLSTT 00933 XC1SAT=>TEB_GREENROOF_PGD_MODEL(KTO)%XC1SAT 00934 XC2REF=>TEB_GREENROOF_PGD_MODEL(KTO)%XC2REF 00935 XC3=>TEB_GREENROOF_PGD_MODEL(KTO)%XC3 00936 XC4B=>TEB_GREENROOF_PGD_MODEL(KTO)%XC4B 00937 XC4REF=>TEB_GREENROOF_PGD_MODEL(KTO)%XC4REF 00938 XACOEF=>TEB_GREENROOF_PGD_MODEL(KTO)%XACOEF 00939 XPCOEF=>TEB_GREENROOF_PGD_MODEL(KTO)%XPCOEF 00940 XWFC=>TEB_GREENROOF_PGD_MODEL(KTO)%XWFC 00941 XWWILT=>TEB_GREENROOF_PGD_MODEL(KTO)%XWWILT 00942 XWSAT=>TEB_GREENROOF_PGD_MODEL(KTO)%XWSAT 00943 XBCOEF=>TEB_GREENROOF_PGD_MODEL(KTO)%XBCOEF 00944 XCONDSAT=>TEB_GREENROOF_PGD_MODEL(KTO)%XCONDSAT 00945 XMPOTSAT=>TEB_GREENROOF_PGD_MODEL(KTO)%XMPOTSAT 00946 XCGSAT=>TEB_GREENROOF_PGD_MODEL(KTO)%XCGSAT 00947 XHCAPSOIL=>TEB_GREENROOF_PGD_MODEL(KTO)%XHCAPSOIL 00948 XCONDDRY=>TEB_GREENROOF_PGD_MODEL(KTO)%XCONDDRY 00949 XCONDSLD=>TEB_GREENROOF_PGD_MODEL(KTO)%XCONDSLD 00950 XTDEEP=>TEB_GREENROOF_PGD_MODEL(KTO)%XTDEEP 00951 XD_ICE=>TEB_GREENROOF_PGD_MODEL(KTO)%XD_ICE 00952 IF (LHOOK) CALL DR_HOOK('MODD_TEB_GREENROOF_N:TEB_GREENROOF_PGD_GOTO_MODEL',1,ZHOOK_HANDLE) 00953 ! 00954 END SUBROUTINE TEB_GREENROOF_PGD_GOTO_MODEL 00955 00956 SUBROUTINE TEB_GREENROOF_PGD_ALLOC(KMODEL) 00957 INTEGER, INTENT(IN) :: KMODEL 00958 INTEGER :: J 00959 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00960 IF (LHOOK) CALL DR_HOOK("MODD_TEB_GREENROOF_N:TEB_GREENROOF_PGD_ALLOC",0,ZHOOK_HANDLE) 00961 ALLOCATE(TEB_GREENROOF_PGD_MODEL(KMODEL)) 00962 DO J=1,KMODEL 00963 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XVEGTYPE) 00964 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XALBNIR_DRY) 00965 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XALBVIS_DRY) 00966 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XALBUV_DRY) 00967 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XALBNIR_WET) 00968 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XALBVIS_WET) 00969 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XALBUV_WET) 00970 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XALBNIR_SOIL) 00971 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XALBVIS_SOIL) 00972 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XALBUV_SOIL) 00973 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XALBNIR_TSOIL) 00974 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XALBVIS_TSOIL) 00975 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XZ0_O_Z0H) 00976 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XALBNIR_VEG) 00977 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XALBVIS_VEG) 00978 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XALBUV_VEG) 00979 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XALBNIR_TVEG) 00980 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XALBVIS_TVEG) 00981 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XWRMAX_CF) 00982 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XRSMIN) 00983 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XGAMMA) 00984 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XCV) 00985 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XRGL) 00986 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XROOTFRAC) 00987 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XABC) 00988 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XPOI) 00989 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XBSLAI) 00990 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XLAIMIN) 00991 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XSEFOLD) 00992 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XH_TREE) 00993 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XANF) 00994 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XANMAX) 00995 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XFZERO) 00996 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XEPSO) 00997 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XGAMM) 00998 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XQDGAMM) 00999 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XGMES) 01000 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XRE25) 01001 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XQDGMES) 01002 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XT1GMES) 01003 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XT2GMES) 01004 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XAMAX) 01005 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XQDAMAX) 01006 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XT1AMAX) 01007 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XT2AMAX) 01008 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%LSTRESS) 01009 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XF2I) 01010 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XGC) 01011 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XAH) 01012 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XBH) 01013 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XDMAX) 01014 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XCE_NITRO) 01015 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XCF_NITRO) 01016 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XCNA_NITRO) 01017 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XBSLAI_NITRO) 01018 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XOM_GR) 01019 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XSAND_GR) 01020 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XCLAY_GR) 01021 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XRUNOFFB_GR) 01022 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XWDRAIN_GR) 01023 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XTAUICE) 01024 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XGAMMAT) 01025 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XDG) 01026 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XRUNOFFD) 01027 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XSOILWGHT) 01028 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XDZG) 01029 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XDZDIF) 01030 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%NWG_LAYER) 01031 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XDROOT) 01032 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XDG2) 01033 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XPCPS) 01034 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XPLVTT) 01035 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XPLSTT) 01036 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XC1SAT) 01037 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XC2REF) 01038 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XC3) 01039 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XC4B) 01040 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XC4REF) 01041 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XACOEF) 01042 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XPCOEF) 01043 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XWFC) 01044 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XWWILT) 01045 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XWSAT) 01046 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XBCOEF) 01047 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XCONDSAT) 01048 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XMPOTSAT) 01049 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XCGSAT) 01050 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XHCAPSOIL) 01051 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XCONDDRY) 01052 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XCONDSLD) 01053 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XTDEEP) 01054 NULLIFY(TEB_GREENROOF_PGD_MODEL(J)%XD_ICE) 01055 ENDDO 01056 IF (LHOOK) CALL DR_HOOK("MODD_TEB_GREENROOF_N:TEB_GREENROOF_PGD_ALLOC",1,ZHOOK_HANDLE) 01057 END SUBROUTINE TEB_GREENROOF_PGD_ALLOC 01058 01059 SUBROUTINE TEB_GREENROOF_PGD_DEALLO 01060 REAL(KIND=JPRB) :: ZHOOK_HANDLE 01061 IF (LHOOK) CALL DR_HOOK("MODD_TEB_GREENROOF_N:TEB_GREENROOF_PGD_DEALLO",0,ZHOOK_HANDLE) 01062 IF (ALLOCATED(TEB_GREENROOF_PGD_MODEL)) DEALLOCATE(TEB_GREENROOF_PGD_MODEL) 01063 IF (LHOOK) CALL DR_HOOK("MODD_TEB_GREENROOF_N:TEB_GREENROOF_PGD_DEALLO",1,ZHOOK_HANDLE) 01064 END SUBROUTINE TEB_GREENROOF_PGD_DEALLO 01065 01066 01067 01068 01069 SUBROUTINE TEB_GREENROOF_PGD_EVOL_GOTO_MODEL(KFROM, KTO, LKFROM, KFROM_PATCH, KTO_PATCH) 01070 LOGICAL, INTENT(IN) :: LKFROM 01071 INTEGER, INTENT(IN) :: KFROM, KTO 01072 INTEGER, INTENT(IN) :: KFROM_PATCH, KTO_PATCH 01073 REAL(KIND=JPRB) :: ZHOOK_HANDLE 01074 ! 01075 ! Save current state for allocated arrays 01076 IF (LKFROM) THEN 01077 TEB_GREENROOF_PGD_EVOL_MODEL(KFROM,KFROM_PATCH)%XALBNIR=>XALBNIR 01078 TEB_GREENROOF_PGD_EVOL_MODEL(KFROM,KFROM_PATCH)%XALBVIS=>XALBVIS 01079 TEB_GREENROOF_PGD_EVOL_MODEL(KFROM,KFROM_PATCH)%XALBUV=>XALBUV 01080 TEB_GREENROOF_PGD_EVOL_MODEL(KFROM,KFROM_PATCH)%XEMIS=>XEMIS 01081 TEB_GREENROOF_PGD_EVOL_MODEL(KFROM,KFROM_PATCH)%XZ0=>XZ0 01082 TEB_GREENROOF_PGD_EVOL_MODEL(KFROM,KFROM_PATCH)%XVEG=>XVEG 01083 TEB_GREENROOF_PGD_EVOL_MODEL(KFROM,KFROM_PATCH)%XLAI=>XLAI 01084 ENDIF 01085 ! 01086 ! Current model is set to model KTO 01087 IF (LHOOK) CALL DR_HOOK('MODD_TEB_GREENROOF_N:TEB_GREENROOF_PGD_EVOL_GOTO_MODEL',0,ZHOOK_HANDLE) 01088 XALBNIR=>TEB_GREENROOF_PGD_EVOL_MODEL(KTO,KTO_PATCH)%XALBNIR 01089 XALBVIS=>TEB_GREENROOF_PGD_EVOL_MODEL(KTO,KTO_PATCH)%XALBVIS 01090 XALBUV=>TEB_GREENROOF_PGD_EVOL_MODEL(KTO,KTO_PATCH)%XALBUV 01091 XEMIS=>TEB_GREENROOF_PGD_EVOL_MODEL(KTO,KTO_PATCH)%XEMIS 01092 XZ0=>TEB_GREENROOF_PGD_EVOL_MODEL(KTO,KTO_PATCH)%XZ0 01093 XVEG=>TEB_GREENROOF_PGD_EVOL_MODEL(KTO,KTO_PATCH)%XVEG 01094 XLAI=>TEB_GREENROOF_PGD_EVOL_MODEL(KTO,KTO_PATCH)%XLAI 01095 IF (LHOOK) CALL DR_HOOK('MODD_TEB_GREENROOF_N:TEB_GREENROOF_PGD_EVOL_GOTO_MODEL',1,ZHOOK_HANDLE) 01096 ! 01097 END SUBROUTINE TEB_GREENROOF_PGD_EVOL_GOTO_MODEL 01098 01099 SUBROUTINE TEB_GREENROOF_PGD_EVOL_ALLOC(KMODEL,KPATCH) 01100 INTEGER, INTENT(IN) :: KMODEL, KPATCH 01101 INTEGER :: J, JP 01102 REAL(KIND=JPRB) :: ZHOOK_HANDLE 01103 IF (LHOOK) CALL DR_HOOK("MODD_TEB_GREENROOF_N:TEB_GREENROOF_PGD_EVOL_ALLOC",0,ZHOOK_HANDLE) 01104 ALLOCATE(TEB_GREENROOF_PGD_EVOL_MODEL(KMODEL,KPATCH)) 01105 DO J=1,KMODEL 01106 DO JP=1,KPATCH 01107 NULLIFY(TEB_GREENROOF_PGD_EVOL_MODEL(J,JP)%XALBNIR) 01108 NULLIFY(TEB_GREENROOF_PGD_EVOL_MODEL(J,JP)%XALBVIS) 01109 NULLIFY(TEB_GREENROOF_PGD_EVOL_MODEL(J,JP)%XALBUV) 01110 NULLIFY(TEB_GREENROOF_PGD_EVOL_MODEL(J,JP)%XEMIS) 01111 NULLIFY(TEB_GREENROOF_PGD_EVOL_MODEL(J,JP)%XZ0) 01112 NULLIFY(TEB_GREENROOF_PGD_EVOL_MODEL(J,JP)%XVEG) 01113 NULLIFY(TEB_GREENROOF_PGD_EVOL_MODEL(J,JP)%XLAI) 01114 ENDDO 01115 ENDDO 01116 IF (LHOOK) CALL DR_HOOK("MODD_TEB_GREENROOF_N:TEB_GREENROOF_PGD_EVOL_ALLOC",1,ZHOOK_HANDLE) 01117 END SUBROUTINE TEB_GREENROOF_PGD_EVOL_ALLOC 01118 01119 SUBROUTINE TEB_GREENROOF_PGD_EVOL_DEALLO 01120 REAL(KIND=JPRB) :: ZHOOK_HANDLE 01121 IF (LHOOK) CALL DR_HOOK("MODD_TEB_GREENROOF_N:TEB_GREENROOF_PGD_EVOL_DEALLO",0,ZHOOK_HANDLE) 01122 IF (ALLOCATED(TEB_GREENROOF_PGD_EVOL_MODEL)) DEALLOCATE(TEB_GREENROOF_PGD_EVOL_MODEL) 01123 IF (LHOOK) CALL DR_HOOK("MODD_TEB_GREENROOF_N:TEB_GREENROOF_PGD_EVOL_DEALLO",1,ZHOOK_HANDLE) 01124 END SUBROUTINE TEB_GREENROOF_PGD_EVOL_DEALLO 01125 01126 01127 01128 01129 SUBROUTINE TEB_GREENROOF_GOTO_MODEL(KFROM, KTO, LKFROM, KFROM_PATCH, KTO_PATCH) 01130 LOGICAL, INTENT(IN) :: LKFROM 01131 INTEGER, INTENT(IN) :: KFROM, KTO 01132 INTEGER, INTENT(IN) :: KFROM_PATCH, KTO_PATCH 01133 REAL(KIND=JPRB) :: ZHOOK_HANDLE 01134 ! 01135 ! Save current state for allocated arrays 01136 IF (LKFROM) THEN 01137 TEB_GREENROOF_MODEL(KFROM,KFROM_PATCH)%XWR=>XWR 01138 TEB_GREENROOF_MODEL(KFROM,KFROM_PATCH)%XTG=>XTG 01139 TEB_GREENROOF_MODEL(KFROM,KFROM_PATCH)%XWG=>XWG 01140 TEB_GREENROOF_MODEL(KFROM,KFROM_PATCH)%XWGI=>XWGI 01141 TEB_GREENROOF_MODEL(KFROM,KFROM_PATCH)%XRESA=>XRESA 01142 TEB_GREENROOF_MODEL(KFROM,KFROM_PATCH)%XAN=>XAN 01143 TEB_GREENROOF_MODEL(KFROM,KFROM_PATCH)%XANDAY=>XANDAY 01144 TEB_GREENROOF_MODEL(KFROM,KFROM_PATCH)%XANFM=>XANFM 01145 TEB_GREENROOF_MODEL(KFROM,KFROM_PATCH)%XLE=>XLE 01146 TEB_GREENROOF_MODEL(KFROM,KFROM_PATCH)%XFAPARC=>XFAPARC 01147 TEB_GREENROOF_MODEL(KFROM,KFROM_PATCH)%XFAPIRC=>XFAPIRC 01148 TEB_GREENROOF_MODEL(KFROM,KFROM_PATCH)%XLAI_EFFC=>XLAI_EFFC 01149 TEB_GREENROOF_MODEL(KFROM,KFROM_PATCH)%XMUS=>XMUS 01150 TEB_GREENROOF_MODEL(KFROM,KFROM_PATCH)%XRESP_BIOMASS=>XRESP_BIOMASS 01151 TEB_GREENROOF_MODEL(KFROM,KFROM_PATCH)%XBIOMASS=>XBIOMASS 01152 TEB_GREENROOF_MODEL(KFROM,KFROM_PATCH)%XPSNG=>XPSNG 01153 TEB_GREENROOF_MODEL(KFROM,KFROM_PATCH)%XPSNV_A=>XPSNV_A 01154 TEB_GREENROOF_MODEL(KFROM,KFROM_PATCH)%XPSNV=>XPSNV 01155 TEB_GREENROOF_MODEL(KFROM,KFROM_PATCH)%XPSN=>XPSN 01156 TEB_GREENROOF_MODEL(KFROM,KFROM_PATCH)%XSNOWFREE_ALB=>XSNOWFREE_ALB 01157 TEB_GREENROOF_MODEL(KFROM,KFROM_PATCH)%XSNOWFREE_ALB_VEG=>XSNOWFREE_ALB_VEG 01158 TEB_GREENROOF_MODEL(KFROM,KFROM_PATCH)%XSNOWFREE_ALB_SOIL=>XSNOWFREE_ALB_SOIL 01159 TEB_GREENROOF_MODEL(KFROM,KFROM_PATCH)%XKSAT_ICE=>XKSAT_ICE 01160 ENDIF 01161 ! 01162 ! Current model is set to model KTO 01163 IF (LHOOK) CALL DR_HOOK('MODD_TEB_GREENROOF_N:TEB_GREENROOF_GOTO_MODEL',0,ZHOOK_HANDLE) 01164 TSNOW=>TEB_GREENROOF_MODEL(KTO,KTO_PATCH)%TSNOW 01165 XWR=>TEB_GREENROOF_MODEL(KTO,KTO_PATCH)%XWR 01166 XTG=>TEB_GREENROOF_MODEL(KTO,KTO_PATCH)%XTG 01167 XWG=>TEB_GREENROOF_MODEL(KTO,KTO_PATCH)%XWG 01168 XWGI=>TEB_GREENROOF_MODEL(KTO,KTO_PATCH)%XWGI 01169 XRESA=>TEB_GREENROOF_MODEL(KTO,KTO_PATCH)%XRESA 01170 XAN=>TEB_GREENROOF_MODEL(KTO,KTO_PATCH)%XAN 01171 XANDAY=>TEB_GREENROOF_MODEL(KTO,KTO_PATCH)%XANDAY 01172 XANFM=>TEB_GREENROOF_MODEL(KTO,KTO_PATCH)%XANFM 01173 XLE=>TEB_GREENROOF_MODEL(KTO,KTO_PATCH)%XLE 01174 XFAPARC=>TEB_GREENROOF_MODEL(KTO,KTO_PATCH)%XFAPARC 01175 XFAPIRC=>TEB_GREENROOF_MODEL(KTO,KTO_PATCH)%XFAPIRC 01176 XLAI_EFFC=>TEB_GREENROOF_MODEL(KTO,KTO_PATCH)%XLAI_EFFC 01177 XMUS=>TEB_GREENROOF_MODEL(KTO,KTO_PATCH)%XMUS 01178 XRESP_BIOMASS=>TEB_GREENROOF_MODEL(KTO,KTO_PATCH)%XRESP_BIOMASS 01179 XBIOMASS=>TEB_GREENROOF_MODEL(KTO,KTO_PATCH)%XBIOMASS 01180 XPSNG=>TEB_GREENROOF_MODEL(KTO,KTO_PATCH)%XPSNG 01181 XPSNV_A=>TEB_GREENROOF_MODEL(KTO,KTO_PATCH)%XPSNV_A 01182 XPSNV=>TEB_GREENROOF_MODEL(KTO,KTO_PATCH)%XPSNV 01183 XPSN=>TEB_GREENROOF_MODEL(KTO,KTO_PATCH)%XPSN 01184 XSNOWFREE_ALB=>TEB_GREENROOF_MODEL(KTO,KTO_PATCH)%XSNOWFREE_ALB 01185 XSNOWFREE_ALB_VEG=>TEB_GREENROOF_MODEL(KTO,KTO_PATCH)%XSNOWFREE_ALB_VEG 01186 XSNOWFREE_ALB_SOIL=>TEB_GREENROOF_MODEL(KTO,KTO_PATCH)%XSNOWFREE_ALB_SOIL 01187 XKSAT_ICE=>TEB_GREENROOF_MODEL(KTO,KTO_PATCH)%XKSAT_ICE 01188 IF (LHOOK) CALL DR_HOOK('MODD_TEB_GREENROOF_N:TEB_GREENROOF_GOTO_MODEL',1,ZHOOK_HANDLE) 01189 ! 01190 END SUBROUTINE TEB_GREENROOF_GOTO_MODEL 01191 01192 SUBROUTINE TEB_GREENROOF_ALLOC(KMODEL,KPATCH) 01193 INTEGER, INTENT(IN) :: KMODEL, KPATCH 01194 INTEGER :: J, JP 01195 REAL(KIND=JPRB) :: ZHOOK_HANDLE 01196 IF (LHOOK) CALL DR_HOOK("MODD_TEB_GREENROOF_N:TEB_GREENROOF_ALLOC",0,ZHOOK_HANDLE) 01197 ALLOCATE(TEB_GREENROOF_MODEL(KMODEL,KPATCH)) 01198 DO J=1,KMODEL 01199 DO JP=1,KPATCH 01200 NULLIFY(TEB_GREENROOF_MODEL(J,JP)%XWR) 01201 NULLIFY(TEB_GREENROOF_MODEL(J,JP)%XTG) 01202 NULLIFY(TEB_GREENROOF_MODEL(J,JP)%XWG) 01203 NULLIFY(TEB_GREENROOF_MODEL(J,JP)%XWGI) 01204 NULLIFY(TEB_GREENROOF_MODEL(J,JP)%XRESA) 01205 NULLIFY(TEB_GREENROOF_MODEL(J,JP)%XAN) 01206 NULLIFY(TEB_GREENROOF_MODEL(J,JP)%XANDAY) 01207 NULLIFY(TEB_GREENROOF_MODEL(J,JP)%XANFM) 01208 NULLIFY(TEB_GREENROOF_MODEL(J,JP)%XLE) 01209 NULLIFY(TEB_GREENROOF_MODEL(J,JP)%XFAPARC) 01210 NULLIFY(TEB_GREENROOF_MODEL(J,JP)%XFAPIRC) 01211 NULLIFY(TEB_GREENROOF_MODEL(J,JP)%XLAI_EFFC) 01212 NULLIFY(TEB_GREENROOF_MODEL(J,JP)%XMUS) 01213 NULLIFY(TEB_GREENROOF_MODEL(J,JP)%XRESP_BIOMASS) 01214 NULLIFY(TEB_GREENROOF_MODEL(J,JP)%XBIOMASS) 01215 NULLIFY(TEB_GREENROOF_MODEL(J,JP)%XKSAT_ICE) 01216 NULLIFY(TEB_GREENROOF_MODEL(J,JP)%XPSNG) 01217 NULLIFY(TEB_GREENROOF_MODEL(J,JP)%XPSNV) 01218 NULLIFY(TEB_GREENROOF_MODEL(J,JP)%XPSNV_A) 01219 NULLIFY(TEB_GREENROOF_MODEL(J,JP)%XPSN) 01220 NULLIFY(TEB_GREENROOF_MODEL(J,JP)%XSNOWFREE_ALB) 01221 NULLIFY(TEB_GREENROOF_MODEL(J,JP)%XSNOWFREE_ALB_VEG) 01222 NULLIFY(TEB_GREENROOF_MODEL(J,JP)%XSNOWFREE_ALB_SOIL) 01223 ENDDO 01224 ENDDO 01225 IF (LHOOK) CALL DR_HOOK("MODD_TEB_GREENROOF_N:TEB_GREENROOF_ALLOC",1,ZHOOK_HANDLE) 01226 END SUBROUTINE TEB_GREENROOF_ALLOC 01227 01228 SUBROUTINE TEB_GREENROOF_DEALLO 01229 REAL(KIND=JPRB) :: ZHOOK_HANDLE 01230 IF (LHOOK) CALL DR_HOOK("MODD_TEB_GREENROOF_N:TEB_GREENROOF_DEALLO",0,ZHOOK_HANDLE) 01231 IF (ALLOCATED(TEB_GREENROOF_MODEL)) DEALLOCATE(TEB_GREENROOF_MODEL) 01232 IF (LHOOK) CALL DR_HOOK("MODD_TEB_GREENROOF_N:TEB_GREENROOF_DEALLO",1,ZHOOK_HANDLE) 01233 END SUBROUTINE TEB_GREENROOF_DEALLO 01234 01235 END MODULE MODD_TEB_GREENROOF_n