[3] | 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 | !!====================================================================== |
---|
[247] | 11 | !! OPA 9.0 , LOCEAN-IPSL (2005) |
---|
| 12 | !! $Header$ |
---|
| 13 | !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt |
---|
[3] | 14 | !!---------------------------------------------------------------------- |
---|
[16] | 15 | #if defined key_floats || defined key_esopa |
---|
[3] | 16 | !!---------------------------------------------------------------------- |
---|
| 17 | !! 'key_floats' drifting floats |
---|
| 18 | !!---------------------------------------------------------------------- |
---|
| 19 | !! * Modules used |
---|
| 20 | USE par_oce ! ocean parameters |
---|
| 21 | |
---|
| 22 | IMPLICIT NONE |
---|
| 23 | |
---|
[16] | 24 | LOGICAL, PUBLIC, PARAMETER :: lk_floats = .TRUE. !: float flag |
---|
[3] | 25 | |
---|
| 26 | !! float parameters |
---|
| 27 | !! ---------------- |
---|
| 28 | INTEGER, PARAMETER :: & |
---|
[16] | 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 |
---|
[3] | 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 | !!---------------------------------------------------------------------- |
---|
[16] | 65 | LOGICAL, PUBLIC, PARAMETER :: lk_floats = .FALSE. !: float flag |
---|
[3] | 66 | #endif |
---|
| 67 | |
---|
| 68 | !!====================================================================== |
---|
| 69 | END MODULE flo_oce |
---|