1 | MODULE flo_oce |
---|
2 | !!====================================================================== |
---|
3 | !! *** MODULE flo_oce *** |
---|
4 | !! |
---|
5 | !! ** Purpose : - Define in memory all floats parameters and variables |
---|
6 | !! |
---|
7 | !! History : |
---|
8 | !! 8.0 ! 99-10 (CLIPPER projet) |
---|
9 | !! 9.0 ! 02-11 (G. Madec, A. Bozec) F90: Free form and module |
---|
10 | !!====================================================================== |
---|
11 | !! OPA 9.0 , LOCEAN-IPSL (2005) |
---|
12 | !! $Header$ |
---|
13 | !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt |
---|
14 | !!---------------------------------------------------------------------- |
---|
15 | #if defined key_floats || defined key_esopa |
---|
16 | !!---------------------------------------------------------------------- |
---|
17 | !! 'key_floats' drifting floats |
---|
18 | !!---------------------------------------------------------------------- |
---|
19 | !! * Modules used |
---|
20 | USE par_oce ! ocean parameters |
---|
21 | |
---|
22 | IMPLICIT NONE |
---|
23 | |
---|
24 | LOGICAL, PUBLIC, PARAMETER :: lk_floats = .TRUE. !: float flag |
---|
25 | |
---|
26 | !! float parameters |
---|
27 | !! ---------------- |
---|
28 | INTEGER, PARAMETER :: & |
---|
29 | jpnfl = 23 , & ! total number of floats during the run |
---|
30 | jpnnewflo = 0 , & ! number of floats added in a new run |
---|
31 | jpnrstflo = jpnfl-jpnnewflo ! number of floats for the restart |
---|
32 | |
---|
33 | !! float variables |
---|
34 | !! --------------- |
---|
35 | INTEGER, DIMENSION(jpnfl) :: & |
---|
36 | nisobfl, & ! 0 for a isobar float |
---|
37 | ! ! 1 for a float following the w velocity |
---|
38 | ngrpfl ! number to identify searcher group |
---|
39 | |
---|
40 | REAL(wp), DIMENSION(jpnfl) :: & |
---|
41 | flxx, & ! longitude of float (decimal degree) |
---|
42 | flyy, & ! latitude of float (decimal degree) |
---|
43 | flzz, & ! depth of float (m, positive) |
---|
44 | tpifl, & ! index of float position on zonal axe |
---|
45 | tpjfl, & ! index of float position on meridien axe |
---|
46 | tpkfl ! index of float position on z axe |
---|
47 | |
---|
48 | REAL(wp), DIMENSION(jpi, jpj, jpk) :: & |
---|
49 | wb ! vertical velocity at previous time step (m s-1). |
---|
50 | |
---|
51 | ! floats unit |
---|
52 | |
---|
53 | LOGICAL :: & !!! * namelist namflo * |
---|
54 | ln_rstflo = .FALSE. , & ! T/F float restart |
---|
55 | ln_argo = .FALSE. , & ! T/F argo type floats |
---|
56 | ln_flork4 = .FALSE. ! T/F 4th order Runge-Kutta |
---|
57 | INTEGER :: & !!! * namelist namflo * |
---|
58 | nwritefl, & ! frequency of float output file |
---|
59 | nstockfl ! frequency of float restart file |
---|
60 | |
---|
61 | #else |
---|
62 | !!---------------------------------------------------------------------- |
---|
63 | !! Default option : NO drifting floats |
---|
64 | !!---------------------------------------------------------------------- |
---|
65 | LOGICAL, PUBLIC, PARAMETER :: lk_floats = .FALSE. !: float flag |
---|
66 | #endif |
---|
67 | |
---|
68 | !!====================================================================== |
---|
69 | END MODULE flo_oce |
---|