SURFEX  V8_0
Surfex V8_0 release
 All Classes Files Functions Variables
dealloc_surf_atmn.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_surf_atm_n (YSC)
7 ! #################################################################################
8 !
9 !!**** *DEALLOC_SURF_ATM_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 !!------------------------------------------------------------------
29 !
30 USE modd_surfex_n, ONLY : surfex_t
31 !
32 USE modi_dealloc_sea_n
33 USE modi_dealloc_inland_water_n
34 USE modi_dealloc_nature_n
35 USE modi_dealloc_town_n
36 !
37 USE yomhook ,ONLY : lhook, dr_hook
38 USE parkind1 ,ONLY : jprb
39 !
40 IMPLICIT NONE
41 !
42 !* 0.1 declarations of arguments
43 !
44 !
45 !* 0.2 declarations of local variables
46 !
47 !-------------------------------------------------------------------------------------
48 !
49 TYPE(surfex_t), INTENT(INOUT) :: ysc
50 !
51 !
52 REAL(KIND=JPRB) :: zhook_handle
53 
54 IF (lhook) CALL dr_hook('DEALLOC_SURF_ATM_N',0,zhook_handle)
55 IF (ASSOCIATED(ysc%U%XNATURE)) DEALLOCATE(ysc%U%XNATURE)
56 IF (ASSOCIATED(ysc%U%XTOWN )) DEALLOCATE(ysc%U%XTOWN )
57 IF (ASSOCIATED(ysc%U%XWATER )) DEALLOCATE(ysc%U%XWATER )
58 IF (ASSOCIATED(ysc%U%XSEA )) DEALLOCATE(ysc%U%XSEA )
59 !
60 IF (ASSOCIATED(ysc%U%LCOVER )) DEALLOCATE(ysc%U%LCOVER )
61 IF (ASSOCIATED(ysc%U%XCOVER )) DEALLOCATE(ysc%U%XCOVER )
62 IF (ASSOCIATED(ysc%U%XZS )) DEALLOCATE(ysc%U%XZS )
63 !
64 IF (ASSOCIATED(ysc%U%NR_NATURE)) DEALLOCATE(ysc%U%NR_NATURE)
65 IF (ASSOCIATED(ysc%U%NR_TOWN )) DEALLOCATE(ysc%U%NR_TOWN )
66 IF (ASSOCIATED(ysc%U%NR_WATER )) DEALLOCATE(ysc%U%NR_WATER )
67 IF (ASSOCIATED(ysc%U%NR_SEA )) DEALLOCATE(ysc%U%NR_SEA )
68 !
69 !-------------------------------------------------------------------------------------
70 !
71 IF (ASSOCIATED(ysc%UG%XGRID_PAR )) DEALLOCATE(ysc%UG%XGRID_PAR )
72 IF (ASSOCIATED(ysc%UG%XLAT )) DEALLOCATE(ysc%UG%XLAT )
73 IF (ASSOCIATED(ysc%UG%XLON )) DEALLOCATE(ysc%UG%XLON )
74 IF (ASSOCIATED(ysc%UG%XMESH_SIZE)) DEALLOCATE(ysc%UG%XMESH_SIZE)
75 IF (ASSOCIATED(ysc%UG%XJPDIR )) DEALLOCATE(ysc%UG%XJPDIR )
76 !
77 !-------------------------------------------------------------------------------------
78 !
79 IF (ASSOCIATED(ysc%USS%XAOSIP)) DEALLOCATE(ysc% USS%XAOSIP)
80 IF (ASSOCIATED(ysc%USS%XAOSIM)) DEALLOCATE(ysc% USS%XAOSIM)
81 IF (ASSOCIATED(ysc%USS%XAOSJP)) DEALLOCATE(ysc% USS%XAOSJP)
82 IF (ASSOCIATED(ysc%USS%XAOSJM)) DEALLOCATE(ysc% USS%XAOSJM)
83 IF (ASSOCIATED(ysc%USS%XHO2IP)) DEALLOCATE(ysc% USS%XHO2IP)
84 IF (ASSOCIATED(ysc%USS%XHO2IM)) DEALLOCATE(ysc% USS%XHO2IM)
85 IF (ASSOCIATED(ysc%USS%XHO2JP)) DEALLOCATE(ysc% USS%XHO2JP)
86 IF (ASSOCIATED(ysc%USS%XHO2JM)) DEALLOCATE(ysc% USS%XHO2JM)
87 IF (ASSOCIATED(ysc%USS%XZ0REL)) DEALLOCATE(ysc% USS%XZ0REL)
88 IF (ASSOCIATED(ysc%USS%XSSO_SLOPE)) DEALLOCATE(ysc% USS%XSSO_SLOPE)
89 IF (ASSOCIATED(ysc%USS%XSSO_ANIS)) DEALLOCATE(ysc% USS%XSSO_ANIS)
90 IF (ASSOCIATED(ysc%USS%XSSO_DIR)) DEALLOCATE(ysc% USS%XSSO_DIR)
91 IF (ASSOCIATED(ysc%USS%XSSO_STDEV)) DEALLOCATE(ysc% USS%XSSO_STDEV)
92 IF (ASSOCIATED(ysc%USS%XAVG_ZS)) DEALLOCATE(ysc% USS%XAVG_ZS)
93 IF (ASSOCIATED(ysc%USS%XSIL_ZS)) DEALLOCATE(ysc% USS%XSIL_ZS)
94 IF (ASSOCIATED(ysc%USS%XMAX_ZS)) DEALLOCATE(ysc% USS%XMAX_ZS)
95 IF (ASSOCIATED(ysc%USS%XMIN_ZS)) DEALLOCATE(ysc% USS%XMIN_ZS)
96 !
97 !-------------------------------------------------------------------------------------
98 !
99 IF (ASSOCIATED(ysc%CHE%CEMIS_AREA)) DEALLOCATE(ysc%CHE%CEMIS_AREA)
100 IF (ASSOCIATED(ysc%CHE%CEMIS_COMMENT))DEALLOCATE(ysc%CHE%CEMIS_COMMENT)
101 IF (ASSOCIATED(ysc%CHE%CEMIS_NAME)) DEALLOCATE(ysc%CHE%CEMIS_NAME)
102 IF (ASSOCIATED(ysc%CHE%NEMIS_TIME)) DEALLOCATE(ysc%CHE%NEMIS_TIME)
103 IF (ASSOCIATED(ysc%CHE%XEMIS_FIELDS)) DEALLOCATE(ysc%CHE%XEMIS_FIELDS)
104 IF (ASSOCIATED(ysc%CHE%TSEMISS)) DEALLOCATE(ysc%CHE%TSEMISS)
105 !
106 !-------------------------------------------------------------------------------------
107 !
108 IF (ASSOCIATED(ysc%DUU%XDUMMY_FIELDS)) DEALLOCATE(ysc% DUU%XDUMMY_FIELDS)
109 !
110 !-------------------------------------------------------------------------------------
111 !
112 IF (ASSOCIATED(ysc%SV%CSV)) DEALLOCATE(ysc%SV%CSV)
113 !
114 !-------------------------------------------------------------------------------------
115 !
116 IF (ASSOCIATED(ysc%CHU%CCH_NAMES)) DEALLOCATE(ysc%CHU%CCH_NAMES)
117 IF (ASSOCIATED(ysc%CHE%CEMIS_NAME)) DEALLOCATE(ysc%CHE%CEMIS_NAME)
118 IF (ASSOCIATED(ysc%CHE%CEMIS_AREA)) DEALLOCATE(ysc%CHE%CEMIS_AREA)
119 IF (ASSOCIATED(ysc%CHE%NEMIS_TIME)) DEALLOCATE(ysc%CHE%NEMIS_TIME )
120 IF (ASSOCIATED(ysc%CHE%TSEMISS)) DEALLOCATE(ysc%CHE%TSEMISS)
121 !
122 !-------------------------------------------------------------------------------------
123 !
124 IF (ysc%U%NDIM_SEA >0) CALL dealloc_sea_n(ysc%SM%CHS, ysc%SM%SG, ysc%SM%S, ysc%U)
125 IF (ysc%U%NDIM_WATER >0) CALL dealloc_inland_water_n(ysc%FM%CHF, ysc%WM%CHW, ysc%FM%FG, ysc%FM%F, ysc%U, ysc%WM%WG, ysc%WM%W)
126 IF (ysc%U%NDIM_NATURE >0) CALL dealloc_nature_n(ysc%IM%CHI, ysc%IM%DTI, ysc%IM%GB, ysc%IM%IG, ysc%IM%I, ysc%U)
127 IF (ysc%U%NDIM_TOWN >0) CALL dealloc_town_n(ysc%TM%B, ysc%TM%CHT, ysc%TM%DTT, ysc%U, ysc%TM%TG, &
128  ysc%TM%T, ysc%TM%TOP, ysc%TM%TPN)
129 IF (lhook) CALL dr_hook('DEALLOC_SURF_ATM_N',1,zhook_handle)
130 !
131 !--------------------------------------------------------------------------------------
132 !
133 END SUBROUTINE dealloc_surf_atm_n
subroutine dealloc_surf_atm_n(YSC)
subroutine dealloc_nature_n(CHI, DTI, GB, IG, I, U)
subroutine dealloc_sea_n(CHS, SG, S, U)
Definition: dealloc_sean.F90:6
subroutine dealloc_town_n(B, CHT, DTT, U, TG, T, TOP, TPN)
subroutine dealloc_inland_water_n(CHF, CHW, FG, F, U, WG, W)