SURFEX  V8_0
Surfex V8_0 release
 All Classes Files Functions Variables
dealloc_isban.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 dealloc_isba_n (CHI, DTI, GB, IG, I)
7 ! #################################################################################
8 !
9 !!**** *DEALLOC_ISBA_n * - Deallocate all arrays
10 !!
11 !! PURPOSE
12 !! -------
13 !
14 !!** METHOD
15 !! ------
16 !!
17 !! REFERENCE
18 !! ---------
19 !!
20 !!
21 !! AUTHOR
22 !! ------
23 !! V. Masson
24 !!
25 !! MODIFICATIONS
26 !! -------------
27 !! Original 01/2004
28 !! P Samuelsson 10/2014 MEB
29 !!------------------------------------------------------------------
30 !
31 !
32 USE modd_ch_isba_n, ONLY : ch_isba_t
33 USE modd_data_isba_n, ONLY : data_isba_t
34 USE modd_gr_biog_n, ONLY : gr_biog_t
35 USE modd_isba_grid_n, ONLY : isba_grid_t
36 USE modd_isba_n, ONLY : isba_t
37 !
38 USE yomhook ,ONLY : lhook, dr_hook
39 USE parkind1 ,ONLY : jprb
40 !
41 IMPLICIT NONE
42 !
43 !* 0.1 declarations of arguments
44 !
45 !
46 !* 0.2 declarations of local variables
47 !
48 !-------------------------------------------------------------------------------------
49 !
50 
51 !
52 TYPE(ch_isba_t), INTENT(INOUT) :: chi
53 TYPE(data_isba_t), INTENT(INOUT) :: dti
54 TYPE(gr_biog_t), INTENT(INOUT) :: gb
55 TYPE(isba_grid_t), INTENT(INOUT) :: ig
56 TYPE(isba_t), INTENT(INOUT) :: i
57 !
58 REAL(KIND=JPRB) :: zhook_handle
59 
60 IF (lhook) CALL dr_hook('DEALLOC_ISBA_N',0,zhook_handle)
61 IF (ASSOCIATED(i%LCOVER )) DEALLOCATE(i%LCOVER )
62 IF (ASSOCIATED(i%XCOVER )) DEALLOCATE(i%XCOVER )
63 IF (ASSOCIATED(i%XZS )) DEALLOCATE(i%XZS )
64 IF (ASSOCIATED(i%XZ0EFFJPDIR)) DEALLOCATE(i%XZ0EFFJPDIR)
65 IF (ASSOCIATED(i%XCLAY )) DEALLOCATE(i%XCLAY )
66 IF (ASSOCIATED(i%XSAND )) DEALLOCATE(i%XSAND )
67 IF (ASSOCIATED(i%XSOC )) DEALLOCATE(i%XSOC )
68 IF (ASSOCIATED(i%XRUNOFFB )) DEALLOCATE(i%XRUNOFFB)
69 !
70 IF (ASSOCIATED(i%XAOSIP)) DEALLOCATE( i%XAOSIP)
71 IF (ASSOCIATED(i%XAOSIM)) DEALLOCATE( i%XAOSIM)
72 IF (ASSOCIATED(i%XAOSJP)) DEALLOCATE( i%XAOSJP)
73 IF (ASSOCIATED(i%XAOSJM)) DEALLOCATE( i%XAOSJM)
74 IF (ASSOCIATED(i%XHO2IP)) DEALLOCATE( i%XHO2IP)
75 IF (ASSOCIATED(i%XHO2IM)) DEALLOCATE( i%XHO2IM)
76 IF (ASSOCIATED(i%XHO2JP)) DEALLOCATE( i%XHO2JP)
77 IF (ASSOCIATED(i%XHO2JM)) DEALLOCATE( i%XHO2JM)
78 IF (ASSOCIATED(i%XZ0EFFIP)) DEALLOCATE( i%XZ0EFFIP)
79 IF (ASSOCIATED(i%XZ0EFFIM)) DEALLOCATE( i%XZ0EFFIM)
80 IF (ASSOCIATED(i%XZ0EFFJP)) DEALLOCATE( i%XZ0EFFJP)
81 IF (ASSOCIATED(i%XZ0EFFJM)) DEALLOCATE( i%XZ0EFFJM)
82 IF (ASSOCIATED(i%XZ0REL)) DEALLOCATE( i%XZ0REL)
83 IF (ASSOCIATED(i%XSSO_SLOPE)) DEALLOCATE( i%XSSO_SLOPE)
84 !
85 !-------------------------------------------------------------------------------------
86 !
87 IF (ASSOCIATED(ig%XGRID_PAR )) DEALLOCATE(ig%XGRID_PAR )
88 IF (ASSOCIATED(ig%XLAT )) DEALLOCATE(ig%XLAT )
89 IF (ASSOCIATED(ig%XLON )) DEALLOCATE(ig%XLON )
90 IF (ASSOCIATED(ig%XMESH_SIZE)) DEALLOCATE(ig%XMESH_SIZE)
91 !
92 !-------------------------------------------------------------------------------------
93 !
94 IF (ASSOCIATED(gb%XMONOPOT)) DEALLOCATE(gb%XMONOPOT)
95 IF (ASSOCIATED(gb%XISOPOT)) DEALLOCATE(gb%XISOPOT)
96 !
97 !-------------------------------------------------------------------------------------
98 !
99 IF (ASSOCIATED(i%XLAI )) DEALLOCATE(i%XLAI )
100 IF (ASSOCIATED(i%XVEG )) DEALLOCATE(i%XVEG )
101 IF (ASSOCIATED(i%XRSMIN )) DEALLOCATE(i%XRSMIN )
102 IF (ASSOCIATED(i%XGAMMA )) DEALLOCATE(i%XGAMMA )
103 IF (ASSOCIATED(i%XWRMAX_CF )) DEALLOCATE(i%XWRMAX_CF )
104 IF (ASSOCIATED(i%XRGL )) DEALLOCATE(i%XRGL )
105 IF (ASSOCIATED(i%XCV )) DEALLOCATE(i%XCV )
106 IF (ASSOCIATED(i%XDG )) DEALLOCATE(i%XDG )
107 IF (ASSOCIATED(i%XDZG )) DEALLOCATE(i%XDZG )
108 IF (ASSOCIATED(i%XDZDIF )) DEALLOCATE(i%XDZDIF )
109 IF (ASSOCIATED(i%XDG_OLD )) DEALLOCATE(i%XDG_OLD )
110 IF (ASSOCIATED(i%NWG_LAYER )) DEALLOCATE(i%NWG_LAYER )
111 IF (ASSOCIATED(i%XDROOT )) DEALLOCATE(i%XDROOT )
112 IF (ASSOCIATED(i%XDG2 )) DEALLOCATE(i%XDG2 )
113 IF (ASSOCIATED(i%XROOTFRAC )) DEALLOCATE(i%XROOTFRAC )
114 IF (ASSOCIATED(i%XZ0 )) DEALLOCATE(i%XZ0 )
115 IF (ASSOCIATED(i%XZ0_O_Z0H )) DEALLOCATE(i%XZ0_O_Z0H )
116 IF (ASSOCIATED(i%XALBNIR_VEG)) DEALLOCATE(i%XALBNIR_VEG)
117 IF (ASSOCIATED(i%XALBVIS_VEG)) DEALLOCATE(i%XALBVIS_VEG)
118 IF (ASSOCIATED(i%XALBUV_VEG )) DEALLOCATE(i%XALBUV_VEG )
119 IF (ASSOCIATED(i%XEMIS )) DEALLOCATE(i%XEMIS )
120 IF (ASSOCIATED(i%XVEGTYPE )) DEALLOCATE(i%XVEGTYPE )
121 IF (ASSOCIATED(i%XGMES )) DEALLOCATE(i%XGMES )
122 IF (ASSOCIATED(i%XRE25 )) DEALLOCATE(i%XRE25 )
123 IF (ASSOCIATED(i%XBSLAI )) DEALLOCATE(i%XBSLAI )
124 IF (ASSOCIATED(i%XLAIMIN )) DEALLOCATE(i%XLAIMIN )
125 IF (ASSOCIATED(i%XSEFOLD )) DEALLOCATE(i%XSEFOLD )
126 IF (ASSOCIATED(i%XGC )) DEALLOCATE(i%XGC )
127 IF (ASSOCIATED(i%XDMAX )) DEALLOCATE(i%XDMAX )
128 IF (ASSOCIATED(i%XF2I )) DEALLOCATE(i%XF2I )
129 IF (ASSOCIATED(i%LSTRESS )) DEALLOCATE(i%LSTRESS )
130 IF (ASSOCIATED(i%XH_TREE )) DEALLOCATE(i%XH_TREE )
131 IF (ASSOCIATED(i%XCE_NITRO )) DEALLOCATE(i%XCE_NITRO )
132 IF (ASSOCIATED(i%XCF_NITRO )) DEALLOCATE(i%XCF_NITRO )
133 IF (ASSOCIATED(i%XCNA_NITRO )) DEALLOCATE(i%XCNA_NITRO )
134 IF (ASSOCIATED(i%XBSLAI_NITRO)) DEALLOCATE(i%XBSLAI_NITRO)
135 IF (ASSOCIATED(i%XPATCH )) DEALLOCATE(i%XPATCH )
136 IF (ASSOCIATED(i%XVEGTYPE_PATCH)) DEALLOCATE(i%XVEGTYPE_PATCH)
137 IF (ASSOCIATED(i%XPATCH_OLD )) DEALLOCATE(i%XPATCH_OLD )
138 IF (ASSOCIATED(i%NSIZE_NATURE_P)) DEALLOCATE(i%NSIZE_NATURE_P)
139 IF (ASSOCIATED(i%NR_NATURE_P)) DEALLOCATE(i%NR_NATURE_P)
140 IF (ASSOCIATED(i%XWDRAIN)) DEALLOCATE(i%XWDRAIN)
141 IF (ASSOCIATED(i%XTDEEP )) DEALLOCATE(i%XTDEEP )
142 IF (ASSOCIATED(i%XGAMMAT)) DEALLOCATE(i%XGAMMAT)
143 IF (ASSOCIATED(i%XWWILT)) DEALLOCATE(i%XWWILT)
144 IF (ASSOCIATED(i%XWFC )) DEALLOCATE(i%XWFC )
145 IF (ASSOCIATED(i%XWSAT )) DEALLOCATE(i%XWSAT )
146 IF (ASSOCIATED(i%XWD0)) DEALLOCATE(i%XWD0)
147 IF (ASSOCIATED(i%XKANISO)) DEALLOCATE(i%XKANISO)
148 IF (ASSOCIATED(i%XTAUICE)) DEALLOCATE(i%XTAUICE)
149 IF (ASSOCIATED(i%XBCOEF)) DEALLOCATE(i%XBCOEF)
150 IF (ASSOCIATED(i%XRUNOFFD)) DEALLOCATE(i%XRUNOFFD)
151 IF (ASSOCIATED(i%XSOILWGHT)) DEALLOCATE(i%XSOILWGHT)
152 IF (ASSOCIATED(i%XHCAPSOIL)) DEALLOCATE(i%XHCAPSOIL)
153 IF (ASSOCIATED(i%XCONDDRY )) DEALLOCATE(i%XCONDDRY )
154 IF (ASSOCIATED(i%XCONDSLD )) DEALLOCATE(i%XCONDSLD )
155 IF (ASSOCIATED(i%XCGSAT )) DEALLOCATE(i%XCGSAT )
156 IF (ASSOCIATED(i%XC1SAT)) DEALLOCATE(i%XC1SAT)
157 IF (ASSOCIATED(i%XC2REF)) DEALLOCATE(i%XC2REF)
158 IF (ASSOCIATED(i%XC3 )) DEALLOCATE(i%XC3 )
159 IF (ASSOCIATED(i%XC4B )) DEALLOCATE(i%XC4B )
160 IF (ASSOCIATED(i%XACOEF)) DEALLOCATE(i%XACOEF)
161 IF (ASSOCIATED(i%XPCOEF)) DEALLOCATE(i%XPCOEF)
162 IF (ASSOCIATED(i%XC4REF)) DEALLOCATE(i%XC4REF)
163 IF (ASSOCIATED(i%XCONDSAT)) DEALLOCATE(i%XCONDSAT)
164 IF (ASSOCIATED(i%XMPOTSAT)) DEALLOCATE(i%XMPOTSAT)
165 IF (ASSOCIATED(i%XALBNIR_DRY)) DEALLOCATE(i%XALBNIR_DRY)
166 IF (ASSOCIATED(i%XALBVIS_DRY)) DEALLOCATE(i%XALBVIS_DRY)
167 IF (ASSOCIATED(i%XALBUV_DRY )) DEALLOCATE(i%XALBUV_DRY )
168 IF (ASSOCIATED(i%XALBNIR_WET)) DEALLOCATE(i%XALBNIR_WET)
169 IF (ASSOCIATED(i%XALBVIS_WET)) DEALLOCATE(i%XALBVIS_WET)
170 IF (ASSOCIATED(i%XALBUV_WET )) DEALLOCATE(i%XALBUV_WET )
171 IF (ASSOCIATED(i%XABC)) DEALLOCATE(i%XABC)
172 IF (ASSOCIATED(i%XPOI)) DEALLOCATE(i%XPOI)
173 !
174 IF (ASSOCIATED(i%XGNDLITTER )) DEALLOCATE(i%XGNDLITTER )
175 IF (ASSOCIATED(i%XRGLGV )) DEALLOCATE(i%XRGLGV )
176 IF (ASSOCIATED(i%XGAMMAGV )) DEALLOCATE(i%XGAMMAGV )
177 IF (ASSOCIATED(i%XRSMINGV )) DEALLOCATE(i%XRSMINGV )
178 IF (ASSOCIATED(i%XROOTFRACGV )) DEALLOCATE(i%XROOTFRACGV )
179 IF (ASSOCIATED(i%XWRMAX_CFGV )) DEALLOCATE(i%XWRMAX_CFGV )
180 IF (ASSOCIATED(i%XLAIGV )) DEALLOCATE(i%XLAIGV )
181 IF (ASSOCIATED(i%XZ0LITTER )) DEALLOCATE(i%XZ0LITTER )
182 IF (ASSOCIATED(i%XH_VEG )) DEALLOCATE(i%XH_VEG )
183 !
184 !-------------------------------------------------------------------------------------
185 !
186 IF(ASSOCIATED(chi%XDEP)) DEALLOCATE(chi%XDEP)
187 IF(ASSOCIATED(chi%CCH_NAMES)) DEALLOCATE(chi%CCH_NAMES)
188 IF(ASSOCIATED(chi%SVI%CSV)) DEALLOCATE(chi%SVI%CSV)
189 !
190 !-------------------------------------------------------------------------------------
191 !
192 IF(ASSOCIATED(i%XTI_MIN)) DEALLOCATE(i%XTI_MIN)
193 IF(ASSOCIATED(i%XTI_MAX)) DEALLOCATE(i%XTI_MAX)
194 IF(ASSOCIATED(i%XTI_MEAN)) DEALLOCATE(i%XTI_MEAN)
195 IF(ASSOCIATED(i%XTI_STD)) DEALLOCATE(i%XTI_STD)
196 IF(ASSOCIATED(i%XTI_SKEW)) DEALLOCATE(i%XTI_SKEW)
197 IF(ASSOCIATED(i%XTAB_FSAT)) DEALLOCATE(i%XTAB_FSAT)
198 IF(ASSOCIATED(i%XTAB_WTOP)) DEALLOCATE(i%XTAB_WTOP)
199 IF(ASSOCIATED(i%XTAB_QTOP)) DEALLOCATE(i%XTAB_QTOP)
200 IF(ASSOCIATED(i%XMUF)) DEALLOCATE(i%XMUF)
201 IF(ASSOCIATED(i%XFSAT)) DEALLOCATE(i%XFSAT)
202 IF(ASSOCIATED(i%XD_ICE)) DEALLOCATE(i%XD_ICE)
203 IF(ASSOCIATED(i%XKSAT_ICE)) DEALLOCATE(i%XKSAT_ICE)
204 IF(ASSOCIATED(i%XFRACSOC)) DEALLOCATE(i%XFRACSOC)
205 IF(ASSOCIATED(i%XTOPQS)) DEALLOCATE(i%XTOPQS)
206 IF(ASSOCIATED(i%XFWTD)) DEALLOCATE(i%XFWTD)
207 IF(ASSOCIATED(i%XWTD)) DEALLOCATE(i%XWTD)
208 !
209 IF(ASSOCIATED(i%XFFLOOD)) DEALLOCATE(i%XFFLOOD)
210 IF(ASSOCIATED(i%XPIFLOOD)) DEALLOCATE(i%XPIFLOOD)
211 !
212 IF(ASSOCIATED(i%XPSNG)) DEALLOCATE(i%XPSNG)
213 IF(ASSOCIATED(i%XPSNV)) DEALLOCATE(i%XPSNV)
214 IF(ASSOCIATED(i%XPSNV_A)) DEALLOCATE(i%XPSNV_A)
215 IF(ASSOCIATED(i%XPSN)) DEALLOCATE(i%XPSN)
216 IF(ASSOCIATED(i%XDIR_ALB_WITH_SNOW)) DEALLOCATE(i%XDIR_ALB_WITH_SNOW)
217 IF(ASSOCIATED(i%XSCA_ALB_WITH_SNOW)) DEALLOCATE(i%XSCA_ALB_WITH_SNOW)
218 IF(ASSOCIATED(i%XFFG)) DEALLOCATE(i%XFFG)
219 IF(ASSOCIATED(i%XFFV)) DEALLOCATE(i%XFFV)
220 IF(ASSOCIATED(i%XFF)) DEALLOCATE(i%XFF)
221 IF(ASSOCIATED(i%XFFROZEN)) DEALLOCATE(i%XFFROZEN)
222 IF(ASSOCIATED(i%XALBF)) DEALLOCATE(i%XALBF)
223 IF(ASSOCIATED(i%XEMISF)) DEALLOCATE(i%XEMISF)
224 !-------------------------------------------------------------------------------------
225 IF(ASSOCIATED(i%XCPL_EFLOOD)) DEALLOCATE(i%XCPL_EFLOOD)
226 IF(ASSOCIATED(i%XCPL_PFLOOD)) DEALLOCATE(i%XCPL_PFLOOD)
227 IF(ASSOCIATED(i%XCPL_IFLOOD)) DEALLOCATE(i%XCPL_IFLOOD)
228 IF(ASSOCIATED(i%XCPL_DRAIN)) DEALLOCATE(i%XCPL_DRAIN)
229 IF(ASSOCIATED(i%XCPL_RUNOFF)) DEALLOCATE(i%XCPL_RUNOFF)
230 IF(ASSOCIATED(i%XCPL_ICEFLUX)) DEALLOCATE(i%XCPL_ICEFLUX)
231 IF(ASSOCIATED(i%XCPL_RECHARGE)) DEALLOCATE(i%XCPL_RECHARGE)
232 !-------------------------------------------------------------------------------------
233 IF(ASSOCIATED(i%XICE_STO)) DEALLOCATE(i%XICE_STO)
234 !-------------------------------------------------------------------------------------
235 IF(ASSOCIATED(dti%XPAR_VEGTYPE )) DEALLOCATE(dti%XPAR_VEGTYPE )
236 IF(ASSOCIATED(dti%XPAR_LAI )) DEALLOCATE(dti%XPAR_LAI )
237 IF(ASSOCIATED(dti%XPAR_H_TREE )) DEALLOCATE(dti%XPAR_H_TREE )
238 IF(ASSOCIATED(dti%XPAR_DG )) DEALLOCATE(dti%XPAR_DG )
239 IF(ASSOCIATED(dti%XPAR_ROOTFRAC )) DEALLOCATE(dti%XPAR_ROOTFRAC )
240 IF(ASSOCIATED(dti%XPAR_VEG )) DEALLOCATE(dti%XPAR_VEG )
241 IF(ASSOCIATED(dti%XPAR_Z0 )) DEALLOCATE(dti%XPAR_Z0 )
242 IF(ASSOCIATED(dti%XPAR_EMIS )) DEALLOCATE(dti%XPAR_EMIS )
243 IF(ASSOCIATED(dti%XPAR_DICE )) DEALLOCATE(dti%XPAR_DICE )
244 IF(ASSOCIATED(dti%XPAR_RSMIN )) DEALLOCATE(dti%XPAR_RSMIN )
245 IF(ASSOCIATED(dti%XPAR_GAMMA )) DEALLOCATE(dti%XPAR_GAMMA )
246 IF(ASSOCIATED(dti%XPAR_WRMAX_CF )) DEALLOCATE(dti%XPAR_WRMAX_CF )
247 IF(ASSOCIATED(dti%XPAR_RGL )) DEALLOCATE(dti%XPAR_RGL )
248 IF(ASSOCIATED(dti%XPAR_CV )) DEALLOCATE(dti%XPAR_CV )
249 IF(ASSOCIATED(dti%XPAR_Z0_O_Z0H )) DEALLOCATE(dti%XPAR_Z0_O_Z0H )
250 IF(ASSOCIATED(dti%XPAR_ALBNIR_VEG )) DEALLOCATE(dti%XPAR_ALBNIR_VEG )
251 IF(ASSOCIATED(dti%XPAR_ALBVIS_VEG )) DEALLOCATE(dti%XPAR_ALBVIS_VEG )
252 IF(ASSOCIATED(dti%XPAR_ALBUV_VEG )) DEALLOCATE(dti%XPAR_ALBUV_VEG )
253 IF(ASSOCIATED(dti%XPAR_ALBNIR_SOIL)) DEALLOCATE(dti%XPAR_ALBNIR_SOIL)
254 IF(ASSOCIATED(dti%XPAR_ALBVIS_SOIL)) DEALLOCATE(dti%XPAR_ALBVIS_SOIL)
255 IF(ASSOCIATED(dti%XPAR_ALBUV_SOIL )) DEALLOCATE(dti%XPAR_ALBUV_SOIL )
256 IF(ASSOCIATED(dti%XPAR_GMES )) DEALLOCATE(dti%XPAR_GMES )
257 IF(ASSOCIATED(dti%XPAR_BSLAI )) DEALLOCATE(dti%XPAR_BSLAI )
258 IF(ASSOCIATED(dti%XPAR_SEFOLD )) DEALLOCATE(dti%XPAR_SEFOLD )
259 IF(ASSOCIATED(dti%XPAR_GC )) DEALLOCATE(dti%XPAR_GC )
260 IF(ASSOCIATED(dti%XPAR_DMAX )) DEALLOCATE(dti%XPAR_DMAX )
261 IF(ASSOCIATED(dti%XPAR_RE25 )) DEALLOCATE(dti%XPAR_RE25 )
262 IF(ASSOCIATED(dti%XPAR_LAIMIN )) DEALLOCATE(dti%XPAR_LAIMIN )
263 IF(ASSOCIATED(dti%XPAR_F2I )) DEALLOCATE(dti%XPAR_F2I )
264 IF(ASSOCIATED(dti%XPAR_CE_NITRO )) DEALLOCATE(dti%XPAR_CE_NITRO )
265 IF(ASSOCIATED(dti%XPAR_CF_NITRO )) DEALLOCATE(dti%XPAR_CF_NITRO )
266 IF(ASSOCIATED(dti%XPAR_CNA_NITRO )) DEALLOCATE(dti%XPAR_CNA_NITRO )
267 IF(ASSOCIATED(dti%LPAR_STRESS )) DEALLOCATE(dti%LPAR_STRESS )
268 IF(ASSOCIATED(dti%XPAR_IRRIG )) DEALLOCATE(dti%XPAR_IRRIG )
269 IF(ASSOCIATED(dti%XPAR_WATSUP )) DEALLOCATE(dti%XPAR_WATSUP )
270 !
271 IF(ASSOCIATED(i%XRED_NOISE )) DEALLOCATE(i%XRED_NOISE)
272 !
273 !-------------------------------------------------------------------------------------
274 IF (lhook) CALL dr_hook('DEALLOC_ISBA_N',1,zhook_handle)
275 !-------------------------------------------------------------------------------------
276 !
277 END SUBROUTINE dealloc_isba_n
subroutine dealloc_isba_n(CHI, DTI, GB, IG, I)