SURFEX v8.1
General documentation of Surfex
dealloc_tebn.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_teb_n (TM, GDM, GRM)
7 ! #################################################################################
8 !
9 !!**** *DEALLOC_TEB_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 !! G. Pigeon 09/2012: deallocate ROUGH_WALL/ROUGH_ROOF
29 !! G. Pigeon 10/2012: deallocate BEM variables
30 !!------------------------------------------------------------------
31 !
35 !
39 !
40 USE modd_ch_teb_n, ONLY : ch_teb_init
48 USE modd_teb_n, ONLY : teb_np_init
49 !
53 USE modd_bem_n, ONLY : bem_np_init
54 !
55 USE modd_sfx_grid_n, ONLY : grid_init
56 USE modd_canopy_n, ONLY : canopy_init
57 USE modd_gr_biog_n, ONLY : gr_biog_init
58 !
60 !
61 USE yomhook ,ONLY : lhook, dr_hook
62 USE parkind1 ,ONLY : jprb
63 !
64 IMPLICIT NONE
65 !
66 !* 0.1 declarations of arguments
67 !
68 !
69 !* 0.2 declarations of local variables
70 !
71 !-------------------------------------------------------------------------------------
72 !
73 TYPE(teb_model_t), INTENT(INOUT) :: TM
74 TYPE(teb_garden_model_t), INTENT(INOUT) :: GDM
75 TYPE(teb_greenroof_model_t), INTENT(INOUT) :: GRM
76 !
77 REAL(KIND=JPRB) :: ZHOOK_HANDLE
78 
79 IF (lhook) CALL dr_hook('DEALLOC_TEB_N',0,zhook_handle)
80 !
81  CALL diag_np_init(gdm%VD%ND,0)
82  CALL diag_evap_isba_np_init(gdm%VD%NDE,0)
83  CALL diag_evap_isba_np_init(gdm%VD%NDEC,0)
84  CALL diag_misc_isba_np_init(gdm%VD%NDM,0)
85  !
86  CALL data_isba_init(gdm%DTV)
87  CALL isba_options_init(gdm%O)
88  CALL isba_s_init(gdm%S)
89  CALL gr_biog_init(gdm%GB)
90  CALL isba_k_init(gdm%K)
91  CALL isba_p_init(gdm%P)
92 !
93  CALL isba_npe_init(gdm%NPE,0)
94 !
95  CALL diag_np_init(grm%VD%ND,0)
96  CALL diag_evap_isba_np_init(grm%VD%NDE,0)
97  CALL diag_evap_isba_np_init(grm%VD%NDEC,0)
98  CALL diag_misc_isba_np_init(grm%VD%NDM,0)
99  !
100  CALL data_isba_init(grm%DTV)
101  CALL isba_options_init(grm%O)
102  CALL isba_s_init(grm%S)
103  CALL gr_biog_init(grm%GB)
104  CALL isba_k_init(grm%K)
105  CALL isba_p_init(grm%P)
106 !
107  CALL isba_npe_init(grm%NPE,0)
108 !
109 !
110  CALL diag_options_init(tm%TD%O)
111  CALL diag_init(tm%TD%D)
112  CALL diag_misc_teb_options_init(tm%TD%MTO)
113  CALL diag_utci_teb_init(tm%TD%DUT)
114 !
115  CALL diag_misc_teb_np_init(tm%TD%NDMT,0)
116  CALL diag_misc_teb_np_init(tm%TD%NDMTC,0)
117 !
118  CALL data_teb_init(tm%DTT)
119  CALL teb_options_init(tm%TOP)
120  CALL canopy_init(tm%SB)
121  CALL grid_init(tm%G)
122  CALL ch_teb_init(tm%CHT)
123  CALL teb_panel_init(tm%TPN)
124  CALL teb_irrig_init(tm%TIR)
125 !
126  CALL teb_np_init(tm%NT,0)
127 !
128  CALL data_bem_init(tm%DTB)
129  CALL bem_options_init(tm%BOP)
130  CALL bld_desc_init(tm%BDD)
131 !
132  CALL bem_np_init(tm%NB,0)
133 !
134 !
135 IF (lhook) CALL dr_hook('DEALLOC_TEB_N',1,zhook_handle)
136 !
137 !-------------------------------------------------------------------------------------
138 !
139 END SUBROUTINE dealloc_teb_n
140 
141 
subroutine diag_init(D)
Definition: modd_diagn.F90:224
subroutine gr_biog_init(YGR_BIOG)
subroutine teb_options_init(YTEB_OPTIONS)
subroutine teb_irrig_init(YTEB_IRRIG)
subroutine diag_misc_teb_options_init(YDIAG_MISC_TEB_OPTIONS)
subroutine bld_desc_init(YBLD_DESC)
subroutine isba_p_init(YISBA_P)
Definition: modd_isban.F90:611
subroutine diag_evap_isba_np_init(YNDIAG_EVAP_ISBA, KPATCH)
subroutine isba_npe_init(YISBA_NPE, KPATCH)
Definition: modd_isban.F90:797
subroutine diag_np_init(ND, KPATCH)
Definition: modd_diagn.F90:203
subroutine ch_teb_init(YCH_TEB)
subroutine diag_misc_isba_np_init(YNDIAG_MISC_ISBA, KPATCH)
subroutine teb_panel_init(YTEB_PANEL)
subroutine isba_options_init(IO)
integer, parameter jprb
Definition: parkind1.F90:32
subroutine dealloc_teb_n(TM, GDM, GRM)
Definition: dealloc_tebn.F90:7
subroutine bem_np_init(YNBEM, KPATCH)
Definition: modd_bemn.F90:216
subroutine bem_options_init(YBEM_OPTIONS)
subroutine data_teb_init(YDATA_TEB)
subroutine isba_s_init(YISBA_S)
Definition: modd_isban.F90:496
subroutine teb_np_init(YNTEB, KPATCH)
Definition: modd_tebn.F90:248
subroutine data_bem_init(YDATA_BEM)
subroutine diag_misc_teb_np_init(YNDIAG_MISC_TEB, KPATCH)
logical lhook
Definition: yomhook.F90:15
subroutine data_isba_init(YDATA_ISBA)
subroutine grid_init(G)
subroutine isba_k_init(YISBA_K)
Definition: modd_isban.F90:558
subroutine diag_options_init(DGO)
Definition: modd_diagn.F90:176
subroutine canopy_init(SB)
subroutine diag_utci_teb_init(YDIAG_UTCI_TEB)