SURFEX  V8_0
Surfex V8_0 release
 All Classes Files Functions Variables
modd_diag_teb_gardenn.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 !######################
7 !######################
8 !
9 !!**** *MODD_DIAG_TEB_GARDEN - declaration of diagnostics for ISBA scheme
10 !!
11 !! PURPOSE
12 !! -------
13 !
14 !!
15 !!** IMPLICIT ARGUMENTS
16 !! ------------------
17 !! None
18 !!
19 !! REFERENCE
20 !! ---------
21 !!
22 !! AUTHOR
23 !! ------
24 !! V. Masson *Meteo France
25 !!
26 !! MODIFICATIONS
27 !! -------------
28 !! Original 01/2004
29 !! Modified 01/2006 : sea flux parameterization.
30 !
31 !* 0. DECLARATIONS
32 ! ------------
33 !
34 !
35 !
36 USE yomhook ,ONLY : lhook, dr_hook
37 USE parkind1 ,ONLY : jprb
38 !
39 IMPLICIT NONE
40 
42 !------------------------------------------------------------------------------
43 !
44 !* variables for one patch
45 !
46  REAL, POINTER, DIMENSION(:) :: XRI ! Bulk-Richardson number (-)
47  REAL, POINTER, DIMENSION(:) :: XCD ! drag coefficient for wind (W/s2)
48  REAL, POINTER, DIMENSION(:) :: XCH ! drag coefficient for heat (W/s)
49  REAL, POINTER, DIMENSION(:) :: XCE ! drag coefficient for vapor (W/s/K)
50  REAL, POINTER, DIMENSION(:) :: XRN ! net radiation at surface (W/m2)
51  REAL, POINTER, DIMENSION(:) :: XH ! sensible heat flux (W/m2)
52  REAL, POINTER, DIMENSION(:) :: XGFLUX ! net soil-vegetation flux (W/m2)
53  REAL, POINTER, DIMENSION(:) :: XTS ! surface temperature (K)
54  REAL, POINTER, DIMENSION(:) :: XTSRAD ! radiative surface temperature (K)
55  REAL, POINTER, DIMENSION(:) :: XQS ! humidity at surface (kg/kg)
56  REAL, POINTER, DIMENSION(:) :: XLWD ! downward long wave radiation (W/m2)
57  REAL, POINTER, DIMENSION(:) :: XLWU ! upward long wave radiation (W/m2)
58  REAL, POINTER, DIMENSION(:) :: XSWD ! downward short wave radiation (W/m2)
59  REAL, POINTER, DIMENSION(:) :: XSWU ! upward short wave radiation (W/m2)
60  REAL, POINTER, DIMENSION(:,:) :: XSWBD ! downward short wave radiation by spectral band (W/m2)
61  REAL, POINTER, DIMENSION(:,:) :: XSWBU ! upward short wave radiation by spectral band (W/m2)
62  REAL, POINTER, DIMENSION(:) :: XFMU ! horizontal momentum flux zonal (m2/s2)
63  REAL, POINTER, DIMENSION(:) :: XFMV ! horizontal momentum flux meridian (m2/s2)
64  !
65  REAL, POINTER, DIMENSION(:) :: XZ0_WITH_SNOW ! roughness length for momentum
66  ! for vegetation and snow (m)
67  REAL, POINTER, DIMENSION(:) :: XZ0H_WITH_SNOW ! roughness length for heat
68  ! for vegetation and snow (m)
69  REAL, POINTER, DIMENSION(:) :: XZ0EFF ! effective roughness length for heat
70  ! for vegetation and snow (m)
71 !
72  REAL, POINTER, DIMENSION(:) :: XLEI ! sublimation latent heat flux (W/m2)
73  REAL, POINTER, DIMENSION(:) :: XLEG ! latent heat of evaporation over the ground (W/m2)
74  REAL, POINTER, DIMENSION(:) :: XLEGI ! surface soil ice sublimation (W/m2)
75  REAL, POINTER, DIMENSION(:) :: XLEV ! latent heat of evaporation over vegetation (W/m2)
76  REAL, POINTER, DIMENSION(:) :: XLES ! latent heat of evaporation over the snow (W/m2)
77  REAL, POINTER, DIMENSION(:) :: XLER ! evaporation from canopy water interception (W/m2)
78  REAL, POINTER, DIMENSION(:) :: XLETR ! evapotranspiration of the vegetation (W/m2)
79  REAL, POINTER, DIMENSION(:) :: XEVAP ! evapotranspiration (W/m2)
80  REAL, POINTER, DIMENSION(:) :: XDRAIN ! soil drainage flux (kg/m2/s)
81  REAL, POINTER, DIMENSION(:) :: XRUNOFF ! sub-grid and supersaturation runoff (kg/m2/s)
82  REAL, POINTER, DIMENSION(:) :: XHORT ! sub-grid Horton runoff from the SGH scheme (kg/m2/s)
83  REAL, POINTER, DIMENSION(:) :: XRRVEG ! precipitation intercepted by the vegetation (kg/m2/s)
84  REAL, POINTER, DIMENSION(:) :: XMELT ! snow melt (kg/m2/s)
85  REAL, POINTER, DIMENSION(:) :: XDRIP ! dripping from the vegetation reservoir (kg/m2/s)
86  REAL, POINTER, DIMENSION(:) :: XIRRIG_FLUX ! irrigation rate (as soil input) (kg/m2/s)
87 
88 !
89 !* pack diag
90 !
91  REAL, POINTER, DIMENSION(:) :: XCG ! heat capacity of the ground
92  REAL, POINTER, DIMENSION(:) :: XC1 ! coefficients for the moisure
93  REAL, POINTER, DIMENSION(:) :: XC2 ! equation.
94  REAL, POINTER, DIMENSION(:) :: XWGEQ ! equilibrium volumetric water content
95  REAL, POINTER, DIMENSION(:) :: XCT ! area-averaged heat capacity
96  REAL, POINTER, DIMENSION(:) :: XRS ! stomatal resistance (s/m)
97  REAL, POINTER, DIMENSION(:) :: XCDN ! neutral drag coefficient (-)
98  REAL, POINTER, DIMENSION(:) :: XHU ! area averaged surface humidity coefficient (-)
99  REAL, POINTER, DIMENSION(:) :: XHUG ! baresoil surface humidity coefficient (-)
100  REAL, POINTER, DIMENSION(:) :: XRESTORE ! surface energy budget restore term (W/m2)
101  REAL, POINTER, DIMENSION(:) :: XUSTAR ! friction velocity (m/s)
102  REAL, POINTER, DIMENSION(:,:) :: XIACAN ! PAR in the canopy at different gauss level (micmolphot/m2/s)
103 !
104 ! for ISBA-ES:3-L
105  REAL, POINTER, DIMENSION(:,:) :: XSNOWTEMP ! snow temperature profile (ISBA-ES:3-L) (K)
106  REAL, POINTER, DIMENSION(:,:) :: XSNOWLIQ ! snow liquid water profile (ISBA-ES:3-L) (m)
107  REAL, POINTER, DIMENSION(:,:) :: XSNOWDZ ! snow layer thicknesses (m)
108  REAL, POINTER, DIMENSION(:) :: XSNOWHMASS ! heat content change due to mass changes in snowpack (J/m2)
109  REAL, POINTER, DIMENSION(:) :: XMELTADV ! advective energy from snow melt water!
110 !
111 !* budget summation variables for one patch
112 !
113 !
114  REAL, POINTER, DIMENSION(:) :: XHV ! Halstead coefficient
115 !
116  REAL, POINTER, DIMENSION(:,:) :: XSWI ! Soil wetness index
117  REAL, POINTER, DIMENSION(:,:) :: XTSWI ! Total soil wetness index
118 !
119  REAL, POINTER, DIMENSION(:) :: XTWSNOW ! Total snow reservoir
120  REAL, POINTER, DIMENSION(:) :: XTDSNOW ! Total snow height
121 !
122  REAL, POINTER, DIMENSION(:) :: XALBT ! Total Albedo
123  REAL, POINTER, DIMENSION(:) :: XEMIST ! averaged emissivity (-)
124 !
125  REAL, POINTER, DIMENSION(:) :: XSEUIL ! Irrigation threshold
126 !
127  REAL, POINTER, DIMENSION(:) :: XGPP ! Gross Primary Production
128  REAL, POINTER, DIMENSION(:) :: XRESP_AUTO ! Autotrophic respiration
129  REAL, POINTER, DIMENSION(:) :: XRESP_ECO ! Ecosystem respiration
130  REAL, POINTER, DIMENSION(:) :: XFAPAR ! Fapar of vegetation
131  REAL, POINTER, DIMENSION(:) :: XFAPIR ! Fapir of vegetation
132  REAL, POINTER, DIMENSION(:) :: XDFAPARC ! Fapar of vegetation (cumul)
133  REAL, POINTER, DIMENSION(:) :: XDFAPIRC ! Fapir of vegetation (cumul)
134  REAL, POINTER, DIMENSION(:) :: XFAPAR_BS ! Fapar of bare soil
135  REAL, POINTER, DIMENSION(:) :: XFAPIR_BS ! Fapir of bare soil
136  REAL, POINTER, DIMENSION(:) :: XDLAI_EFFC ! Effective LAI (cumul)
137 !
138 !------------------------------------------------------------------------------
139 !
140 
141 END TYPE diag_teb_garden_t
142 
143 
144 
145  CONTAINS
146 
147 !
148 
149 
150 
151 
152 SUBROUTINE diag_teb_garden_init(YDIAG_TEB_GARDEN)
153 TYPE(diag_teb_garden_t), INTENT(INOUT) :: ydiag_teb_garden
154 REAL(KIND=JPRB) :: zhook_handle
155 IF (lhook) CALL dr_hook("MODD_DIAG_TEB_GARDEN_N:DIAG_TEB_GARDEN_INIT",0,zhook_handle)
156  nullify(ydiag_teb_garden%XRI)
157  nullify(ydiag_teb_garden%XCD)
158  nullify(ydiag_teb_garden%XCH)
159  nullify(ydiag_teb_garden%XCE)
160  nullify(ydiag_teb_garden%XRN)
161  nullify(ydiag_teb_garden%XH)
162  nullify(ydiag_teb_garden%XGFLUX)
163  nullify(ydiag_teb_garden%XTS)
164  nullify(ydiag_teb_garden%XTSRAD)
165  nullify(ydiag_teb_garden%XQS)
166  nullify(ydiag_teb_garden%XLWD)
167  nullify(ydiag_teb_garden%XLWU)
168  nullify(ydiag_teb_garden%XSWD)
169  nullify(ydiag_teb_garden%XSWU)
170  nullify(ydiag_teb_garden%XSWBD)
171  nullify(ydiag_teb_garden%XSWBU)
172  nullify(ydiag_teb_garden%XFMU)
173  nullify(ydiag_teb_garden%XFMV)
174  nullify(ydiag_teb_garden%XZ0_WITH_SNOW)
175  nullify(ydiag_teb_garden%XZ0H_WITH_SNOW)
176  nullify(ydiag_teb_garden%XZ0EFF)
177  nullify(ydiag_teb_garden%XLEI)
178  nullify(ydiag_teb_garden%XLEG)
179  nullify(ydiag_teb_garden%XLEGI)
180  nullify(ydiag_teb_garden%XLEV)
181  nullify(ydiag_teb_garden%XLES)
182  nullify(ydiag_teb_garden%XLER)
183  nullify(ydiag_teb_garden%XLETR)
184  nullify(ydiag_teb_garden%XEVAP)
185  nullify(ydiag_teb_garden%XDRAIN)
186  nullify(ydiag_teb_garden%XRUNOFF)
187  nullify(ydiag_teb_garden%XHORT)
188  nullify(ydiag_teb_garden%XRRVEG)
189  nullify(ydiag_teb_garden%XMELT)
190  nullify(ydiag_teb_garden%XDRIP)
191  nullify(ydiag_teb_garden%XIRRIG_FLUX)
192  nullify(ydiag_teb_garden%XCG)
193  nullify(ydiag_teb_garden%XC1)
194  nullify(ydiag_teb_garden%XC2)
195  nullify(ydiag_teb_garden%XWGEQ)
196  nullify(ydiag_teb_garden%XCT)
197  nullify(ydiag_teb_garden%XRS)
198  nullify(ydiag_teb_garden%XCDN)
199  nullify(ydiag_teb_garden%XHU)
200  nullify(ydiag_teb_garden%XHUG)
201  nullify(ydiag_teb_garden%XRESTORE)
202  nullify(ydiag_teb_garden%XUSTAR)
203  nullify(ydiag_teb_garden%XIACAN)
204  nullify(ydiag_teb_garden%XSNOWTEMP)
205  nullify(ydiag_teb_garden%XSNOWLIQ)
206  nullify(ydiag_teb_garden%XSNOWDZ)
207  nullify(ydiag_teb_garden%XSNOWHMASS)
208  nullify(ydiag_teb_garden%XMELTADV)
209  nullify(ydiag_teb_garden%XHV)
210  nullify(ydiag_teb_garden%XSWI)
211  nullify(ydiag_teb_garden%XTSWI)
212  nullify(ydiag_teb_garden%XTWSNOW)
213  nullify(ydiag_teb_garden%XTDSNOW)
214  nullify(ydiag_teb_garden%XALBT)
215  nullify(ydiag_teb_garden%XEMIST)
216  nullify(ydiag_teb_garden%XSEUIL)
217  nullify(ydiag_teb_garden%XGPP)
218  nullify(ydiag_teb_garden%XRESP_AUTO)
219  nullify(ydiag_teb_garden%XRESP_ECO)
220  nullify(ydiag_teb_garden%XFAPAR)
221  nullify(ydiag_teb_garden%XFAPIR)
222  nullify(ydiag_teb_garden%XDFAPARC)
223  nullify(ydiag_teb_garden%XDFAPIRC)
224  nullify(ydiag_teb_garden%XFAPAR_BS)
225  nullify(ydiag_teb_garden%XFAPIR_BS)
226  nullify(ydiag_teb_garden%XDLAI_EFFC)
227 IF (lhook) CALL dr_hook("MODD_DIAG_TEB_GARDEN_N:DIAG_TEB_GARDEN_INIT",1,zhook_handle)
228 END SUBROUTINE diag_teb_garden_init
229 
230 
231 END MODULE modd_diag_teb_garden_n
subroutine diag_teb_garden_init(YDIAG_TEB_GARDEN)