1 | MODULE 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 | !!====================================================================== |
---|
165 | END MODULE par_orca_r2 |
---|