source: trunk/NEMOGCM/NEMO/OPA_SRC/par_oce.F90 @ 7646

Last change on this file since 7646 was 7646, checked in by timgraham, 4 years ago

Merge of dev_merge_2016 into trunk. UPDATE TO ARCHFILES NEEDED for XIOS2.
LIM_SRC_s/limrhg.F90 to follow in next commit due to change of kind (I'm unable to do it in this commit).
Merged using the following steps:

1) svn merge —reintegrate svn+ssh://forge.ipsl.jussieu.fr/ipsl/forge/projets/nemo/svn/trunk .
2) Resolve minor conflicts in sette.sh and namelist_cfg for ORCA2LIM3 (due to a change in trunk after branch was created)
3) svn commit
4) svn switch svn+ssh://forge.ipsl.jussieu.fr/ipsl/forge/projets/nemo/svn/trunk
5) svn merge svn+ssh://forge.ipsl.jussieu.fr/ipsl/forge/projets/nemo/svn/branches/2016/dev_merge_2016 .
6) At this stage I checked out a clean copy of the branch to compare against what is about to be committed to the trunk.
6) svn commit #Commit code to the trunk

In this commit I have also reverted a change to Fcheck_archfile.sh which was causing problems on the Paris machine.

  • Property svn:keywords set to Id
File size: 5.4 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   !!                   namcfg namelist parameters
17   !!----------------------------------------------------------------------
18   LOGICAL       ::   ln_read_cfg      !: (=T) read the domain configuration file or (=F) not
19   CHARACTER(lc) ::      cn_domcfg        !: filename the configuration file to be read
20   LOGICAL       ::   ln_write_cfg     !: (=T) create the domain configuration file
21   CHARACTER(lc) ::      cn_domcfg_out    !: filename the configuration file to be read
22   !
23   LOGICAL       ::   ln_use_jattr     !: input file read offset
24   !                                   !  Use file global attribute: open_ocean_jstart to determine start j-row
25   !                                   !  when reading input from those netcdf files that have the
26   !                                   !  attribute defined. This is designed to enable input files associated
27   !                                   !  with the extended grids used in the under ice shelf configurations to
28   !                                   !  be used without redundant rows when the ice shelves are not in use.
29   !
30
31   !!---------------------------------------------------------------------
32   !! Domain Matrix size
33   !!---------------------------------------------------------------------
34   ! configuration name & resolution   (required only in ORCA family case)
35   CHARACTER(lc) ::   cn_cfg           !: name of the configuration
36   INTEGER       ::   nn_cfg           !: resolution of the configuration
37
38   ! global domain size               !!! * total computational domain *
39   INTEGER       ::   jpiglo           !: 1st dimension of global domain --> i-direction
40   INTEGER       ::   jpjglo           !: 2nd    -                  -    --> j-direction
41   INTEGER       ::   jpkglo           !: 3nd    -                  -    --> k levels
42
43#if defined key_agrif
44
45!!gm  BUG ?   I'm surprised by the calculation below of nbcellsx and nbcellsy before jpiglo,jpjglo
46!!gm                           has been assigned to a value....
47!!gm
48
49   ! global domain size for AGRIF     !!! * total AGRIF computational domain *
50   INTEGER, PUBLIC, PARAMETER ::   nbghostcells = 1                             !: number of ghost cells
51   INTEGER, PUBLIC            ::   nbcellsx     = jpiglo - 2 - 2*nbghostcells   !: number of cells in i-direction
52   INTEGER, PUBLIC            ::   nbcellsy     = jpjglo - 2 - 2*nbghostcells   !: number of cells in j-direction
53#endif
54
55   ! local domain size                !!! * local computational domain *
56   INTEGER, PUBLIC ::   jpi   ! = ( jpiglo-2*jpreci + (jpni-1) ) / jpni + 2*jpreci   !: first  dimension
57   INTEGER, PUBLIC ::   jpj   ! = ( jpjglo-2*jprecj + (jpnj-1) ) / jpnj + 2*jprecj   !: second dimension
58   INTEGER, PUBLIC ::   jpk   ! = jpkglo
59   INTEGER, PUBLIC ::   jpim1 ! = jpi-1                                            !: inner domain indices
60   INTEGER, PUBLIC ::   jpjm1 ! = jpj-1                                            !:   -     -      -
61   INTEGER, PUBLIC ::   jpkm1 ! = jpk-1                                            !:   -     -      -
62   INTEGER, PUBLIC ::   jpij  ! = jpi*jpj                                          !:  jpi x jpj
63
64   !!---------------------------------------------------------------------
65   !! Active tracer parameters
66   !!---------------------------------------------------------------------
67   INTEGER, PUBLIC, PARAMETER ::   jpts   = 2    !: Number of active tracers (=2, i.e. T & S )
68   INTEGER, PUBLIC, PARAMETER ::   jp_tem = 1    !: indice for temperature
69   INTEGER, PUBLIC, PARAMETER ::   jp_sal = 2    !: indice for salinity
70
71   !!----------------------------------------------------------------------
72   !!   Domain decomposition
73   !!----------------------------------------------------------------------
74   !! if we dont use massively parallel computer (parameters jpni=jpnj=1) so jpiglo=jpi and jpjglo=jpj
75   INTEGER, PUBLIC            ::   jpni         !: number of processors following i
76   INTEGER, PUBLIC            ::   jpnj         !: number of processors following j
77   INTEGER, PUBLIC            ::   jpnij        !: nb of local domain = nb of processors ( <= jpni x jpnj )
78   INTEGER, PUBLIC, PARAMETER ::   jpr2di = 0   !: number of columns for extra outer halo
79   INTEGER, PUBLIC, PARAMETER ::   jpr2dj = 0   !: number of rows    for extra outer halo
80   INTEGER, PUBLIC, PARAMETER ::   jpreci = 1   !: number of columns for overlap
81   INTEGER, PUBLIC, PARAMETER ::   jprecj = 1   !: number of rows    for overlap
82
83   !!----------------------------------------------------------------------
84   !! NEMO/OPA 4.0 , NEMO Consortium (2016)
85   !! $Id$
86   !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt)
87   !!======================================================================
88END MODULE par_oce
Note: See TracBrowser for help on using the repository browser.