SURFEX v7.3
General documentation of Surfex
|
00001 ! ################## 00002 MODULE MODD_DATA_TEB_GARDEN_n 00003 ! ################## 00004 ! 00005 !!**** *MODD_DATA_ISBA - declaration of DATA surface parameters for ISBA scheme 00006 !! 00007 !! PURPOSE 00008 !! ------- 00009 ! 00010 !! 00011 !!** IMPLICIT ARGUMENTS 00012 !! ------------------ 00013 !! None 00014 !! 00015 !! REFERENCE 00016 !! --------- 00017 !! 00018 !! AUTHOR 00019 !! ------ 00020 !! V. Masson *Meteo France* 00021 !! 00022 !! MODIFICATIONS 00023 !! ------------- 00024 !! Original 05/2005 00025 ! 00026 !* 0. DECLARATIONS 00027 ! ------------ 00028 ! 00029 ! 00030 ! 00031 USE YOMHOOK ,ONLY : LHOOK, DR_HOOK 00032 USE PARKIND1 ,ONLY : JPRB 00033 ! 00034 IMPLICIT NONE 00035 00036 TYPE DATA_TEB_GARDEN_t 00037 !------------------------------------------------------------------------------- 00038 ! 00039 REAL, POINTER, DIMENSION(:) :: XDATA_FRAC_HVEG ! fraction of high vegetation 00040 REAL, POINTER, DIMENSION(:) :: XDATA_FRAC_LVEG ! fraction of low vegetation 00041 REAL, POINTER, DIMENSION(:) :: XDATA_FRAC_NVEG ! fraction of bare soil 00042 REAL, POINTER, DIMENSION(:,:) :: XDATA_LAI_HVEG ! LAI of high vegetation 00043 REAL, POINTER, DIMENSION(:,:) :: XDATA_LAI_LVEG ! LAI of low vegetation 00044 REAL, POINTER, DIMENSION(:) :: XDATA_H_HVEG ! height of trees 00045 ! 00046 ! 00047 ! Mask and number of grid elements containing patches/tiles: 00048 ! 00049 REAL, POINTER, DIMENSION(:,:) :: XDATA_VEGTYPE ! fraction of each vegetation type for 00050 ! ! each grid mesh (-) 00051 ! 00052 !------------------------------------------------------------------------------- 00053 ! 00054 INTEGER :: NTIME ! number of time data 00055 ! ! for VEG, LAI, EMIS, Z0 00056 ! 00057 ! Input Parameters: 00058 ! 00059 ! - vegetation + bare soil: 00060 ! 00061 REAL, POINTER, DIMENSION(:) :: XDATA_Z0_O_Z0H ! ratio of surface roughness lengths 00062 ! ! (momentum to heat) (-) 00063 REAL, POINTER, DIMENSION(:,:) :: XDATA_EMIS ! surface emissivity (-) 00064 REAL, POINTER, DIMENSION(:,:) :: XDATA_Z0 ! surface roughness length (m) 00065 ! 00066 ! - vegetation: 00067 ! 00068 REAL, POINTER, DIMENSION(:) :: XDATA_ALBNIR_VEG ! vegetation near-infra-red albedo (-) 00069 REAL, POINTER, DIMENSION(:) :: XDATA_ALBVIS_VEG ! vegetation visible albedo (-) 00070 REAL, POINTER, DIMENSION(:) :: XDATA_ALBUV_VEG ! vegetation UV albedo (-) 00071 ! 00072 ! - vegetation: default option (Jarvis) and general parameters: 00073 ! 00074 REAL, POINTER, DIMENSION(:,:) :: XDATA_VEG ! vegetation cover fraction (-) 00075 REAL, POINTER, DIMENSION(:) :: XDATA_WRMAX_CF ! coefficient for maximum water 00076 ! ! interception 00077 ! ! storage capacity on the vegetation (-) 00078 REAL, POINTER, DIMENSION(:) :: XDATA_RSMIN ! minimum stomatal resistance (s/m) 00079 REAL, POINTER, DIMENSION(:) :: XDATA_GAMMA ! coefficient for the calculation 00080 ! ! of the surface stomatal 00081 ! ! resistance 00082 REAL, POINTER, DIMENSION(:) :: XDATA_CV ! vegetation thermal inertia coefficient (K m2/J) 00083 REAL, POINTER, DIMENSION(:) :: XDATA_RGL ! maximum solar radiation 00084 ! ! usable in photosynthesis (W/m2) 00085 REAL, POINTER, DIMENSION(:,:) :: XDATA_ROOTFRAC ! root fraction profile ('DIF' option) 00086 ! 00087 !------------------------------------------------------------------------------- 00088 ! 00089 ! - vegetation: Ags parameters ('AGS', 'LAI', 'AST', 'LST', 'NIT', 'NCB' options) 00090 ! 00091 REAL, POINTER, DIMENSION(:) :: XDATA_BSLAI ! ratio d(biomass)/d(lai) (kg/m2) 00092 REAL, POINTER, DIMENSION(:) :: XDATA_LAIMIN ! minimum LAI (Leaf Area Index) (m2/m2) 00093 REAL, POINTER, DIMENSION(:) :: XDATA_SEFOLD ! e-folding time for senescence (s) 00094 REAL, POINTER, DIMENSION(:) :: XDATA_H_TREE ! height of trees (m) 00095 REAL, POINTER, DIMENSION(:) :: XDATA_GMES ! mesophyll conductance (m s-1) 00096 REAL, POINTER, DIMENSION(:) :: XDATA_RE25 ! Ecosystem respiration parameter (kg m2 s-1) 00097 ! 00098 !------------------------------------------------------------------------------- 00099 ! 00100 ! - vegetation: Ags Stress parameters ('AST', 'LST', 'NIT', 'NCB' options) 00101 ! 00102 LOGICAL, POINTER, DIMENSION(:) :: LDATA_STRESS ! vegetation response type to water 00103 ! ! stress (true:defensive false:offensive) (-) 00104 REAL, POINTER, DIMENSION(:) :: XDATA_F2I ! critical normilized soil water 00105 ! ! content for stress parameterisation 00106 REAL, POINTER, DIMENSION(:) :: XDATA_GC ! cuticular conductance (m s-1) 00107 REAL, POINTER, DIMENSION(:) :: XDATA_DMAX ! maximum air saturation deficit 00108 ! ! tolerate by vegetation (kg/kg) 00109 ! 00110 REAL, POINTER, DIMENSION(:) :: XDATA_BSLAI_ST ! ratio d(biomass)/d(lai) (kg/m2) 00111 REAL, POINTER, DIMENSION(:) :: XDATA_SEFOLD_ST ! e-folding time for senescence (s) 00112 REAL, POINTER, DIMENSION(:) :: XDATA_GMES_ST ! mesophyll conductance (m s-1) 00113 REAL, POINTER, DIMENSION(:) :: XDATA_GC_ST ! cuticular conductance (m s-1) 00114 REAL, POINTER, DIMENSION(:) :: XDATA_DMAX_ST ! maximum air saturation deficit 00115 !------------------------------------------------------------------------------- 00116 ! 00117 ! - vegetation: Ags Nitrogen-model parameters ('NIT', 'NCB' option) 00118 ! 00119 REAL, POINTER, DIMENSION(:) :: XDATA_CE_NITRO ! leaf aera ratio sensitivity to 00120 ! ! nitrogen concentration (m2/kg) 00121 REAL, POINTER, DIMENSION(:) :: XDATA_CF_NITRO ! lethal minimum value of leaf area 00122 ! ! ratio (m2/kg) 00123 REAL, POINTER, DIMENSION(:) :: XDATA_CNA_NITRO ! nitrogen concentration of active 00124 ! ! biomass (kg/kg) 00125 ! 00126 !------------------------------------------------------------------------------- 00127 ! 00128 ! - soil: primary parameters 00129 ! 00130 REAL, POINTER, DIMENSION(:,:) :: XDATA_DG ! soil layer thicknesses (m) 00131 ! ! NOTE: in Force-Restore mode, the 00132 ! ! uppermost layer thickness is superficial 00133 ! ! and is only explicitly used for soil 00134 ! ! water phase changes (m) 00135 ! 00136 REAL, POINTER,DIMENSION(:) :: XDATA_DICE ! depth of the soil column for the calculation 00137 ! of the frozen soil fraction (m) 00138 ! 00139 ! - bare soil albedo 00140 ! 00141 REAL, POINTER, DIMENSION(:) :: XDATA_ALBNIR_SOIL ! soil near-infra-red albedo (-) 00142 REAL, POINTER, DIMENSION(:) :: XDATA_ALBVIS_SOIL ! soil visible albedo (-) 00143 REAL, POINTER, DIMENSION(:) :: XDATA_ALBUV_SOIL ! soil UV albedo (-) 00144 REAL, POINTER, DIMENSION(:) :: XDATA_ALBNIR_DRY ! dry soil near-infra-red albedo (-) 00145 REAL, POINTER, DIMENSION(:) :: XDATA_ALBVIS_DRY ! dry soil visible albedo (-) 00146 REAL, POINTER, DIMENSION(:) :: XDATA_ALBUV_DRY ! dry soil UV albedo (-) 00147 REAL, POINTER, DIMENSION(:) :: XDATA_ALBNIR_WET ! wet soil near-infra-red albedo (-) 00148 REAL, POINTER, DIMENSION(:) :: XDATA_ALBVIS_WET ! wet soil visible albedo (-) 00149 REAL, POINTER, DIMENSION(:) :: XDATA_ALBUV_WET ! wet soil UV albedo (-) 00150 ! 00151 !------------------------------------------------------------------------------- 00152 ! 00153 !- Vegetation: Ags Prognostic (YPHOTO = ('LAI', 'LST', 'NIT', or 'NCB') or prescribed (YPHOTO='NON', 'AGS' or 'AST') 00154 ! 00155 REAL, POINTER, DIMENSION(:,:) :: XDATA_LAI ! Leaf Area Index (m2/m2) 00156 ! 00157 !------------------------------------------------------------------------------- 00158 ! 00159 00160 END TYPE DATA_TEB_GARDEN_t 00161 00162 TYPE(DATA_TEB_GARDEN_t), ALLOCATABLE, TARGET, SAVE :: DATA_TEB_GARDEN_MODEL(:) 00163 00164 INTEGER, POINTER :: NTIME=>NULL() 00165 !$OMP THREADPRIVATE(NTIME) 00166 REAL, POINTER, DIMENSION(:) :: XDATA_FRAC_HVEG=>NULL() 00167 !$OMP THREADPRIVATE(XDATA_FRAC_HVEG) 00168 REAL, POINTER, DIMENSION(:) :: XDATA_FRAC_LVEG=>NULL() 00169 !$OMP THREADPRIVATE(XDATA_FRAC_LVEG) 00170 REAL, POINTER, DIMENSION(:) :: XDATA_FRAC_NVEG=>NULL() 00171 !$OMP THREADPRIVATE(XDATA_FRAC_NVEG) 00172 REAL, POINTER, DIMENSION(:,:) :: XDATA_LAI_HVEG=>NULL() 00173 !$OMP THREADPRIVATE(XDATA_LAI_HVEG) 00174 REAL, POINTER, DIMENSION(:,:) :: XDATA_LAI_LVEG=>NULL() 00175 !$OMP THREADPRIVATE(XDATA_LAI_LVEG) 00176 REAL, POINTER, DIMENSION(:) :: XDATA_H_HVEG=>NULL() 00177 !$OMP THREADPRIVATE(XDATA_H_HVEG) 00178 REAL, POINTER, DIMENSION(:,:) :: XDATA_VEGTYPE=>NULL() 00179 !$OMP THREADPRIVATE(XDATA_VEGTYPE) 00180 REAL, POINTER, DIMENSION(:) :: XDATA_Z0_O_Z0H=>NULL() 00181 !$OMP THREADPRIVATE(XDATA_Z0_O_Z0H) 00182 REAL, POINTER, DIMENSION(:,:) :: XDATA_EMIS=>NULL() 00183 !$OMP THREADPRIVATE(XDATA_EMIS) 00184 REAL, POINTER, DIMENSION(:,:) :: XDATA_Z0=>NULL() 00185 !$OMP THREADPRIVATE(XDATA_Z0) 00186 REAL, POINTER, DIMENSION(:) :: XDATA_ALBNIR_VEG=>NULL() 00187 !$OMP THREADPRIVATE(XDATA_ALBNIR_VEG) 00188 REAL, POINTER, DIMENSION(:) :: XDATA_ALBVIS_VEG=>NULL() 00189 !$OMP THREADPRIVATE(XDATA_ALBVIS_VEG) 00190 REAL, POINTER, DIMENSION(:) :: XDATA_ALBUV_VEG=>NULL() 00191 !$OMP THREADPRIVATE(XDATA_ALBUV_VEG) 00192 REAL, POINTER, DIMENSION(:) :: XDATA_ALBNIR_SOIL=>NULL() 00193 !$OMP THREADPRIVATE(XDATA_ALBNIR_SOIL) 00194 REAL, POINTER, DIMENSION(:) :: XDATA_ALBVIS_SOIL=>NULL() 00195 !$OMP THREADPRIVATE(XDATA_ALBVIS_SOIL) 00196 REAL, POINTER, DIMENSION(:) :: XDATA_ALBUV_SOIL=>NULL() 00197 !$OMP THREADPRIVATE(XDATA_ALBUV_SOIL) 00198 REAL, POINTER, DIMENSION(:) :: XDATA_ALBNIR_DRY=>NULL() 00199 !$OMP THREADPRIVATE(XDATA_ALBNIR_DRY) 00200 REAL, POINTER, DIMENSION(:) :: XDATA_ALBVIS_DRY=>NULL() 00201 !$OMP THREADPRIVATE(XDATA_ALBVIS_DRY) 00202 REAL, POINTER, DIMENSION(:) :: XDATA_ALBUV_DRY=>NULL() 00203 !$OMP THREADPRIVATE(XDATA_ALBUV_DRY) 00204 REAL, POINTER, DIMENSION(:) :: XDATA_ALBNIR_WET=>NULL() 00205 !$OMP THREADPRIVATE(XDATA_ALBNIR_WET) 00206 REAL, POINTER, DIMENSION(:) :: XDATA_ALBVIS_WET=>NULL() 00207 !$OMP THREADPRIVATE(XDATA_ALBVIS_WET) 00208 REAL, POINTER, DIMENSION(:) :: XDATA_ALBUV_WET=>NULL() 00209 !$OMP THREADPRIVATE(XDATA_ALBUV_WET) 00210 REAL, POINTER, DIMENSION(:,:) :: XDATA_VEG=>NULL() 00211 !$OMP THREADPRIVATE(XDATA_VEG) 00212 REAL, POINTER, DIMENSION(:) :: XDATA_WRMAX_CF=>NULL() 00213 !$OMP THREADPRIVATE(XDATA_WRMAX_CF) 00214 REAL, POINTER, DIMENSION(:) :: XDATA_RSMIN=>NULL() 00215 !$OMP THREADPRIVATE(XDATA_RSMIN) 00216 REAL, POINTER, DIMENSION(:) :: XDATA_GAMMA=>NULL() 00217 !$OMP THREADPRIVATE(XDATA_GAMMA) 00218 REAL, POINTER, DIMENSION(:) :: XDATA_CV=>NULL() 00219 !$OMP THREADPRIVATE(XDATA_CV) 00220 REAL, POINTER, DIMENSION(:) :: XDATA_RGL=>NULL() 00221 !$OMP THREADPRIVATE(XDATA_RGL) 00222 REAL, POINTER, DIMENSION(:,:) :: XDATA_ROOTFRAC=>NULL() 00223 !$OMP THREADPRIVATE(XDATA_ROOTFRAC) 00224 REAL, POINTER, DIMENSION(:) :: XDATA_BSLAI=>NULL() 00225 !$OMP THREADPRIVATE(XDATA_BSLAI) 00226 REAL, POINTER, DIMENSION(:) :: XDATA_LAIMIN=>NULL() 00227 !$OMP THREADPRIVATE(XDATA_LAIMIN) 00228 REAL, POINTER, DIMENSION(:) :: XDATA_SEFOLD=>NULL() 00229 !$OMP THREADPRIVATE(XDATA_SEFOLD) 00230 REAL, POINTER, DIMENSION(:) :: XDATA_H_TREE=>NULL() 00231 !$OMP THREADPRIVATE(XDATA_H_TREE) 00232 REAL, POINTER, DIMENSION(:) :: XDATA_GMES=>NULL() 00233 !$OMP THREADPRIVATE(XDATA_GMES) 00234 REAL, POINTER, DIMENSION(:) :: XDATA_RE25=>NULL() 00235 !$OMP THREADPRIVATE(XDATA_RE25) 00236 LOGICAL, POINTER, DIMENSION(:) :: LDATA_STRESS=>NULL() 00237 !$OMP THREADPRIVATE(LDATA_STRESS) 00238 REAL, POINTER, DIMENSION(:) :: XDATA_F2I=>NULL() 00239 !$OMP THREADPRIVATE(XDATA_F2I) 00240 REAL, POINTER, DIMENSION(:) :: XDATA_GC=>NULL() 00241 !$OMP THREADPRIVATE(XDATA_GC) 00242 REAL, POINTER, DIMENSION(:) :: XDATA_DMAX=>NULL() 00243 !$OMP THREADPRIVATE(XDATA_DMAX) 00244 REAL, POINTER, DIMENSION(:) :: XDATA_BSLAI_ST=>NULL() 00245 !$OMP THREADPRIVATE(XDATA_BSLAI_ST) 00246 REAL, POINTER, DIMENSION(:) :: XDATA_SEFOLD_ST=>NULL() 00247 !$OMP THREADPRIVATE(XDATA_SEFOLD_ST) 00248 REAL, POINTER, DIMENSION(:) :: XDATA_GMES_ST=>NULL() 00249 !$OMP THREADPRIVATE(XDATA_GMES_ST) 00250 REAL, POINTER, DIMENSION(:) :: XDATA_GC_ST=>NULL() 00251 !$OMP THREADPRIVATE(XDATA_GC_ST) 00252 REAL, POINTER, DIMENSION(:) :: XDATA_DMAX_ST=>NULL() 00253 !$OMP THREADPRIVATE(XDATA_DMAX_ST) 00254 REAL, POINTER, DIMENSION(:) :: XDATA_CE_NITRO=>NULL() 00255 !$OMP THREADPRIVATE(XDATA_CE_NITRO) 00256 REAL, POINTER, DIMENSION(:) :: XDATA_CF_NITRO=>NULL() 00257 !$OMP THREADPRIVATE(XDATA_CF_NITRO) 00258 REAL, POINTER, DIMENSION(:) :: XDATA_CNA_NITRO=>NULL() 00259 !$OMP THREADPRIVATE(XDATA_CNA_NITRO) 00260 REAL, POINTER, DIMENSION(:,:) :: XDATA_DG=>NULL() 00261 !$OMP THREADPRIVATE(XDATA_DG) 00262 REAL, POINTER, DIMENSION(:) :: XDATA_DICE=>NULL() 00263 !$OMP THREADPRIVATE(XDATA_DICE) 00264 REAL, POINTER, DIMENSION(:,:) :: XDATA_LAI=>NULL() 00265 !$OMP THREADPRIVATE(XDATA_LAI) 00266 00267 CONTAINS 00268 00269 SUBROUTINE DATA_TEB_GARDEN_GOTO_MODEL(KFROM, KTO, LKFROM) 00270 LOGICAL, INTENT(IN) :: LKFROM 00271 INTEGER, INTENT(IN) :: KFROM, KTO 00272 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00273 ! 00274 ! Save current state for allocated arrays 00275 IF (LKFROM) THEN 00276 DATA_TEB_GARDEN_MODEL(KFROM)%XDATA_FRAC_HVEG=>XDATA_FRAC_HVEG 00277 DATA_TEB_GARDEN_MODEL(KFROM)%XDATA_FRAC_LVEG=>XDATA_FRAC_LVEG 00278 DATA_TEB_GARDEN_MODEL(KFROM)%XDATA_FRAC_NVEG=>XDATA_FRAC_NVEG 00279 DATA_TEB_GARDEN_MODEL(KFROM)%XDATA_LAI_HVEG=>XDATA_LAI_HVEG 00280 DATA_TEB_GARDEN_MODEL(KFROM)%XDATA_LAI_LVEG=>XDATA_LAI_LVEG 00281 DATA_TEB_GARDEN_MODEL(KFROM)%XDATA_H_HVEG=>XDATA_H_HVEG 00282 DATA_TEB_GARDEN_MODEL(KFROM)%XDATA_VEGTYPE=>XDATA_VEGTYPE 00283 DATA_TEB_GARDEN_MODEL(KFROM)%XDATA_Z0_O_Z0H=>XDATA_Z0_O_Z0H 00284 DATA_TEB_GARDEN_MODEL(KFROM)%XDATA_EMIS=>XDATA_EMIS 00285 DATA_TEB_GARDEN_MODEL(KFROM)%XDATA_Z0=>XDATA_Z0 00286 DATA_TEB_GARDEN_MODEL(KFROM)%XDATA_ALBNIR_VEG=>XDATA_ALBNIR_VEG 00287 DATA_TEB_GARDEN_MODEL(KFROM)%XDATA_ALBVIS_VEG=>XDATA_ALBVIS_VEG 00288 DATA_TEB_GARDEN_MODEL(KFROM)%XDATA_ALBUV_VEG=>XDATA_ALBUV_VEG 00289 DATA_TEB_GARDEN_MODEL(KFROM)%XDATA_ALBNIR_SOIL=>XDATA_ALBNIR_SOIL 00290 DATA_TEB_GARDEN_MODEL(KFROM)%XDATA_ALBVIS_SOIL=>XDATA_ALBVIS_SOIL 00291 DATA_TEB_GARDEN_MODEL(KFROM)%XDATA_ALBUV_SOIL=>XDATA_ALBUV_SOIL 00292 DATA_TEB_GARDEN_MODEL(KFROM)%XDATA_ALBNIR_DRY=>XDATA_ALBNIR_DRY 00293 DATA_TEB_GARDEN_MODEL(KFROM)%XDATA_ALBVIS_DRY=>XDATA_ALBVIS_DRY 00294 DATA_TEB_GARDEN_MODEL(KFROM)%XDATA_ALBUV_DRY=>XDATA_ALBUV_DRY 00295 DATA_TEB_GARDEN_MODEL(KFROM)%XDATA_ALBNIR_WET=>XDATA_ALBNIR_WET 00296 DATA_TEB_GARDEN_MODEL(KFROM)%XDATA_ALBVIS_WET=>XDATA_ALBVIS_WET 00297 DATA_TEB_GARDEN_MODEL(KFROM)%XDATA_ALBUV_WET=>XDATA_ALBUV_WET 00298 DATA_TEB_GARDEN_MODEL(KFROM)%XDATA_VEG=>XDATA_VEG 00299 DATA_TEB_GARDEN_MODEL(KFROM)%XDATA_WRMAX_CF=>XDATA_WRMAX_CF 00300 DATA_TEB_GARDEN_MODEL(KFROM)%XDATA_RSMIN=>XDATA_RSMIN 00301 DATA_TEB_GARDEN_MODEL(KFROM)%XDATA_GAMMA=>XDATA_GAMMA 00302 DATA_TEB_GARDEN_MODEL(KFROM)%XDATA_CV=>XDATA_CV 00303 DATA_TEB_GARDEN_MODEL(KFROM)%XDATA_RGL=>XDATA_RGL 00304 DATA_TEB_GARDEN_MODEL(KFROM)%XDATA_ROOTFRAC=>XDATA_ROOTFRAC 00305 DATA_TEB_GARDEN_MODEL(KFROM)%XDATA_BSLAI=>XDATA_BSLAI 00306 DATA_TEB_GARDEN_MODEL(KFROM)%XDATA_LAIMIN=>XDATA_LAIMIN 00307 DATA_TEB_GARDEN_MODEL(KFROM)%XDATA_SEFOLD=>XDATA_SEFOLD 00308 DATA_TEB_GARDEN_MODEL(KFROM)%XDATA_H_TREE=>XDATA_H_TREE 00309 DATA_TEB_GARDEN_MODEL(KFROM)%XDATA_GMES=>XDATA_GMES 00310 DATA_TEB_GARDEN_MODEL(KFROM)%XDATA_RE25=>XDATA_RE25 00311 DATA_TEB_GARDEN_MODEL(KFROM)%LDATA_STRESS=>LDATA_STRESS 00312 DATA_TEB_GARDEN_MODEL(KFROM)%XDATA_F2I=>XDATA_F2I 00313 DATA_TEB_GARDEN_MODEL(KFROM)%XDATA_GC=>XDATA_GC 00314 DATA_TEB_GARDEN_MODEL(KFROM)%XDATA_DMAX=>XDATA_DMAX 00315 DATA_TEB_GARDEN_MODEL(KFROM)%XDATA_BSLAI_ST=>XDATA_BSLAI_ST 00316 DATA_TEB_GARDEN_MODEL(KFROM)%XDATA_SEFOLD_ST=>XDATA_SEFOLD_ST 00317 DATA_TEB_GARDEN_MODEL(KFROM)%XDATA_GMES_ST=>XDATA_GMES_ST 00318 DATA_TEB_GARDEN_MODEL(KFROM)%XDATA_GC_ST=>XDATA_GC_ST 00319 DATA_TEB_GARDEN_MODEL(KFROM)%XDATA_DMAX_ST=>XDATA_DMAX_ST 00320 DATA_TEB_GARDEN_MODEL(KFROM)%XDATA_CE_NITRO=>XDATA_CE_NITRO 00321 DATA_TEB_GARDEN_MODEL(KFROM)%XDATA_CF_NITRO=>XDATA_CF_NITRO 00322 DATA_TEB_GARDEN_MODEL(KFROM)%XDATA_CNA_NITRO=>XDATA_CNA_NITRO 00323 DATA_TEB_GARDEN_MODEL(KFROM)%XDATA_DG=>XDATA_DG 00324 DATA_TEB_GARDEN_MODEL(KFROM)%XDATA_DICE=>XDATA_DICE 00325 DATA_TEB_GARDEN_MODEL(KFROM)%XDATA_LAI=>XDATA_LAI 00326 ENDIF 00327 ! 00328 ! Current model is set to model KTO 00329 IF (LHOOK) CALL DR_HOOK('MODD_DATA_TEB_GARDEN_N:DATA_TEB_GARDEN_GOTO_MODEL',0,ZHOOK_HANDLE) 00330 NTIME=>DATA_TEB_GARDEN_MODEL(KTO)%NTIME 00331 XDATA_FRAC_HVEG=>DATA_TEB_GARDEN_MODEL(KTO)%XDATA_FRAC_HVEG 00332 XDATA_FRAC_LVEG=>DATA_TEB_GARDEN_MODEL(KTO)%XDATA_FRAC_LVEG 00333 XDATA_FRAC_NVEG=>DATA_TEB_GARDEN_MODEL(KTO)%XDATA_FRAC_NVEG 00334 XDATA_LAI_HVEG=>DATA_TEB_GARDEN_MODEL(KTO)%XDATA_LAI_HVEG 00335 XDATA_LAI_LVEG=>DATA_TEB_GARDEN_MODEL(KTO)%XDATA_LAI_LVEG 00336 XDATA_H_HVEG=>DATA_TEB_GARDEN_MODEL(KTO)%XDATA_H_HVEG 00337 XDATA_VEGTYPE=>DATA_TEB_GARDEN_MODEL(KTO)%XDATA_VEGTYPE 00338 XDATA_Z0_O_Z0H=>DATA_TEB_GARDEN_MODEL(KTO)%XDATA_Z0_O_Z0H 00339 XDATA_EMIS=>DATA_TEB_GARDEN_MODEL(KTO)%XDATA_EMIS 00340 XDATA_Z0=>DATA_TEB_GARDEN_MODEL(KTO)%XDATA_Z0 00341 XDATA_ALBNIR_VEG=>DATA_TEB_GARDEN_MODEL(KTO)%XDATA_ALBNIR_VEG 00342 XDATA_ALBVIS_VEG=>DATA_TEB_GARDEN_MODEL(KTO)%XDATA_ALBVIS_VEG 00343 XDATA_ALBUV_VEG=>DATA_TEB_GARDEN_MODEL(KTO)%XDATA_ALBUV_VEG 00344 XDATA_ALBNIR_SOIL=>DATA_TEB_GARDEN_MODEL(KTO)%XDATA_ALBNIR_SOIL 00345 XDATA_ALBVIS_SOIL=>DATA_TEB_GARDEN_MODEL(KTO)%XDATA_ALBVIS_SOIL 00346 XDATA_ALBUV_SOIL=>DATA_TEB_GARDEN_MODEL(KTO)%XDATA_ALBUV_SOIL 00347 XDATA_ALBNIR_DRY=>DATA_TEB_GARDEN_MODEL(KTO)%XDATA_ALBNIR_DRY 00348 XDATA_ALBVIS_DRY=>DATA_TEB_GARDEN_MODEL(KTO)%XDATA_ALBVIS_DRY 00349 XDATA_ALBUV_DRY=>DATA_TEB_GARDEN_MODEL(KTO)%XDATA_ALBUV_DRY 00350 XDATA_ALBNIR_WET=>DATA_TEB_GARDEN_MODEL(KTO)%XDATA_ALBNIR_WET 00351 XDATA_ALBVIS_WET=>DATA_TEB_GARDEN_MODEL(KTO)%XDATA_ALBVIS_WET 00352 XDATA_ALBUV_WET=>DATA_TEB_GARDEN_MODEL(KTO)%XDATA_ALBUV_WET 00353 XDATA_VEG=>DATA_TEB_GARDEN_MODEL(KTO)%XDATA_VEG 00354 XDATA_WRMAX_CF=>DATA_TEB_GARDEN_MODEL(KTO)%XDATA_WRMAX_CF 00355 XDATA_RSMIN=>DATA_TEB_GARDEN_MODEL(KTO)%XDATA_RSMIN 00356 XDATA_GAMMA=>DATA_TEB_GARDEN_MODEL(KTO)%XDATA_GAMMA 00357 XDATA_CV=>DATA_TEB_GARDEN_MODEL(KTO)%XDATA_CV 00358 XDATA_RGL=>DATA_TEB_GARDEN_MODEL(KTO)%XDATA_RGL 00359 XDATA_ROOTFRAC=>DATA_TEB_GARDEN_MODEL(KTO)%XDATA_ROOTFRAC 00360 XDATA_BSLAI=>DATA_TEB_GARDEN_MODEL(KTO)%XDATA_BSLAI 00361 XDATA_LAIMIN=>DATA_TEB_GARDEN_MODEL(KTO)%XDATA_LAIMIN 00362 XDATA_SEFOLD=>DATA_TEB_GARDEN_MODEL(KTO)%XDATA_SEFOLD 00363 XDATA_H_TREE=>DATA_TEB_GARDEN_MODEL(KTO)%XDATA_H_TREE 00364 XDATA_GMES=>DATA_TEB_GARDEN_MODEL(KTO)%XDATA_GMES 00365 XDATA_RE25=>DATA_TEB_GARDEN_MODEL(KTO)%XDATA_RE25 00366 LDATA_STRESS=>DATA_TEB_GARDEN_MODEL(KTO)%LDATA_STRESS 00367 XDATA_F2I=>DATA_TEB_GARDEN_MODEL(KTO)%XDATA_F2I 00368 XDATA_GC=>DATA_TEB_GARDEN_MODEL(KTO)%XDATA_GC 00369 XDATA_DMAX=>DATA_TEB_GARDEN_MODEL(KTO)%XDATA_DMAX 00370 XDATA_BSLAI_ST=>DATA_TEB_GARDEN_MODEL(KTO)%XDATA_BSLAI_ST 00371 XDATA_SEFOLD_ST=>DATA_TEB_GARDEN_MODEL(KTO)%XDATA_SEFOLD_ST 00372 XDATA_GMES_ST=>DATA_TEB_GARDEN_MODEL(KTO)%XDATA_GMES_ST 00373 XDATA_GC_ST=>DATA_TEB_GARDEN_MODEL(KTO)%XDATA_GC_ST 00374 XDATA_DMAX_ST=>DATA_TEB_GARDEN_MODEL(KTO)%XDATA_DMAX_ST 00375 XDATA_CE_NITRO=>DATA_TEB_GARDEN_MODEL(KTO)%XDATA_CE_NITRO 00376 XDATA_CF_NITRO=>DATA_TEB_GARDEN_MODEL(KTO)%XDATA_CF_NITRO 00377 XDATA_CNA_NITRO=>DATA_TEB_GARDEN_MODEL(KTO)%XDATA_CNA_NITRO 00378 XDATA_DG=>DATA_TEB_GARDEN_MODEL(KTO)%XDATA_DG 00379 XDATA_DICE=>DATA_TEB_GARDEN_MODEL(KTO)%XDATA_DICE 00380 XDATA_LAI=>DATA_TEB_GARDEN_MODEL(KTO)%XDATA_LAI 00381 IF (LHOOK) CALL DR_HOOK('MODD_DATA_TEB_GARDEN_N:DATA_TEB_GARDEN_GOTO_MODEL',1,ZHOOK_HANDLE) 00382 00383 END SUBROUTINE DATA_TEB_GARDEN_GOTO_MODEL 00384 00385 SUBROUTINE DATA_TEB_GARDEN_ALLOC(KMODEL) 00386 INTEGER, INTENT(IN) :: KMODEL 00387 INTEGER :: J 00388 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00389 IF (LHOOK) CALL DR_HOOK("MODD_DATA_TEB_GARDEN_N:DATA_TEB_GARDEN_ALLOC",0,ZHOOK_HANDLE) 00390 ALLOCATE(DATA_TEB_GARDEN_MODEL(KMODEL)) 00391 DO J=1,KMODEL 00392 NULLIFY(DATA_TEB_GARDEN_MODEL(J)%XDATA_FRAC_HVEG) 00393 NULLIFY(DATA_TEB_GARDEN_MODEL(J)%XDATA_FRAC_LVEG) 00394 NULLIFY(DATA_TEB_GARDEN_MODEL(J)%XDATA_FRAC_NVEG) 00395 NULLIFY(DATA_TEB_GARDEN_MODEL(J)%XDATA_LAI_HVEG) 00396 NULLIFY(DATA_TEB_GARDEN_MODEL(J)%XDATA_LAI_LVEG) 00397 NULLIFY(DATA_TEB_GARDEN_MODEL(J)%XDATA_H_HVEG) 00398 NULLIFY(DATA_TEB_GARDEN_MODEL(J)%XDATA_VEGTYPE) 00399 NULLIFY(DATA_TEB_GARDEN_MODEL(J)%XDATA_Z0_O_Z0H) 00400 NULLIFY(DATA_TEB_GARDEN_MODEL(J)%XDATA_EMIS) 00401 NULLIFY(DATA_TEB_GARDEN_MODEL(J)%XDATA_Z0) 00402 NULLIFY(DATA_TEB_GARDEN_MODEL(J)%XDATA_ALBNIR_VEG) 00403 NULLIFY(DATA_TEB_GARDEN_MODEL(J)%XDATA_ALBVIS_VEG) 00404 NULLIFY(DATA_TEB_GARDEN_MODEL(J)%XDATA_ALBUV_VEG) 00405 NULLIFY(DATA_TEB_GARDEN_MODEL(J)%XDATA_VEG) 00406 NULLIFY(DATA_TEB_GARDEN_MODEL(J)%XDATA_WRMAX_CF) 00407 NULLIFY(DATA_TEB_GARDEN_MODEL(J)%XDATA_RSMIN) 00408 NULLIFY(DATA_TEB_GARDEN_MODEL(J)%XDATA_GAMMA) 00409 NULLIFY(DATA_TEB_GARDEN_MODEL(J)%XDATA_CV) 00410 NULLIFY(DATA_TEB_GARDEN_MODEL(J)%XDATA_RGL) 00411 NULLIFY(DATA_TEB_GARDEN_MODEL(J)%XDATA_ROOTFRAC) 00412 NULLIFY(DATA_TEB_GARDEN_MODEL(J)%XDATA_BSLAI) 00413 NULLIFY(DATA_TEB_GARDEN_MODEL(J)%XDATA_LAIMIN) 00414 NULLIFY(DATA_TEB_GARDEN_MODEL(J)%XDATA_SEFOLD) 00415 NULLIFY(DATA_TEB_GARDEN_MODEL(J)%XDATA_H_TREE) 00416 NULLIFY(DATA_TEB_GARDEN_MODEL(J)%XDATA_GMES) 00417 NULLIFY(DATA_TEB_GARDEN_MODEL(J)%XDATA_RE25) 00418 NULLIFY(DATA_TEB_GARDEN_MODEL(J)%LDATA_STRESS) 00419 NULLIFY(DATA_TEB_GARDEN_MODEL(J)%XDATA_F2I) 00420 NULLIFY(DATA_TEB_GARDEN_MODEL(J)%XDATA_GC) 00421 NULLIFY(DATA_TEB_GARDEN_MODEL(J)%XDATA_DMAX) 00422 NULLIFY(DATA_TEB_GARDEN_MODEL(J)%XDATA_BSLAI_ST) 00423 NULLIFY(DATA_TEB_GARDEN_MODEL(J)%XDATA_SEFOLD_ST) 00424 NULLIFY(DATA_TEB_GARDEN_MODEL(J)%XDATA_GMES_ST) 00425 NULLIFY(DATA_TEB_GARDEN_MODEL(J)%XDATA_GC_ST) 00426 NULLIFY(DATA_TEB_GARDEN_MODEL(J)%XDATA_DMAX_ST) 00427 NULLIFY(DATA_TEB_GARDEN_MODEL(J)%XDATA_CE_NITRO) 00428 NULLIFY(DATA_TEB_GARDEN_MODEL(J)%XDATA_CF_NITRO) 00429 NULLIFY(DATA_TEB_GARDEN_MODEL(J)%XDATA_CNA_NITRO) 00430 NULLIFY(DATA_TEB_GARDEN_MODEL(J)%XDATA_DG) 00431 NULLIFY(DATA_TEB_GARDEN_MODEL(J)%XDATA_DICE) 00432 NULLIFY(DATA_TEB_GARDEN_MODEL(J)%XDATA_ALBNIR_SOIL) 00433 NULLIFY(DATA_TEB_GARDEN_MODEL(J)%XDATA_ALBVIS_SOIL) 00434 NULLIFY(DATA_TEB_GARDEN_MODEL(J)%XDATA_ALBUV_SOIL) 00435 NULLIFY(DATA_TEB_GARDEN_MODEL(J)%XDATA_ALBNIR_DRY) 00436 NULLIFY(DATA_TEB_GARDEN_MODEL(J)%XDATA_ALBVIS_DRY) 00437 NULLIFY(DATA_TEB_GARDEN_MODEL(J)%XDATA_ALBUV_DRY) 00438 NULLIFY(DATA_TEB_GARDEN_MODEL(J)%XDATA_ALBNIR_WET) 00439 NULLIFY(DATA_TEB_GARDEN_MODEL(J)%XDATA_ALBVIS_WET) 00440 NULLIFY(DATA_TEB_GARDEN_MODEL(J)%XDATA_ALBUV_WET) 00441 NULLIFY(DATA_TEB_GARDEN_MODEL(J)%XDATA_LAI) 00442 ENDDO 00443 DATA_TEB_GARDEN_MODEL(:)%NTIME=0 00444 IF (LHOOK) CALL DR_HOOK("MODD_DATA_TEB_GARDEN_N:DATA_TEB_GARDEN_ALLOC",1,ZHOOK_HANDLE) 00445 END SUBROUTINE DATA_TEB_GARDEN_ALLOC 00446 00447 SUBROUTINE DATA_TEB_GARDEN_DEALLO 00448 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00449 IF (LHOOK) CALL DR_HOOK("MODD_DATA_TEB_GARDEN_N:DATA_TEB_GARDEN_DEALLO",0,ZHOOK_HANDLE) 00450 IF (ALLOCATED(DATA_TEB_GARDEN_MODEL)) DEALLOCATE(DATA_TEB_GARDEN_MODEL) 00451 IF (LHOOK) CALL DR_HOOK("MODD_DATA_TEB_GARDEN_N:DATA_TEB_GARDEN_DEALLO",1,ZHOOK_HANDLE) 00452 END SUBROUTINE DATA_TEB_GARDEN_DEALLO 00453 00454 END MODULE MODD_DATA_TEB_GARDEN_n