[2849] | 1 | MODULE declarations |
---|
| 2 | !!---------------------------------------------------------------------------- |
---|
| 3 | !! *** declarations global varibles |
---|
| 4 | !! |
---|
| 5 | !!---------------------------------------------------------------------------- |
---|
| 6 | |
---|
| 7 | IMPLICIT NONE |
---|
| 8 | PUBLIC |
---|
| 9 | |
---|
| 10 | !! * Shared module variables |
---|
| 11 | INTEGER, PUBLIC, PARAMETER :: dp=8 , sp=4, wp=dp |
---|
| 12 | INTEGER, PUBLIC, PARAMETER :: nb_class_max = 10 ! Max number of classes |
---|
| 13 | INTEGER, PUBLIC, PARAMETER :: nb_sec_max = 150 ! Max number of sections |
---|
| 14 | INTEGER, PUBLIC, PARAMETER :: nb_point_max = 2000 ! Max number of segment per section |
---|
| 15 | INTEGER, PUBLIC, PARAMETER :: nb_type_class = 14 ! Max number of types of classes |
---|
| 16 | INTEGER, PUBLIC, PARAMETER :: numnam=3 ! Unit for namelist |
---|
| 17 | INTEGER, PUBLIC, PARAMETER :: numdctin=1 ! Unit for input file |
---|
| 18 | INTEGER, PUBLIC, PARAMETER :: numdctout=2 ! Unit for output file |
---|
| 19 | |
---|
| 20 | INTEGER, PUBLIC :: jpidta,jpjdta,jpizoom,jpjzoom !dimensions des fichiers lus |
---|
| 21 | INTEGER, PUBLIC :: jpi,jpj,jpiglo,jpjglo !dimensions du domaine |
---|
| 22 | INTEGER, PUBLIC :: nlei,nlej,nlci,nlcj |
---|
| 23 | INTEGER, PUBLIC :: nb_sec ! Number of section read in input file |
---|
| 24 | INTEGER, PUBLIC :: nsecdebug = 0 ! Number of the section to debug |
---|
| 25 | |
---|
| 26 | INTEGER, PUBLIC, DIMENSION(:) , ALLOCATABLE :: mig |
---|
| 27 | INTEGER, PUBLIC, DIMENSION(:) , ALLOCATABLE :: mjg |
---|
| 28 | REAL(wp), PUBLIC ,DIMENSION(:,:) , ALLOCATABLE :: glamf,gphif,glamt,gphit,e1t |
---|
| 29 | ! REAL(wp), PUBLIC ,DIMENSION(:,:,:), ALLOCATABLE :: tmask |
---|
| 30 | INTEGER, PUBLIC ,DIMENSION(nb_sec_max) :: num_sec_debug |
---|
| 31 | |
---|
| 32 | TYPE POINT_SECTION |
---|
| 33 | INTEGER :: I,J |
---|
| 34 | END TYPE POINT_SECTION |
---|
| 35 | |
---|
| 36 | TYPE COORD_SECTION |
---|
| 37 | REAL(wp) :: lon,lat |
---|
| 38 | END TYPE COORD_SECTION |
---|
| 39 | |
---|
| 40 | TYPE SECTION |
---|
| 41 | CHARACTER(len=60) :: name ! name of the sec |
---|
| 42 | LOGICAL :: llstrpond ! true if you want the computation of salinity and |
---|
| 43 | ! temperature balanced by the transport |
---|
| 44 | LOGICAL :: ll_ice_section ! icesurf and icevol computation |
---|
| 45 | LOGICAL :: ll_date_line ! = T if the section crosses the date-line |
---|
| 46 | TYPE(COORD_SECTION), DIMENSION(2) :: coordSec ! longitude and latitude of the extremities of the sec |
---|
| 47 | INTEGER :: nb_class ! number of boundaries for density classes |
---|
| 48 | INTEGER, DIMENSION(nb_point_max) :: direction ! vector direction of the point in the section |
---|
| 49 | CHARACTER(len=40),DIMENSION(nb_class_max) :: classname ! caracteristics of the class |
---|
| 50 | REAL(wp), DIMENSION(nb_class_max) :: zsigi ,&! insitu density classes (99 if you don't want) |
---|
| 51 | zsigp ,&! potential density classes (99 if you don't want) |
---|
| 52 | zsal ,&! salinity classes (99 if you don't want) |
---|
| 53 | ztem ,&! temperature classes(99 if you don't want) |
---|
| 54 | zlay ! level classes (99 if you don't want) |
---|
| 55 | REAL(wp) :: slopeSection ! coeff directeur de la section |
---|
| 56 | INTEGER :: nb_point ! nb de points de la section |
---|
| 57 | TYPE(POINT_SECTION),DIMENSION(nb_point_max) :: listPoint ! list of point in the section |
---|
| 58 | END TYPE SECTION |
---|
| 59 | |
---|
| 60 | TYPE(SECTION),DIMENSION(nb_sec_max) :: secs ! Array of sections |
---|
| 61 | |
---|
| 62 | |
---|
| 63 | |
---|
| 64 | END MODULE declarations |
---|