SURFEX  V8_0
Surfex V8_0 release
 All Classes Files Functions Variables
allocate_teb_garden_pgd.F90
Go to the documentation of this file.
1 !SFX_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
2 !SFX_LIC This is part of the SURFEX software governed by the CeCILL-C licence
3 !SFX_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
4 !SFX_LIC for details. version 1.
5 ! #########
6  SUBROUTINE allocate_teb_garden_pgd (TGDPE, TGDP, &
7  oalloc,klu,kvegtype,kground_layer, kdimtab)
8 ! ##########################################################################
9 !
10 !
11 !
12 !
15 !
16 USE yomhook ,ONLY : lhook, dr_hook
17 USE parkind1 ,ONLY : jprb
18 !
19 IMPLICIT NONE
20 !
21 !
22 TYPE(teb_garden_pgd_evol_t), INTENT(INOUT) :: tgdpe
23 TYPE(teb_garden_pgd_t), INTENT(INOUT) :: tgdp
24 !
25 LOGICAL, INTENT(IN) :: oalloc ! True if constant PGD fields must be allocated
26 INTEGER, INTENT(IN) :: klu
27 INTEGER, INTENT(IN) :: kvegtype
28 INTEGER, INTENT(IN) :: kground_layer
29 INTEGER, INTENT(IN) :: kdimtab
30 REAL(KIND=JPRB) :: zhook_handle
31 !
32 !-------------------------------------------------------------------------------
33 !
34 !
35 IF (lhook) CALL dr_hook('ALLOCATE_TEB_GARDEN_PGD',0,zhook_handle)
36 !
37 !-------------------------------------------------------------------------------
38 !
39 ! - Physiographic field that can evolve prognostically
40 !
41 ALLOCATE(tgdpe%CUR%XLAI (klu ))
42 ALLOCATE(tgdpe%CUR%XVEG (klu ))
43 ALLOCATE(tgdpe%CUR%XEMIS (klu ))
44 ALLOCATE(tgdpe%CUR%XZ0 (klu ))
45 !
46 ! - vegetation:
47 !
48 ALLOCATE(tgdp%XALBNIR_VEG (klu ))
49 ALLOCATE(tgdp%XALBVIS_VEG (klu ))
50 ALLOCATE(tgdp%XALBUV_VEG (klu ))
51 !
52 IF (.NOT. oalloc) THEN
53  IF (lhook) CALL dr_hook('ALLOCATE_TEB_GARDEN_PGD',1,zhook_handle)
54  RETURN
55 END IF
56 !-------------------------------------------------------------------------------
57 !
58 ! Mask and number of grid elements containing tiles:
59 ALLOCATE(tgdp%XVEGTYPE (klu,kvegtype ))
60 !
61 !-------------------------------------------------------------------------------
62 !
63 ! Input Parameters:
64 !
65 ! - vegetation + bare soil:
66 !
67 ALLOCATE(tgdp%XZ0_O_Z0H (klu ))
68 
69 !
70 ! - vegetation: default option (Jarvis) and general parameters:
71 !
72 ALLOCATE(tgdp%XWRMAX_CF (klu ))
73 ALLOCATE(tgdp%XGAMMA (klu ))
74 ALLOCATE(tgdp%XCV (klu ))
75 ALLOCATE(tgdp%XRGL (klu ))
76 ALLOCATE(tgdp%XRSMIN (klu ))
77 ALLOCATE(tgdp%XROOTFRAC (klu,kground_layer ))
78 ALLOCATE(tgdp%NWG_LAYER (klu ))
79 ALLOCATE(tgdp%XDROOT (klu ))
80 ALLOCATE(tgdp%XDG2 (klu ))
81 !
82 !-------------------------------------------------------------------------------
83 !
84 ! - vegetation: Ags parameters ('AGS', 'LAI', 'AST', 'LST', 'NIT' options)
85 !
86 ALLOCATE(tgdp%XBSLAI (klu ))
87 ALLOCATE(tgdp%XLAIMIN (klu ))
88 ALLOCATE(tgdp%XSEFOLD (klu ))
89 ALLOCATE(tgdp%XH_TREE (klu ))
90 ALLOCATE(tgdp%XANF (klu ))
91 ALLOCATE(tgdp%XGMES (klu ))
92 ALLOCATE(tgdp%XRE25 (klu ))
93 !
94 !-------------------------------------------------------------------------------
95 !
96 ! - vegetation: Ags Stress parameters ('AST', 'LST', 'NIT' options)
97 !
98 ALLOCATE(tgdp%LSTRESS (klu ))
99 ALLOCATE(tgdp%XF2I (klu ))
100 ALLOCATE(tgdp%XGC (klu ))
101 ALLOCATE(tgdp%XAH (klu ))
102 ALLOCATE(tgdp%XBH (klu ))
103 ALLOCATE(tgdp%XDMAX (klu ))
104 !
105 !-------------------------------------------------------------------------------
106 !
107 ! - vegetation: Ags Nitrogen-model parameters ('NIT' option)
108 !
109 ALLOCATE(tgdp%XCE_NITRO (klu ))
110 ALLOCATE(tgdp%XCF_NITRO (klu ))
111 ALLOCATE(tgdp%XCNA_NITRO (klu ))
112 !
113 !-------------------------------------------------------------------------------
114 !
115 ! - soil: primary parameters
116 !
117 ALLOCATE(tgdp%XSAND (klu,kground_layer ))
118 ALLOCATE(tgdp%XCLAY (klu,kground_layer ))
119 ALLOCATE(tgdp%XRUNOFFB (klu ))
120 ALLOCATE(tgdp%XWDRAIN (klu ))
121 ALLOCATE(tgdp%XGAMMAT (klu ))
122 ALLOCATE(tgdp%XDG (klu,kground_layer ))
123 ALLOCATE(tgdp%XRUNOFFD (klu ))
124 !
125 !-------------------------------------------------------------------------------
126 !
127 ! - SGH scheme
128 !
129 ALLOCATE(tgdp%XD_ICE (klu ))
130 !
131 !-------------------------------------------------------------------------------
132 !
133 IF (lhook) CALL dr_hook('ALLOCATE_TEB_GARDEN_PGD',1,zhook_handle)
134 !
135 END SUBROUTINE allocate_teb_garden_pgd
subroutine allocate_teb_garden_pgd(TGDPE, TGDP, OALLOC, KLU, KVEGTYPE, KGROUND_LAYER, KDIMTAB)