21# if defined SOLVE3D && defined FLOAT_VWALK
25# if defined SOLVE3D && defined FLOAT_STICKY
47 logical,
pointer :: bounded(:)
49# if defined SOLVE3D && defined FLOAT_STICKY
50 logical,
pointer :: stuck(:)
53 integer,
pointer :: findex(:)
54 integer,
pointer :: ftype(:)
56 real(r8),
pointer :: flon(:)
57 real(r8),
pointer :: flat(:)
58 real(r8),
pointer :: fz0(:)
59 real(r8),
pointer :: tinfo(:,:)
60# if defined SOLVE3D && defined FLOAT_VWALK
61 real(r8),
pointer :: rwalk(:)
63 real(r8),
pointer :: track(:,:,:)
90 integer,
parameter ::
ifden = 10
92 integer,
parameter ::
ifakt = 11
93 integer,
parameter ::
ifdak = 12
97 integer,
parameter ::
i1ohz = 13
98 integer,
parameter ::
isizf = 14
99 integer,
parameter ::
ibrhs = 15
104 integer,
parameter ::
i1ohz = 11
105 integer,
parameter ::
isizf = 12
106 integer,
parameter ::
ibrhs = 13
107 integer,
parameter ::
iswim = 14
108 integer,
parameter ::
iwbio = 15
109 integer,
parameter ::
iwsin = 16
156 logical,
intent(in) :: ldrifter
160 integer :: ng, i, ic, iflt
162 real(r8),
parameter :: inival = 0.0_r8
178# if defined SOLVE3D && defined FLOAT_STICKY
201# if defined SOLVE3D && defined FLOAT_VWALK
215 IF (.not.ldrifter)
THEN
232 drifter(ng) % bounded(iflt) = .false.
233# if defined SOLVE3D && defined FLOAT_STICKY
234 drifter(ng) % stuck(iflt) = .false.
238 drifter(ng) % Flon(iflt) = inival
239 drifter(ng) % Flat(iflt) = inival
241# if defined SOLVE3D && defined FLOAT_VWALK
245 drifter(ng) % Tinfo(i,iflt) = inival
248 drifter(ng) % track(i,0,iflt) = inival
249 drifter(ng) % track(i,1,iflt) = inival
250 drifter(ng) % track(i,2,iflt) = inival
251 drifter(ng) % track(i,3,iflt) = inival
252 drifter(ng) % track(i,4,iflt) = inival
262 IF (.not.ldrifter)
THEN
307# ifdef SUBOBJECT_DEALLOCATION
313 integer,
intent(in) :: ng
317 character (len=*),
parameter :: myfile = &
318 & __FILE__//
", deallocate_floats"
320# ifdef SUBOBJECT_DEALLOCATION
328 & __line__,
'DRIFTER(ng)%bounded'))
RETURN
330# if defined SOLVE3D && defined FLOAT_STICKY
332 & __line__,
'DRIFTER(ng)%stuck'))
RETURN
336 & __line__,
'DRIFTER(ng)%Findex'))
RETURN
339 & __line__,
'DRIFTER(ng)%Ftype'))
RETURN
342 & __line__,
'DRIFTER(ng)%Flon'))
RETURN
345 & __line__,
'DRIFTER(ng)%Flat'))
RETURN
348 & __line__,
'DRIFTER(ng)%Fz0'))
RETURN
351 & __line__,
'DRIFTER(ng)%Tinfo'))
RETURN
353# if defined SOLVE3D && defined FLOAT_VWALK
355 & __line__,
'DRIFTER(ng)%rwalk'))
RETURN
359 & __line__,
'DRIFTER(ng)%track'))
RETURN
logical, dimension(:), allocatable fprint
integer, dimension(:), allocatable frrec
integer, parameter flt_isobar
subroutine, public deallocate_floats(ng)
integer, parameter flt_geopot
integer, dimension(:), allocatable iftvar
subroutine, public allocate_floats(ldrifter)
type(t_drifter), dimension(:), allocatable drifter
integer, parameter flt_lagran
integer, dimension(:), allocatable nfv
integer, dimension(:), allocatable nfloats
real(r8), dimension(:), allocatable dmem