SURFEX  V8_0
Surfex V8_0 release
 All Classes Files Functions Variables
allocate_teb_greenroof_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_greenroof_pgd (TGRPE, TGRP, &
7  oalloc,klu,kvegtype,klayer_gr, 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_greenroof_pgd_evol_t), INTENT(INOUT) :: tgrpe
23 TYPE(teb_greenroof_pgd_t), INTENT(INOUT) :: tgrp
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) :: klayer_gr
29 INTEGER, INTENT(IN) :: kdimtab
30 REAL(KIND=JPRB) :: zhook_handle
31 !
32 !-------------------------------------------------------------------------------
33 !
34 IF (lhook) CALL dr_hook('ALLOCATE_TEB_GREENROOF_PGD',0,zhook_handle)
35 !-------------------------------------------------------------------------------
36 !
37 ! - Physiographic field that can evolve prognostically
38 !
39 ALLOCATE(tgrpe%CUR%XLAI (klu ))
40 ALLOCATE(tgrpe%CUR%XVEG (klu ))
41 ALLOCATE(tgrpe%CUR%XEMIS (klu ))
42 ALLOCATE(tgrpe%CUR%XZ0 (klu ))
43 !
44 ! - vegetation:
45 !
46 ALLOCATE(tgrp%XALBNIR_VEG (klu ))
47 ALLOCATE(tgrp%XALBVIS_VEG (klu ))
48 ALLOCATE(tgrp%XALBUV_VEG (klu ))
49 !
50 IF (.NOT. oalloc) THEN
51  IF (lhook) CALL dr_hook('ALLOCATE_TEB_GARDEN_PGD',1,zhook_handle)
52  RETURN
53 END IF
54 !-------------------------------------------------------------------------------
55 ! Mask and number of grid elements containing tiles:
56 !
57 ALLOCATE(tgrp%XVEGTYPE (klu,kvegtype ))
58 !
59 !-------------------------------------------------------------------------------
60 !
61 ! Input Parameters:
62 !
63 ! - vegetation + bare soil:
64 !
65 ALLOCATE(tgrp%XZ0_O_Z0H (klu ))
66 !
67 ! - vegetation: default option (Jarvis) and general parameters:
68 !
69 ALLOCATE(tgrp%XWRMAX_CF (klu ))
70 ALLOCATE(tgrp%XGAMMA (klu ))
71 ALLOCATE(tgrp%XCV (klu ))
72 ALLOCATE(tgrp%XRGL (klu ))
73 ALLOCATE(tgrp%XRSMIN (klu ))
74 ALLOCATE(tgrp%XROOTFRAC (klu,klayer_gr ))
75 ALLOCATE(tgrp%NWG_LAYER (klu ))
76 ALLOCATE(tgrp%XDROOT (klu ))
77 ALLOCATE(tgrp%XDG2 (klu ))
78 !
79 !-------------------------------------------------------------------------------
80 !
81 ! - vegetation: Ags parameters ('AGS', 'LAI', 'AST', 'LST', 'NIT' options)
82 !
83 ALLOCATE(tgrp%XBSLAI (klu ))
84 ALLOCATE(tgrp%XLAIMIN (klu ))
85 ALLOCATE(tgrp%XSEFOLD (klu ))
86 ALLOCATE(tgrp%XH_TREE (klu ))
87 ALLOCATE(tgrp%XANF (klu ))
88 ALLOCATE(tgrp%XGMES (klu ))
89 ALLOCATE(tgrp%XRE25 (klu ))
90 !
91 !-------------------------------------------------------------------------------
92 !
93 ! - vegetation: Ags Stress parameters ('AST', 'LST', 'NIT' options)
94 !
95 ALLOCATE(tgrp%LSTRESS (klu ))
96 ALLOCATE(tgrp%XF2I (klu ))
97 ALLOCATE(tgrp%XGC (klu ))
98 ALLOCATE(tgrp%XAH (klu ))
99 ALLOCATE(tgrp%XBH (klu ))
100 ALLOCATE(tgrp%XDMAX (klu ))
101 !
102 !-------------------------------------------------------------------------------
103 !
104 ! - vegetation: Ags Nitrogen-model parameters ('NIT' option)
105 !
106 ALLOCATE(tgrp%XCE_NITRO (klu ))
107 ALLOCATE(tgrp%XCF_NITRO (klu ))
108 ALLOCATE(tgrp%XCNA_NITRO (klu ))
109 !
110 !-------------------------------------------------------------------------------
111 !
112 ! - soil: primary parameters
113 !
114 ALLOCATE(tgrp%XOM_GR (klu,klayer_gr ))
115 ALLOCATE(tgrp%XSAND_GR (klu,klayer_gr ))
116 ALLOCATE(tgrp%XCLAY_GR (klu,klayer_gr ))
117 ALLOCATE(tgrp%XTAUICE (klu ))
118 ALLOCATE(tgrp%XGAMMAT (klu ))
119 ALLOCATE(tgrp%XDG (klu,klayer_gr ))
120 ALLOCATE(tgrp%XRUNOFFD (klu ))
121 !
122 !-------------------------------------------------------------------------------
123 !
124 ! - SGH scheme
125 !
126 ALLOCATE(tgrp%XD_ICE (klu ))
127 !
128 !-------------------------------------------------------------------------------
129 !
130 IF (lhook) CALL dr_hook('ALLOCATE_TEB_GREENROOF_PGD',1,zhook_handle)
131 !
132 END SUBROUTINE allocate_teb_greenroof_pgd
subroutine allocate_teb_greenroof_pgd(TGRPE, TGRP, OALLOC, KLU, KVEGTYPE, KLAYER_GR, KDIMTAB)