New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
par_oce.F90 in branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OPA_SRC – NEMO

source: branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OPA_SRC/par_oce.F90 @ 6596

Last change on this file since 6596 was 6596, checked in by gm, 8 years ago

#1692 - branch SIMPLIF_2_usrdef: remove from namcfg and namdom many obsolete variables ; remove izoom/jzoom option

  • Property svn:keywords set to Id
File size: 6.3 KB
Line 
1MODULE par_oce
2   !!======================================================================
3   !!                        ***  par_oce  ***
4   !! Ocean :   set the ocean parameters
5   !!======================================================================
6   !! History :  OPA  !  1991     (Imbard, Levy, Madec)  Original code
7   !!   NEMO     1.0  !  2004-01  (G. Madec, J.-M. Molines)  Free form and module
8   !!            3.3  !  2010-09  (C. Ethe) TRA-TRC merge: add jpts, jp_tem & jp_sal
9   !!----------------------------------------------------------------------
10   USE par_kind          ! kind parameters
11
12   IMPLICIT NONE
13   PUBLIC
14
15   !!----------------------------------------------------------------------
16   !!   Domain decomposition
17   !!----------------------------------------------------------------------
18   !! if we dont use massively parallel computer (parameters jpni=jpnj=1) so jpiglo=jpi and jpjglo=jpj
19   INTEGER, PUBLIC            ::   jpni         !: number of processors following i
20   INTEGER, PUBLIC            ::   jpnj         !: number of processors following j
21   INTEGER, PUBLIC            ::   jpnij        !: nb of local domain = nb of processors ( <= jpni x jpnj )
22   INTEGER, PUBLIC, PARAMETER ::   jpr2di = 0   !: number of columns for extra outer halo
23   INTEGER, PUBLIC, PARAMETER ::   jpr2dj = 0   !: number of rows    for extra outer halo
24   INTEGER, PUBLIC, PARAMETER ::   jpreci = 1   !: number of columns for overlap
25   INTEGER, PUBLIC, PARAMETER ::   jprecj = 1   !: number of rows    for overlap
26
27   !!----------------------------------------------------------------------
28   !!                   namcfg namelist parameters
29   !!----------------------------------------------------------------------
30   LOGICAL       ::   ln_read_cfg      !: logical to read all needed files for a configuration
31   CHARACTER(lc) ::   cp_cfg           !: name of the configuration
32   CHARACTER(lc) ::   cp_cfz           !: name of the zoom of configuration
33   INTEGER       ::   jp_cfg           !: resolution of the configuration
34
35   !!---------------------------------------------------------------------
36   !! Domain Matrix size
37   !!---------------------------------------------------------------------
38
39!!gm  TO BE SUPRESSED
40   ! data size                        !!! * size of all input files *
41   INTEGER       ::   jpidta           !: 1st lateral dimension
42   INTEGER       ::   jpjdta           !: 2nd    "         "   
43   INTEGER       ::   jpkdta           !: number of levels     
44!!gm  END
45
46   ! global domain size               !!! * total computational domain *
47   INTEGER       ::   jpiglo           !: 1st dimension of global domain --> i-direction
48   INTEGER       ::   jpjglo           !: 2nd    -                  -    --> j-direction
49   INTEGER       ::   jpkglo           !: 3nd    -                  -    --> k levels
50
51#if defined key_agrif
52
53!!gm  BUG ?   I'm surprised by the calculation below of nbcellsx and nbcellsy before jpiglo,jpjglo
54!!gm                           has been assigned to a value....
55!!gm
56
57   ! global domain size for AGRIF     !!! * total AGRIF computational domain *
58   INTEGER, PUBLIC, PARAMETER ::   nbghostcells = 1                             !: number of ghost cells
59   INTEGER, PUBLIC            ::   nbcellsx     = jpiglo - 2 - 2*nbghostcells   !: number of cells in i-direction
60   INTEGER, PUBLIC            ::   nbcellsy     = jpjglo - 2 - 2*nbghostcells   !: number of cells in j-direction
61#endif
62
63   ! local domain size                !!! * local computational domain *
64   INTEGER, PUBLIC ::   jpi   ! = ( jpiglo-2*jpreci + (jpni-1) ) / jpni + 2*jpreci   !: first  dimension
65   INTEGER, PUBLIC ::   jpj   ! = ( jpjglo-2*jprecj + (jpnj-1) ) / jpnj + 2*jprecj   !: second dimension
66   INTEGER, PUBLIC ::   jpk   ! = jpkdta
67   INTEGER, PUBLIC ::   jpim1 ! = jpi-1                                            !: inner domain indices
68   INTEGER, PUBLIC ::   jpjm1 ! = jpj-1                                            !:   -     -      -
69   INTEGER, PUBLIC ::   jpkm1 ! = jpk-1                                            !:   -     -      -
70   INTEGER, PUBLIC ::   jpij  ! = jpi*jpj                                          !:  jpi x jpj
71
72
73   ! Domain characteristics
74   INTEGER       ::   jperio         !: lateral cond. type (between 0 and 6)
75   !                                      !  = 0 closed                 ;   = 1 cyclic East-West
76   !                                      !  = 2 equatorial symmetric   ;   = 3 North fold T-point pivot
77   !                                      !  = 4 cyclic East-West AND North fold T-point pivot
78   !                                      !  = 5 North fold F-point pivot
79   !                                      !  = 6 cyclic East-West AND North fold F-point pivot
80
81   ! Input file read offset
82   LOGICAL       ::   ln_use_jattr   !: Use file global attribute: open_ocean_jstart to determine start j-row
83                                          ! when reading input from those netcdf files that have the
84                                          ! attribute defined. This is designed to enable input files associated
85                                          ! with the extended grids used in the under ice shelf configurations to
86                                          ! be used without redundant rows when the ice shelves are not in use.
87
88   !!  Values set to pp_not_used indicates that this parameter is not used in THIS config.
89   !!  Values set to pp_to_be_computed  indicates that variables will be computed in domzgr
90   REAL(wp)      ::   pp_not_used       = 999999._wp   !: vertical grid parameter
91   REAL(wp)      ::   pp_to_be_computed = 999999._wp   !:    -      -       -
92
93
94   !!---------------------------------------------------------------------
95   !! Active tracer parameters
96   !!---------------------------------------------------------------------
97   INTEGER, PUBLIC, PARAMETER ::   jpts   = 2    !: Number of active tracers (=2, i.e. T & S )
98   INTEGER, PUBLIC, PARAMETER ::   jp_tem = 1    !: indice for temperature
99   INTEGER, PUBLIC, PARAMETER ::   jp_sal = 2    !: indice for salinity
100
101
102   !!----------------------------------------------------------------------
103   !! NEMO/OPA 3.3 , NEMO Consortium (2010)
104   !! $Id$
105   !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt)
106   !!======================================================================
107END MODULE par_oce
Note: See TracBrowser for help on using the repository browser.