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_orca_r2.F90 in branches/dev_001_GM/NEMO/OPA_SRC – NEMO

source: branches/dev_001_GM/NEMO/OPA_SRC/par_orca_r2.F90 @ 778

Last change on this file since 778 was 778, checked in by gm, 16 years ago

dev_001_GM - par_oce evolution: suppress the par_...h90 and create new module for all ocean configuration -compilation OK

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 10.4 KB
Line 
1MODULE par_orca_r2
2   !!======================================================================
3   !!                        ***  par_orca_r2  ***
4   !! Ocean Domain parameter : 2 degrees orca global ocean (0RCA_R2 configuration)
5   !!    including antarctic, arctic or 1D configuration cases.
6   !!    NB: with AGRIF, values are not set as parameters
7   !!======================================================================
8   !! History :   9.0  !  2007-11  (G. Madec)  Original code from par_ORCA_R2.h90
9   !!----------------------------------------------------------------------
10   !! NEMO/OPA 2.4 , LOCEAN-IPSL (2007)
11   !! $Id$
12   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt)
13   !!----------------------------------------------------------------------
14#if defined key_orca_r2
15   !!---------------------------------------------------------------------
16   !!   'key_orca_r2'   :                           global ocean : ORCA R2
17   !!---------------------------------------------------------------------
18   USE par_kind          ! kind parameters
19
20   IMPLICIT NONE
21   PUBLIC
22
23# if defined key_agrif
24   !------!!--------------------------------------------------------------
25   !      !!   'key_agrif'   :                                        AGRIF
26   !------!!--------------------------------------------------------------
27
28   ! Configuration, and domain size are not assigned to a parameter value
29   !    as they are different in mother and children models
30   INTEGER ::   cp_cfg, jp_cfg                          !: configuration id       (AGRIF case)
31   INTEGER ::   jpidta, jpjdta, jpkdta                  !: input data size        (AGRIF case)
32   INTEGER ::   jpiglo, jpjglo, jpk, jpizoom, jpjzoom   !: domain size and zoom   (AGRIF case)
33   INTEGER ::   jperio, jpisl, jpnisl                   !: domain characteristics (AGRIF case)
34
35# else
36   !------!!--------------------------------------------------------------
37   !      !!   Default       :                   no AGRIF: model parameters
38   !------!!--------------------------------------------------------------
39
40   ! Configuration name and resolution                 !!! *  ORCA R2  *
41   CHARACTER (len=16), PARAMETER ::   cp_cfg = "orca"   !: name of the configuration
42   INTEGER           , PARAMETER ::   jp_cfg = 2        !: resolution of the configuration (degrees)
43
44   ! input data size                                   !!! *  size of all input files  *
45   INTEGER, PARAMETER ::   jpidta  = 182                !: 1st lateral dimension ( >= jpiglo )
46   INTEGER, PARAMETER ::   jpjdta  = 149                !: 2nd    "       "      ( >= jpjglo )
47   INTEGER, PARAMETER ::   jpkdta  = 31                 !: number of levels      ( >= jpk    )
48   
49
50#  if defined key_antarctic
51   !------------!!--------------------------------------------------------
52   !            !!   'key_antarctic'   :          antartic zoom of ORCA R2
53   !------------!!--------------------------------------------------------
54   ! zoom domain size                                  !!! *  antarctic zoom  *
55   INTEGER, PARAMETER ::   jpiglo  = jpidta             !: 1st dimension of global domain --> i
56   INTEGER, PARAMETER ::   jpjglo  = 50                 !: 2nd    "                  "    --> j
57   INTEGER, PARAMETER ::   jpk     = jpkdta             !: number of vertical levels
58   ! zoom starting position
59   INTEGER, PARAMETER ::   jpizoom =   1                !: left bottom (i,j) indices of the zoom
60   INTEGER, PARAMETER ::   jpjzoom =   1                !: in data domain indices
61   ! Domain characteristics
62   INTEGER, PARAMETER ::   jperio  =   1                !: lateral cond. type (between 0 and 6)
63   INTEGER, PARAMETER ::   jpisl   =   3                !: number of islands
64   INTEGER, PARAMETER ::   jpnisl  = 400                !: maximum number of points per island
65
66#  elif defined key_arctic
67   !------------!!--------------------------------------------------------
68   !            !!   'key_arctic' :                  artic zoom of ORCA R2
69   !------------!!--------------------------------------------------------
70   ! zoom domain size                                  !!! *  arctic zoom  *
71   INTEGER, PARAMETER ::   jpiglo  = 142                !: 1st dimension of global domain --> i
72   INTEGER, PARAMETER ::   jpjglo  = jpjdta - 97 + 1    !: 2nd    "                  "    --> j
73   INTEGER, PARAMETER ::   jpk     = jpkdta             !: number of vertical levels
74   ! zoom starting position
75   INTEGER, PARAMETER ::   jpizoom =  21                !: left bottom (i,j) indices of the zoom
76   INTEGER, PARAMETER ::   jpjzoom =  97                !: in data domain indices
77   ! Domain characteristics
78   INTEGER, PARAMETER ::   jperio  =   3                !: lateral cond. type (between 0 and 6)
79   INTEGER, PARAMETER ::   jpisl   =   7                !: number of islands
80   INTEGER, PARAMETER ::   jpnisl  = 400                !: maximum number of points per island
81
82#  elif defined key_cfg_1d
83   !------------!!--------------------------------------------------------
84   !            !!   'key_cfg_1d' :            1D configuration of ORCA R2
85   !------------!!--------------------------------------------------------
86   ! global domain size                                !!! *  1D configuration  *
87   INTEGER, PARAMETER ::   jpiglo  = 3                  !: 1st dimension of global domain --> i
88   INTEGER, PARAMETER ::   jpjglo  = 3                  !: 2nd    "                  "    --> j
89   INTEGER, PARAMETER ::   jpk     = jpkdta             !: number of vertical levels
90   ! starting position of the zoom
91   INTEGER, PARAMETER ::   jpizoom =   61               !: left bottom (i,j) indices of the zoom in data domain indices
92   INTEGER, PARAMETER ::   jpjzoom =  110               !: here : (jpizoom,jpjzoom) = (61,110)  for (160W,50N)
93   ! Domain characteristics
94   INTEGER, PARAMETER ::   jperio  =   0                !: lateral cond. type (between 0 and 6)
95   INTEGER, PARAMETER ::   jpisl   =  18                !: number of islands
96   INTEGER, PARAMETER ::   jpnisl  = 800                !: maximum number of points per island
97   
98#  else
99   !------------!!--------------------------------------------------------
100   !            !!   Default :               Full global domain of ORCA R2
101   !------------!!--------------------------------------------------------
102   ! global domain size                                !!! *  global domain  *
103   INTEGER, PARAMETER ::   jpiglo  = jpidta             !: 1st dimension of global domain --> i
104   INTEGER, PARAMETER ::   jpjglo  = jpjdta             !: 2nd    "                  "    --> j
105   INTEGER, PARAMETER ::   jpk     = jpkdta             !: number of vertical levels
106   ! starting position of the zoom
107   INTEGER, PARAMETER ::   jpizoom =   1                !: left bottom (i,j) indices of the zoom
108   INTEGER, PARAMETER ::   jpjzoom =   1                !: in data domain indices
109   ! Domain characteristics
110   INTEGER, PARAMETER ::   jperio  =   4                !: lateral cond. type (between 0 and 6)
111   INTEGER, PARAMETER ::   jpisl   =  18                !: number of islands
112   INTEGER, PARAMETER ::   jpnisl  = 800                !: maximum number of points per island
113#  endif
114
115# endif
116
117   !!---------------------------------------------------------------------
118   !! grid parameters for domhgr and domzgr
119   !!---------------------------------------------------------------------
120   ! Values set to pp_not_used indicates that this parameter is not used in THIS config.
121   ! Values set to pp_to_be_computed  indicates that variables will be computed in domzgr
122   REAL(wp), PARAMETER ::   pp_not_used       = 999999_wp   !: default value for "not used"
123   REAL(wp), PARAMETER ::   pp_to_be_computed = 0._wp       !: default value for "to be computed"
124
125   ! horizontal mesh (domhgr)
126   !    Coefficients associated with the horizontal coordinate system (jphgr_msh /= 0 )
127   INTEGER, PARAMETER ::   jphgr_msh = 0   !: type of horizontal mesh
128   !                                       !  = 0 curvilinear coordinate on the sphere read in coordinate.nc file
129
130   !   ppglam0 , ppgphi0: coordinates of the lower leftmost T-point of the grid.
131   !   The mercator grid starts only approximately at gphi0 because
132   !   of the constraint that the equator is a T-point.
133   REAL(wp) ,PARAMETER ::   ppglam0  = pp_not_used   !: longitude of first raw and column T-point (jphgr_msh=1)
134   REAL(wp) ,PARAMETER ::   ppgphi0  = pp_not_used   !: latitude  of first raw and column T-point (jphgr_msh=1)
135   !                                                 !  latitude  of the Coriolis/Beta parameter  (jphgr_msh=2 or 3)
136   REAL(wp) ,PARAMETER ::   ppe1_deg = pp_not_used   !: zonal      grid-spacing (degrees)
137   REAL(wp) ,PARAMETER ::   ppe2_deg = pp_not_used   !: meridional grid-spacing (degrees)
138   !
139   REAL(wp) ,PARAMETER ::   ppe1_m   = pp_not_used   !: zonal      grid-spacing (meters )
140   REAL(wp) ,PARAMETER ::   ppe2_m   = pp_not_used   !: meridional grid-spacing (meters )
141
142   ! Vertical mesh (domzgr)
143   !    parameter used in the analytical function defining the repartition of the level and their thickness
144   REAL(wp), PARAMETER ::   ppsur = -4762.96143546300_wp   !: ORCA r4, r2 and r05 coefficients
145   REAL(wp), PARAMETER ::   ppa0  =   255.58049070440_wp   !: (default coefficients)
146   REAL(wp), PARAMETER ::   ppa1  =   245.58132232490_wp   !:
147   REAL(wp), PARAMETER ::   ppkth =    21.43336197938_wp   !: (non dimensional): gives the approximate
148   !                                                       !: layer number above which  stretching will
149   !                                                       !: be maximum. Usually of order jpk/2.
150   REAL(wp), PARAMETER ::   ppacr =     3.00000000000_wp   !: (non dimensional): stretching factor
151   !                                                       !: for the grid. The highest zacr, the smallest
152   !                                                       !: the stretching.
153   !  If both ppa0 ppa1 and ppsur are specified to 0, then
154   !  they are computed from ppdzmin, pphmax, ppkth, ppacr in dom_zgr
155   REAL(wp), PARAMETER ::   ppdzmin = pp_not_used   !: (meters) vertical thickness of the top layer
156   REAL(wp), PARAMETER ::   pphmax  = pp_not_used   !: (meters) Maximum depth of the ocean gdepw(jpk)
157
158#else
159   !!---------------------------------------------------------------------
160   !!   default option  :                                     Empty module
161   !!---------------------------------------------------------------------
162#endif
163
164   !!======================================================================
165END MODULE par_orca_r2
Note: See TracBrowser for help on using the repository browser.