[778] | 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 |
---|
[3] | 15 | !!--------------------------------------------------------------------- |
---|
[778] | 16 | !! 'key_orca_r2' : global ocean : ORCA R2 |
---|
[3] | 17 | !!--------------------------------------------------------------------- |
---|
[778] | 18 | USE par_kind ! kind parameters |
---|
[3] | 19 | |
---|
[778] | 20 | IMPLICIT NONE |
---|
| 21 | PUBLIC |
---|
[3] | 22 | |
---|
[778] | 23 | # if defined key_agrif |
---|
| 24 | !------!!-------------------------------------------------------------- |
---|
| 25 | ! !! 'key_agrif' : AGRIF |
---|
| 26 | !------!!-------------------------------------------------------------- |
---|
[3] | 27 | |
---|
[778] | 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) |
---|
[3] | 34 | |
---|
[778] | 35 | # else |
---|
| 36 | !------!!-------------------------------------------------------------- |
---|
| 37 | ! !! Default : no AGRIF: model parameters |
---|
| 38 | !------!!-------------------------------------------------------------- |
---|
[389] | 39 | |
---|
[778] | 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) |
---|
[3] | 43 | |
---|
[778] | 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 | |
---|
[3] | 49 | |
---|
[778] | 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 |
---|
[3] | 65 | |
---|
[778] | 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 |
---|
[3] | 81 | |
---|
[778] | 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 |
---|
[3] | 114 | |
---|
[778] | 115 | # endif |
---|
[3] | 116 | |
---|
| 117 | !!--------------------------------------------------------------------- |
---|
[778] | 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 |
---|