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 tags/start/NEMO/OPA_SRC – NEMO

source: tags/start/NEMO/OPA_SRC/par_oce.F90 @ 328

Last change on this file since 328 was 3, checked in by opalod, 20 years ago

Initial revision

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 8.4 KB
Line 
1MODULE par_oce
2   !!======================================================================
3   !!                        ***  par_oce  ***
4   !! Ocean :   set the ocean parameters
5   !!======================================================================
6   !! History :
7   !!   4.0  !  91     (Imbard, Levy, Madec)  Original code
8   !!   9.0  !  04-01  (G. Madec, J.-M. Molines)  Free form and module
9   !!----------------------------------------------------------------------
10   !!  OPA 9.0, LODYC-IPSL (2004)
11   !!----------------------------------------------------------------------
12   !! * Modules used
13   USE par_kind          !: kind parameters
14
15   IMPLICIT NONE
16   PUBLIC
17
18   !!----------------------------------------------------------------------
19   !!   Domain decomposition
20   !!----------------------------------------------------------------------
21   !! * if we dont use massively parallel computer (parameters jpni=jpnj=1)
22   !!      so jpiglo=jpi and jpjglo=jpj
23
24   INTEGER, PARAMETER ::            &
25      jpni   = 1,                   &  !: number of processors following i
26      jpnj   = 1,                   &  !: number of processors following j
27      jpnij  = 1,                   &  !: nb of local domain = nb of processors
28      !                                !  ( <= jpni x jpnj )
29      jpreci = 1,                   &  !: number of columns for overlap
30      jprecj = 1                       !: number of rows    for overlap
31
32   !! Ocean Domain sizes
33   !! ------------------
34   !!   data           domain   (jpidta,jpjdta)
35   !!   global or zoom domain   (jpiglo,jpjglo)
36   !!   local          domain   ( jpi  , jpj  )
37   
38#if   defined key_orca_r4
39   !!---------------------------------------------------------------------
40   !!   'key_orca_r4'   :                           global ocean : ORCA R4
41   !!---------------------------------------------------------------------
42#             include "par_ORCA_R4.h90"
43#elif defined key_orca_r2
44   !!---------------------------------------------------------------------
45   !!   'key_orca_r2'   :                           global ocean : ORCA R4
46   !!---------------------------------------------------------------------
47#             include "par_ORCA_R2.h90"
48#elif defined key_orca_r05
49   !!---------------------------------------------------------------------
50   !!   'key_orca_r05'  :                          global ocean : ORCA R05
51   !!---------------------------------------------------------------------
52#             include "par_ORCA_R05.h90"
53#elif defined key_orca_r025
54   !!---------------------------------------------------------------------
55   !!   'key_orca_r025' :                         global ocean : ORCA R025
56   !!---------------------------------------------------------------------
57#             include "par_ORCA_R025.h90"
58#elif defined key_eel_r2
59   !!---------------------------------------------------------------------
60   !!   'key_eel_r2'    :                                 channel : EEL R2
61   !!---------------------------------------------------------------------
62#             include "par_EEL_R2.h90"
63#elif defined key_eel_r5
64   !!---------------------------------------------------------------------
65   !!   'key_eel_r5'    :                                 channel : EEL R5
66   !!---------------------------------------------------------------------
67#             include "par_EEL_R5.h90"
68#elif defined key_eel_r6
69   !!---------------------------------------------------------------------
70   !!   'key_eel_r6'    :                                 channel : EEL R6
71   !!---------------------------------------------------------------------
72#             include "par_EEL_R6.h90"
73#else
74   !!---------------------------------------------------------------------
75   !!   default option  :                               small closed basin
76   !!---------------------------------------------------------------------
77   CHARACTER (len=16), PARAMETER :: &
78      cp_cfg = "default"               !: name of the configuration
79   INTEGER, PARAMETER ::            &
80      jp_cfg = 0  ,                 &  !: resolution of the configuration
81
82      ! data size                     !!! * size of all input files *
83      jpidta  = 10,                 &  !: 1st lateral dimension ( >= jpi )
84      jpjdta  = 10,                 &  !: 2nd    "         "    ( >= jpj )
85      jpkdta  = 31,                 &  !: number of levels      ( >= jpk )
86
87      ! global or zoom domain size    !!! * computational domain *
88      jpiglo  = jpidta,             &  !: 1st dimension of global domain --> i
89      jpjglo  = jpidta,             &  !: 2nd    "                  "    --> j
90      jpk     = jpkdta,             &  !: number of vertical levels
91      ! zoom starting position
92      jpizoom =   1   ,             &  !: left bottom (i,j) indices of the zoom
93      jpjzoom =   1   ,             &  !: in data domain indices
94
95      ! Domain characteristics
96      jperio  =  0,                 &  !: lateral cond. type (between 0 and 6)
97      jpisl   =  0,                 &  !: number of islands (rigid-lid only)
98      jpnisl  =  0                     !: maximum number of points per island
99
100   !! Horizontal grid parameters for domhgr
101   !! =====================================
102
103   INTEGER, PARAMETER   ::   & !
104      jphgr_msh = 0            !: type of horizontal mesh
105      !                        !  = 0 curvilinear coordinate on the sphere
106      !                        !      read in coordinate.nc file
107      !                        !  = 1 geographical mesh on the sphere
108      !                        !      with regular grid-spacing
109      !                        !  = 2 f-plane with regular grid-spacing
110      !                        !  = 3 beta-plane with regular grid-spacing
111      !                        !  = 4 Mercator grid with T/U point at the equator  with
112      !                        !      isotropic resolution (e1_deg)
113
114   REAL(wp) , PARAMETER ::    &  !
115      ppglam0  =    0.0_wp,   &  !: longitude of first raw and column T-point (jphgr_msh = 1)
116      ppgphi0  =  -35.0_wp,   &  !: latitude  of first raw and column T-point (jphgr_msh = 1)
117      !                          !  latitude for the Coriolis or Beta parameter (jphgr_msh = 2 or 3)
118      ppe1_deg =    1.0_wp,   &  !: zonal      grid-spacing (degrees)
119      ppe2_deg =    0.5_wp,   &  !: meridional grid-spacing (degrees)
120      ppe1_m   = 5000.0_wp,   &  !: zonal      grid-spacing (degrees)
121      ppe2_m   = 5000.0_wp       !: meridional grid-spacing (degrees)
122
123
124   !!
125   !! Vertical grid parameter for domzgr
126   !! ==================================
127   !!
128   REAL(wp), PARAMETER  ::       &
129      &     ppsur = -4762.96143546300_wp    ,  &  !: ORCA r4, r2 and r05 coefficients
130      &     ppa0  =   255.58049070440_wp    ,  &  !: (default coefficients)
131      &     ppa1  =   245.58132232490_wp    ,  &  !:
132      &     ppkth =    21.43336197938_wp    ,  &  !:
133      &     ppacr =     3.00000000000_wp          !:
134
135   !!  If both ppa0 ppa1 and ppsur are specified to 0, then
136   !!  they are computed from ppdzmin, pphmax , ppkth, ppacr in dom_zgr
137
138   REAL(wp), PARAMETER ::        &
139      &     ppdzmin = 10._wp                ,  &  !: Minimum vertical spacing
140      &     pphmax  = 5000._wp                    !: Maximum depth
141
142   !!---------------------------------------------------------------------
143#endif
144
145   !!---------------------------------------------------------------------
146   !! Domain Matrix size
147   !!---------------------------------------------------------------------
148   INTEGER, PARAMETER ::            &
149      jpi = ( jpiglo-2*jpreci + (jpni-1) ) / jpni + 2*jpreci ,   &
150      !                                !: first  dimension of grid --> i
151      jpj = ( jpjglo-2*jprecj + (jpnj-1) ) / jpnj + 2*jprecj ,   &
152      !                                !: second dimension of grid --> j
153      jpim1 = jpi-1,                &  !:  jpi - 1
154      jpjm1 = jpj-1,                &  !:  jpj - 1
155      jpkm1 = jpk-1,                &  !:  jpk - 1
156      jpij  = jpi*jpj                  !:  jpi x jpj
157
158   !!---------------------------------------------------------------------
159   !! ESOPA control
160   !!---------------------------------------------------------------------
161#if defined key_esopa
162   LOGICAL, PARAMETER ::   lk_esopa = .TRUE.   !: flag to activate the all options
163#else
164   LOGICAL, PARAMETER ::   lk_esopa = .FALSE.  !: flag to activate the all options
165#endif
166
167   !!======================================================================
168END MODULE par_oce
Note: See TracBrowser for help on using the repository browser.