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 NEMO/trunk/src/OCE – NEMO

source: NEMO/trunk/src/OCE/par_oce.F90 @ 14325

Last change on this file since 14325 was 14072, checked in by laurent, 3 years ago

Merging branch "2020/dev_r13648_ASINTER-04_laurent_bulk_ice", ticket #2369

  • Property svn:keywords set to Id
File size: 6.9 KB
RevLine 
[3]1MODULE par_oce
2   !!======================================================================
3   !!                        ***  par_oce  ***
4   !! Ocean :   set the ocean parameters
5   !!======================================================================
[2528]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
[3]9   !!----------------------------------------------------------------------
[15]10   USE par_kind          ! kind parameters
[3]11
12   IMPLICIT NONE
13   PUBLIC
14
15   !!----------------------------------------------------------------------
[4147]16   !!                   namcfg namelist parameters
17   !!----------------------------------------------------------------------
[7646]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
[14072]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
[7646]28   !                                   !  be used without redundant rows when the ice shelves are not in use.
[12377]29   LOGICAL       ::   ln_closea        !: (=T) special treatment of closed sea
[14072]30   !
[3]31
[7646]32   !!---------------------------------------------------------------------
[14072]33   !! Domain Matrix size
[7646]34   !!---------------------------------------------------------------------
35   ! configuration name & resolution   (required only in ORCA family case)
36   CHARACTER(lc) ::   cn_cfg           !: name of the configuration
[14072]37   INTEGER       ::   nn_cfg           !: resolution of the configuration
[3]38
[12377]39   ! time dimension
40   INTEGER, PUBLIC, PARAMETER :: jpt = 3    !: time dimension
41
[7646]42   ! global domain size               !!! * total computational domain *
43   INTEGER       ::   jpiglo           !: 1st dimension of global domain --> i-direction
44   INTEGER       ::   jpjglo           !: 2nd    -                  -    --> j-direction
45   INTEGER       ::   jpkglo           !: 3nd    -                  -    --> k levels
[3294]46
[7646]47   ! global domain size for AGRIF     !!! * total AGRIF computational domain *
[9449]48   INTEGER, PUBLIC            ::   nbug_in_agrif_conv_do_not_remove_or_modify = 1 - 1
[13286]49   INTEGER, PUBLIC, PARAMETER ::   nbghostcells = 3   !: number of ghost cells: default value
50   INTEGER, PUBLIC            ::   nbghostcells_x     !: number of ghost cells in i-direction
[13216]51   INTEGER, PUBLIC            ::   nbghostcells_y_s   !: number of ghost cells in j-direction at south
[13286]52   INTEGER, PUBLIC            ::   nbghostcells_y_n   !: number of ghost cells in j-direction at north
53   INTEGER, PUBLIC            ::   nbcellsx           !: number of cells in i-direction
54   INTEGER, PUBLIC            ::   nbcellsy           !: number of cells in j-direction
[5118]55
[7646]56   ! local domain size                !!! * local computational domain *
[9449]57   INTEGER, PUBLIC ::   jpi   !                                                    !: first  dimension
58   INTEGER, PUBLIC ::   jpj   !                                                    !: second dimension
59   INTEGER, PUBLIC ::   jpk   ! = jpkglo                                           !: third  dimension
[7646]60   INTEGER, PUBLIC ::   jpim1 ! = jpi-1                                            !: inner domain indices
61   INTEGER, PUBLIC ::   jpjm1 ! = jpj-1                                            !:   -     -      -
62   INTEGER, PUBLIC ::   jpkm1 ! = jpk-1                                            !:   -     -      -
63   INTEGER, PUBLIC ::   jpij  ! = jpi*jpj                                          !:  jpi x jpj
[13286]64   INTEGER, PUBLIC ::   jpimax! = ( Ni0glo + jpni-1 ) / jpni + 2*nn_hls            !: maximum jpi
65   INTEGER, PUBLIC ::   jpjmax! = ( Nj0glo + jpnj-1 ) / jpnj + 2*nn_hls            !: maximum jpj
[15]66
[13982]67   ! Domain tiling
68   INTEGER, PUBLIC ::   nijtile    !: number of tiles in total
69   INTEGER, PUBLIC ::   ntile      !: current tile number
70   INTEGER, PUBLIC ::   ntsi       !: start of internal part of tile domain
71   INTEGER, PUBLIC ::   ntsj       !
72   INTEGER, PUBLIC ::   ntei       !: end of internal part of tile domain
73   INTEGER, PUBLIC ::   ntej       !
74
[3]75   !!---------------------------------------------------------------------
[2528]76   !! Active tracer parameters
77   !!---------------------------------------------------------------------
78   INTEGER, PUBLIC, PARAMETER ::   jpts   = 2    !: Number of active tracers (=2, i.e. T & S )
79   INTEGER, PUBLIC, PARAMETER ::   jp_tem = 1    !: indice for temperature
80   INTEGER, PUBLIC, PARAMETER ::   jp_sal = 2    !: indice for salinity
[3]81
[7646]82   !!----------------------------------------------------------------------
83   !!   Domain decomposition
84   !!----------------------------------------------------------------------
85   !! if we dont use massively parallel computer (parameters jpni=jpnj=1) so jpiglo=jpi and jpjglo=jpj
[14072]86   INTEGER, PUBLIC            ::   jpni         !: number of processors following i
[7646]87   INTEGER, PUBLIC            ::   jpnj         !: number of processors following j
88   INTEGER, PUBLIC            ::   jpnij        !: nb of local domain = nb of processors ( <= jpni x jpnj )
[14072]89   INTEGER, PUBLIC, PARAMETER ::   jpr2di = 0   !: number of columns for extra outer halo
90   INTEGER, PUBLIC, PARAMETER ::   jpr2dj = 0   !: number of rows    for extra outer halo
[3]91
[13286]92   ! halo with and starting/inding DO-loop indices
93   INTEGER, PUBLIC ::   nn_hls   !: halo width (applies to both rows and columns)
94   INTEGER, PUBLIC ::   Nis0, Nis1, Nis1nxt2, Nis2   !: start I-index (_0: without halo, _1 or _2: with 1 or 2 halos)
95   INTEGER, PUBLIC ::   Nie0, Nie1, Nie1nxt2, Nie2   !: end   I-index (_0: without halo, _1 or _2: with 1 or 2 halos)
96   INTEGER, PUBLIC ::   Njs0, Njs1, Njs1nxt2, Njs2   !: start J-index (_0: without halo, _1 or _2: with 1 or 2 halos)
97   INTEGER, PUBLIC ::   Nje0, Nje1, Nje1nxt2, Nje2   !: end   J-index (_0: without halo, _1 or _2: with 1 or 2 halos)
98   INTEGER, PUBLIC ::   Ni_0, Nj_0, Ni_1, Nj_1, Ni_2, Nj_2   !: domain size (_0: without halo, _1 or _2: with 1 or 2 halos)
99   INTEGER, PUBLIC ::   Ni0glo, Nj0glo
100
[2528]101   !!----------------------------------------------------------------------
[9598]102   !! NEMO/OCE 4.0 , NEMO Consortium (2018)
[14072]103   !! $Id$
[10068]104   !! Software governed by the CeCILL license (see ./LICENSE)
[3]105   !!======================================================================
106END MODULE par_oce
Note: See TracBrowser for help on using the repository browser.