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