The TELEMAC-MASCARET system  trunk
deall_sisyphe.f
Go to the documentation of this file.
1 ! **************************
2  SUBROUTINE deall_sisyphe
3 ! **************************
4 !
5 !
6 !***********************************************************************
7 ! SISYPHE V7P1 19/05/2016
8 !***********************************************************************
9 !
10 !brief Memory deallocation of structures, aliases, blocks...
11 !
12 !Author R-S MOURADI (LNHE)
13 !
14 !history P TASSI, F CORDIER, S PAVAN
15 !+ 18/09/2018
16 !+ V8P0
17 ! + Deallocates memory for SANFRA
18 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
19 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
20 !
21  USE bief
24 !
25  IMPLICIT NONE
26 
27 !
28 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
29 !
30  INTEGER :: I, K
31 !
32 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
33 !
34 !
35  CALL outbief(mesh)
36 ! Deallocate the mesh structure
37  CALL dealmesh(mesh)
38 
39  NULLIFY(ikle)
40  NULLIFY(x)
41  NULLIFY(y)
42  NULLIFY(nelem)
43  NULLIFY(nelmax)
44  NULLIFY(nptfr)
45  NULLIFY(nptfrx)
46  NULLIFY(typelm)
47  NULLIFY(npoin)
48  NULLIFY(npmax)
49  NULLIFY(mxptvs)
50  NULLIFY(lv)
51  CALL bief_deallobj(varsor)
52 !
53 ! Deallocating all the blocks first
54  CALL bief_deallobj(s )
55  CALL bief_deallobj(e )
56  CALL bief_deallobj(z )
57  CALL bief_deallobj(del_z )
58  CALL bief_deallobj(zf_c )
59  CALL bief_deallobj(zf_s )
60  CALL bief_deallobj(esomt )
61  CALL bief_deallobj(emax )
62  CALL bief_deallobj(q )
63  CALL bief_deallobj(qu )
64  CALL bief_deallobj(qv )
65  CALL bief_deallobj(del_qu)
66  CALL bief_deallobj(del_qv)
67  CALL bief_deallobj(del_uw)
68  CALL bief_deallobj(u2d )
69  CALL bief_deallobj(v2d )
70  CALL bief_deallobj(qs )
71  CALL bief_deallobj(qsx )
72  CALL bief_deallobj(qsy )
73  CALL bief_deallobj(qs_c )
74  CALL bief_deallobj(qsxc )
75  CALL bief_deallobj(qsyc )
76  CALL bief_deallobj(qs_s )
77  CALL bief_deallobj(qsxs )
78  CALL bief_deallobj(qsys )
79  CALL bief_deallobj(hiding)
80  CALL bief_deallobj(zf )
81  CALL bief_deallobj(zr )
82  CALL bief_deallobj(radsec)
83  CALL bief_deallobj(zref )
84  CALL bief_deallobj(chestr)
85  CALL bief_deallobj(coefpn)
86  CALL bief_deallobj(cf )
87  CALL bief_deallobj(tob )
88  CALL bief_deallobj(tobw )
89  CALL bief_deallobj(mu )
90  CALL bief_deallobj(ksp )
91  CALL bief_deallobj(ks )
92  CALL bief_deallobj(ksr )
93  CALL bief_deallobj(thetaw)
94  CALL bief_deallobj(fw )
95  CALL bief_deallobj(uw )
96  CALL bief_deallobj(hw )
97  CALL bief_deallobj(tw )
98  CALL bief_deallobj(dzf_gf)
99  CALL bief_deallobj(acladm)
100  CALL bief_deallobj(unladm)
101  CALL bief_deallobj(hcpl )
102  CALL bief_deallobj(ecpl )
103  CALL bief_deallobj(elay )
104  CALL bief_deallobj(estrat)
105  CALL bief_deallobj(kx )
106  CALL bief_deallobj(ky )
107  CALL bief_deallobj(kz )
108  CALL bief_deallobj(uconv )
109  CALL bief_deallobj(vconv )
110  CALL bief_deallobj(unorm )
111  CALL bief_deallobj(disp )
112  CALL bief_deallobj(disp_c)
113  CALL bief_deallobj(maskb )
114  CALL bief_deallobj(mask )
115  CALL bief_deallobj(afbor )
116  CALL bief_deallobj(bfbor )
117  CALL bief_deallobj(flbor )
118  CALL bief_deallobj(q2bor )
119 ! BOUNDARY FLUX FOR CALL TO CVDFTR
120  CALL bief_deallobj(flbor_sis )
121  CALL bief_deallobj(flbortra )
122  CALL bief_deallobj(cstaeq)
123 ! MAK ADDITION
124  CALL bief_deallobj(csratio)
125  CALL bief_deallobj(hn )
126  CALL bief_deallobj(hclip )
127  CALL bief_deallobj(hprop )
128  CALL bief_deallobj(volu2d)
129  CALL bief_deallobj(v2dpar)
130  CALL bief_deallobj(unsv2d)
131  CALL bief_deallobj(mpm_aray)
132  CALL bief_deallobj(flulim )
133 
134  ! MSK
135  CALL bief_deallobj(maskel)
136  CALL bief_deallobj(msktmp)
137  CALL bief_deallobj(maskpt)
138 ! FOR MIXED SEDIMENTS
141  CALL bief_deallobj(ms_sable )
142  CALL bief_deallobj(ms_vase )
143  CALL bief_deallobj( liebor)
144  CALL bief_deallobj( liqbor)
145  CALL bief_deallobj( limtec)
146  CALL bief_deallobj( numliq)
147  CALL bief_deallobj( clt )
148  CALL bief_deallobj( clu )
149  CALL bief_deallobj( clv )
150  CALL bief_deallobj( limdif)
151  CALL bief_deallobj( licbor)
152  CALL bief_deallobj( lihbor)
154  CALL bief_deallobj( limpro)
155  CALL bief_deallobj( indic )
156  CALL bief_deallobj( it1 )
157  CALL bief_deallobj( it2 )
158  CALL bief_deallobj( it3 )
159  CALL bief_deallobj( it4 )
160 ! NUMBER OF LAYERS
161  CALL bief_deallobj( nlayer)
162  CALL bief_deallobj(breach)
163  CALL bief_deallobj(ifamas)
164 
165  DEALLOCATE(avail)
166  DEALLOCATE(es)
167  DEALLOCATE(es_sable)
168  DEALLOCATE(es_vase)
169  DEALLOCATE(conc)
170  DEALLOCATE(ivide)
171  DEALLOCATE(sanfra)
172 
173  CALL bief_deallobj(masktr)
174  CALL bief_deallobj(ebor )
175  CALL bief_deallobj(qbor )
176  DO i=1,nsicla
177  DO k=1,nomblay
178  ALLOCATE(avai%ADR(k+(i-1)*nomblay)%P%R(1))
179  ENDDO
180  ENDDO
181  CALL bief_deallobj(avai )
182  DO k=1,nomblay
183  ALLOCATE(laythi%ADR(k)%P%R(1))
184  ENDDO
185  CALL bief_deallobj(laythi)
186  DO k=1,nomblay
187  ALLOCATE(layconc%ADR(k)%P%R(1))
188  ENDDO
189  CALL bief_deallobj(layconc)
190 !
191  CALL bief_deallobj(qscl )
192  CALL bief_deallobj(qscl_c)
193  CALL bief_deallobj(qsclxc)
194  CALL bief_deallobj(qsclyc)
195  CALL bief_deallobj(zfcl )
196  CALL bief_deallobj(zfcl_c)
197 !
198  CALL bief_deallobj(cbor )
199  CALL bief_deallobj(qscl_s)
200  CALL bief_deallobj(qsclxs)
201  CALL bief_deallobj(qsclys)
202  CALL bief_deallobj(zfcl_s)
203  CALL bief_deallobj(fludp )
204  CALL bief_deallobj(fludpt)
205  CALL bief_deallobj(fluer )
206  CALL bief_deallobj(fluert)
207  CALL bief_deallobj(cs )
208  CALL bief_deallobj(ctild )
209  CALL bief_deallobj(cst )
210 !
211  CALL bief_deallobj(zfcl_ms)
212  CALL bief_deallobj(calfa_cl)
213  CALL bief_deallobj(salfa_cl)
214  CALL bief_deallobj(flbcla)
215 
216  CALL bief_deallobj(am1_s)
217  CALL bief_deallobj(am2_s)
218  CALL bief_deallobj(mbor )
219 
220  CALL bief_deallobj( w1 )
221  CALL bief_deallobj( te1)
222  CALL bief_deallobj( te2)
223  CALL bief_deallobj( te3)
224 
225  CALL bief_deallobj(varcl)
226  CALL bief_deallobj(prive)
227  CALL bief_deallobj(tb )
228  CALL bief_deallobj(tb2 )
229 
230  IF(nadvar.GT.0) THEN
231  CALL bief_deallobj(advar )
232  ENDIF
233 
234  ! Resetting variable
235  init_fluxpr = .true.
236  IF(deja_rfc) THEN
237  deja_rfc = .false.
238  DEALLOCATE(infic_rfc)
239  DEALLOCATE(time_rfc)
240  ENDIF
241  IF(deja_flusec) THEN
242  deja_flusec = .false.
243  old_method_flusec = .false.
244  DEALLOCATE(nseg)
245  DEALLOCATE(liste)
246  DEALLOCATE(volnegs)
247  DEALLOCATE(volposs)
248  DEALLOCATE(volnegc)
249  DEALLOCATE(volposc)
250  DEALLOCATE(flx)
251  DEALLOCATE(volneg)
252  DEALLOCATE(volpos)
253  DEALLOCATE(flxs)
254  DEALLOCATE(flxc)
255  ENDIF
256  IF(deja_flusec2) THEN
257  old_method_flusec = .false.
258  deja_flusec2 = .false.
259  DO i = 1,numberoflines_flusec2
260  DEALLOCATE(fluxlinedata_flusec2(i)%SECTIONIDS)
261  DEALLOCATE(fluxlinedata_flusec2(i)%DIRECTION)
262  ENDDO
263  DEALLOCATE(fluxlinedata_flusec2)
264  DEALLOCATE(flux_flusec2)
265  DEALLOCATE(volflux_flusec2)
266  ENDIF
267 
268  ! Lecdon
269  DEALLOCATE(soldis)
270  DEALLOCATE(okcgl)
271  DEALLOCATE(okqgl)
272  DEALLOCATE(cbor_classe)
273  DEALLOCATE(ctrlsc)
274 !
275 !-----------------------------------------------------------------------
276 !
277 !=======================================================================
278 !
279 ! WRITES OUT TO LISTING :
280 !
281 ! IF(LISTIN) THEN
282 ! WRITE(LU,23)
283 ! ENDIF
284 !23 FORMAT(1X,///,21X,'*************************************',/,
285 ! &21X, '* END OF MEMORY ORGANIZATION: *',/,
286 ! &21X, '*************************************',/)
287 !
288 !-----------------------------------------------------------------------
289 !
290  RETURN
291  END SUBROUTINE deall_sisyphe
type(bief_obj), target del_qu
type(bief_obj), target zf_s
type(bief_obj), target cstaeq
double precision, dimension(:), allocatable volposs
type(bief_obj), target thetaw
type(bief_obj), target hcpl
type(bief_obj), target maskpt
double precision, dimension(:), allocatable, target cbor_classe
double precision, dimension(:), allocatable sanfra
type(bief_obj), target laythi
type(bief_obj), target msktmp
type(bief_obj), target numliq
type(bief_obj), target limdif
type(bief_obj), target w1
type(bief_obj), target ksp
type(bief_obj), target am2_s
type(bief_obj), target del_uw
type(bief_obj), target unsv2d
type(bief_obj), target vconv
type(bief_obj), target del_qv
type(bief_obj), target indic
type(bief_obj), target e
subroutine outbief(MESH)
Definition: outbief.f:6
type(bief_obj), target flbcla
type(bief_obj), target advar
type(bief_obj), target licbor
type(bief_obj), target q2bor
type(bief_obj), target tb
type(bief_obj), target unladm
double precision, dimension(:), allocatable volpos
type(bief_obj), target ks
type(bief_obj), target zfcl_c
type(bief_obj), target zr
type(bief_obj), target limtec
type(bief_obj), target ctild
type(bief_obj), target qsy
type(bief_obj), target zf_c
logical, dimension(:), allocatable okcgl
subroutine dealmesh(MESH)
Definition: dealmesh.f:6
type(bief_obj), target hclip
type(bief_obj), target hprop
type(bief_obj), target te3
type(bief_obj), target ms_sable
type(bief_obj), target uconv
type(bief_obj), target tb2
type(bief_obj), target esomt
type(bief_obj), target clu
type(bief_obj), target ebor
type(bief_obj), target qsxc
type(bief_obj), target flbortra
type(bief_obj), target varcl
type(bief_obj), target qscl_s
type(bief_obj), target boundary_colour
type(bief_obj), target nlayer
type(bief_obj), target fw
type(bief_obj), target calfa_cl
subroutine bief_deallobj(OBJ)
Definition: bief_deallobj.f:7
type(bief_obj), target zf
double precision, dimension(:), allocatable time_rfc
type(bief_obj), target cbor
type(bief_obj), target ms_vase
type(bief_obj), target coefpn
type(bief_obj), target qsys
type(bief_obj), target limpro
type(bief_obj), target mask
double precision, dimension(:), allocatable volneg
type(bief_obj), target maskb
type(bief_obj), target qsxs
type(bief_obj), target acladm
type(bief_obj), target it1
type(bief_obj), target avai
type(bief_obj), target qsclxc
double precision, dimension(:,:), allocatable volflux_flusec2
type(bief_obj), target tobw
type(bief_obj), target estrat
type(bief_obj), target qsclxs
type(bief_obj), target cs
double precision, dimension(:,:), allocatable, target ivide
type(bief_obj), target flbor_sis
type(bief_obj), target it4
type(bief_obj), target salfa_cl
type(bief_obj), target mu
type(bief_obj), target lihbor
integer, dimension(:), allocatable ctrlsc
double precision, dimension(:,:), allocatable, target conc
type(bief_obj), target qscl_c
type(bief_obj), target mpm_aray
double precision, dimension(:), pointer x
type(bief_obj), target zfcl_ms
type(bief_obj), target liebor
type(bief_obj), target varsor
type(bief_obj), target it2
type(bief_obj), target tw
type(bief_obj), target qs
type(bief_obj), target disp_c
type(bief_obj), target fluert
type(bief_obj), target fluer_vase
type(bief_obj), target csratio
double precision, dimension(:), allocatable volnegc
type(bief_obj), target cf
type(bief_obj), target fludpt
type(bief_obj), target qs_c
type(bief_obj), target fluer
type(bief_obj), target qsyc
type(bief_obj), target qsclyc
type(bief_obj), target maskel
type(bief_obj), target qs_s
type(bief_obj), target del_z
type(bief_obj), target masktr
type(bief_obj), target zfcl
type(bief_obj), target v2d
type(bief_obj), target afbor
type(bief_obj), target hw
type(bief_obj), target dzf_gf
type(bief_obj), target qbor
type(bief_obj), target bfbor
type(bief_obj), target q
type(bief_obj), target z
type(bief_obj), target te1
type(bief_obj), target disp
double precision, dimension(:), allocatable soldis
double precision, dimension(:), pointer y
type(bief_obj), target te2
type(bief_obj), target cst
type(bief_obj), target v2dpar
double precision, dimension(:,:), allocatable flux_flusec2
type(bief_obj), target am1_s
double precision, dimension(:,:), allocatable, target es_sable
logical, dimension(:), allocatable okqgl
type(bief_obj), target unorm
type(bief_obj), pointer ikle
type(bief_obj), target qv
type(bief_obj), target liqbor
type(bief_obj), target qu
type(bief_obj), target ifamas
type(bief_obj), target ky
double precision, dimension(:,:,:), allocatable, target avail
double precision, dimension(:), allocatable flxc
type(bief_obj), target chestr
type(bief_obj), target zref
type(bief_obj), target kx
type(bief_obj), target fludp
type(bief_obj), target clv
type(bief_obj), target qsclys
double precision, dimension(:), allocatable flxs
type(bief_obj), target s
type(bief_obj), target prive
type(bief_obj), target hn
type(bief_obj), target kz
double precision, dimension(:), allocatable volposc
type(bief_obj), target it3
type(bief_obj), target radsec
type(bief_obj), target breach
integer, dimension(:), allocatable nseg
type(bief_obj), target mbor
type(fluxline), dimension(:), allocatable fluxlinedata_flusec2
subroutine deall_sisyphe
Definition: deall_sisyphe.f:4
type(bief_obj), target volu2d
type(bief_obj), target hiding
double precision, dimension(:,:), allocatable, target es_vase
double precision, dimension(:,:), allocatable infic_rfc
integer, dimension(:,:,:), allocatable liste
type(bief_obj), target qscl
type(bief_obj), target flulim
type(bief_obj), target tob
type(bief_obj), target layconc
type(bief_obj), target emax
type(bief_obj), target u2d
double precision, dimension(:), allocatable volnegs
type(bief_obj), target flbor
type(bief_mesh), target mesh
type(bief_obj), target zfcl_s
type(bief_obj), target uw
type(bief_obj), target qsx
type(bief_obj), target toce_mixte
type(bief_obj), target elay
double precision, dimension(:), allocatable flx
type(bief_obj), target clt
type(bief_obj), target ecpl
type(bief_obj), target ksr
double precision, dimension(:,:), allocatable, target es
Definition: bief.f:3