Changeset 778 for branches/dev_001_GM/NEMO/OPA_SRC/par_orca_r05.F90
- Timestamp:
- 2007-12-22T11:30:56+01:00 (16 years ago)
- File:
-
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
branches/dev_001_GM/NEMO/OPA_SRC/par_orca_r05.F90
r772 r778 1 MODULE par_ORCA_R05 2 !!====================================================================== 3 !! *** par_ORCA_R05 *** 4 !! Ocean Domain parameter : 0.5 degrees orca global ocean (0RCA_R05 configuration) 5 !! including antarctic, arctic or 1D configurations 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_R05.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_r05 1 15 !!--------------------------------------------------------------------- 2 !! *** par_ORCA_R05.h90 *** 3 !! Ocean Domain : 0.5 degrees resolution global ocean 4 !! (0RCA_R05 configuration) 16 !! 'key_orca_r05' : global ocean : ORCA R05 5 17 !!--------------------------------------------------------------------- 6 !!---------------------------------------------------------------------- 7 !! OPA 9.0 , LOCEAN-IPSL (2005) 8 !! $Header$ 9 !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt 10 !!---------------------------------------------------------------------- 11 CHARACTER (len=16) & 12 #if !defined key_agrif 13 , PARAMETER & 14 #endif 15 :: & 16 cp_cfg = "orca" !: name of the configuration 17 INTEGER & 18 #if !defined key_agrif 19 , PARAMETER & 20 #endif 21 :: & 22 jp_cfg = 05 , & !: resolution of the configuration (degrees) 18 USE par_kind ! kind parameters 23 19 24 ! data size !!! * size of all the input files * 25 jpidta = 722, & !: 1st lateral dimension > or = to jpiglo 26 jpjdta = 511, & !: 2nd " " > or = to jpjglo 27 jpkdta = 31 !: number of levels > or = to jpkglo 20 IMPLICIT NONE 21 PUBLIC 28 22 29 #if defined key_antarctic 30 ! zoom domain size !!! * antarctic zoom * 31 INTEGER & 32 #if !defined key_agrif 33 , PARAMETER & 34 #endif 35 :: & 36 jpiglo = jpidta, & !: 1st dimension of global domain --> i 37 jpjglo = 187 , & !: 2nd " " --> j 38 jpk = jpkdta, & !: number of vertical levels 39 ! starting position of the zoom 40 jpizoom = 1 , & !: left bottom (i,j) indices of the zoom 41 jpjzoom = 1 , & !: in data domain indices 42 ! Domain characteristics 43 jperio = 1 , & !: lateral cond. type (between 0 and 6) 44 jpisl = 1 , & !: number of islands 45 jpnisl = 1 !: maximum number of points per island 23 # if defined key_agrif 24 !------!!-------------------------------------------------------------- 25 ! !! 'key_agrif' : AGRIF 26 !------!!-------------------------------------------------------------- 46 27 47 #elif defined key_arctic 48 ! zoom domain size !!! * arctic zoom * 49 INTEGER & 50 #if !defined key_agrif 51 , PARAMETER & 52 #endif 53 :: & 54 ! zoom domain size !!! * arctic zoom * 55 jpiglo = 562, & !: 1st dimension of global domain --> i 56 jpjglo = jpjdta-301+1,& !: 2nd " " --> j 57 jpk = jpkdta, & !: number of vertical levels 58 ! zoom starting position 59 jpizoom = 81 , & !: left bottom (i,j) indices of the zoom 60 jpjzoom = 301 , & !: in data domain indices 61 ! Domain characteristics 62 jperio = 5 , & !: lateral cond. type (between 0 and 6) 63 jpisl = 1 , & !: number of islands 64 jpnisl = 1 !: maximum number of points per island 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 R05 * 41 CHARACTER (len=16), PARAMETER :: cp_cfg = "orca" !: name of the configuration 42 INTEGER , PARAMETER :: jp_cfg = 05 !: resolution of the configuration (degrees) 43 44 ! input data size !!! * size of all input files * 45 INTEGER, PARAMETER :: jpidta = 722 !: 1st lateral dimension ( >= jpiglo ) 46 INTEGER, PARAMETER :: jpjdta = 511 !: 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 R05 53 !------------!!-------------------------------------------------------- 54 ! zoom domain size !!! * antarctic zoom * 55 INTEGER, PARAMETER :: jpiglo = jpidta !: 1st dimension of global domain --> i 56 INTEGER, PARAMETER :: jpjglo = 187 !: 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 = 1 !: number of islands 64 INTEGER, PARAMETER :: jpnisl = 1 !: maximum number of points per island 65 66 # elif defined key_arctic 67 !------------!!-------------------------------------------------------- 68 ! !! 'key_arctic' : artic zoom of ORCA R05 69 !------------!!-------------------------------------------------------- 70 ! zoom domain size !!! * arctic zoom * 71 INTEGER, PARAMETER :: jpiglo = 562 !: 1st dimension of global domain --> i 72 INTEGER, PARAMETER :: jpjglo = jpjdta - 301 + 1 !: 2nd " " --> j 73 INTEGER, PARAMETER :: jpk = jpkdta !: number of vertical levels 74 ! zoom starting position 75 INTEGER, PARAMETER :: jpizoom = 81 !: left bottom (i,j) indices of the zoom 76 INTEGER, PARAMETER :: jpjzoom = 301 !: in data domain indices 77 ! Domain characteristics 78 INTEGER, PARAMETER :: jperio = 5 !: lateral cond. type (between 0 and 6) 79 INTEGER, PARAMETER :: jpisl = 1 !: number of islands 80 INTEGER, PARAMETER :: jpnisl = 1 !: maximum number of points per island 81 82 # elif defined key_cfg_1d 83 !------------!!-------------------------------------------------------- 84 ! !! 'key_cfg_1d' : 1D configuration of ORCA R05 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 (??W,??S) 93 ! Domain characteristics 94 INTEGER, PARAMETER :: jperio = 0 !: lateral cond. type (between 0 and 6) 95 INTEGER, PARAMETER :: jpisl = 1 !: number of islands 96 INTEGER, PARAMETER :: jpnisl = 1 !: maximum number of points per island 97 98 # else 99 !------------!!-------------------------------------------------------- 100 ! !! Default : Full global domain of ORCA R05 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 = 6 !: lateral cond. type (between 0 and 6) 111 INTEGER, PARAMETER :: jpisl = 79 !: number of islands 112 INTEGER, PARAMETER :: jpnisl = 2000 !: 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) 65 157 66 158 #else 67 ! global domain size !!! * global domain * 68 INTEGER & 69 #if !defined key_agrif 70 , PARAMETER & 71 #endif 72 :: & 73 jpiglo = jpidta, & !: 1st dimension of global domain --> i 74 jpjglo = jpjdta, & !: 2nd " " --> j 75 jpk = jpkdta, & !: number of vertical levels 76 ! zoom starting position 77 jpizoom = 1 , & !: left bottom (i,j) indices of the zoom 78 jpjzoom = 1 , & !: in data domain indices 79 ! Domain characteristics 80 jperio = 6 , & !: lateral cond. type (between 0 and 6) 81 jpisl = 79 , & !: number of islands 82 jpnisl = 2000 !: maximum number of points per island 159 !!--------------------------------------------------------------------- 160 !! default option : Empty module 161 !!--------------------------------------------------------------------- 83 162 #endif 84 163 85 !! Values set to pp_not_used indicates that this parameter is not used in THIS config. 86 !! Values set to pp_to_be_computed indicates that variables will be computed in domzgr 87 REAL(wp), PARAMETER :: & 88 pp_not_used = 999999._wp , & !: 89 pp_to_be_computed = 0._wp !: 90 91 !! Coefficients associated with the horizontal coordinate system (jphgr_msh /= 0 ) 92 93 INTEGER, PARAMETER :: & ! 94 jphgr_msh = 0 !: type of horizontal mesh 95 ! ! = 0 curvilinear coordinate on the sphere 96 ! ! read in coordinate.nc file 97 ! ! = 1 geographical mesh on the sphere 98 ! ! with regular grid-spacing 99 ! ! = 2 f-plane with regular grid-spacing 100 ! ! = 3 beta-plane with regular grid-spacing 101 ! ! = 4 Mercator grid with T/U point at the equator with 102 ! ! isotropic resolution (e1_deg) 103 104 ! ppglam0 , ppgphi0: coordinates of the lower leftmost T point of the grid. 105 ! The mercator grid starts only approximately at gphi0 because 106 ! of the constraint that the equator be a T point. 107 REAL(wp) , PARAMETER :: & ! 108 ppglam0 = pp_not_used, & !: longitude of first raw and column T-point (jphgr_msh = 1) 109 ppgphi0 = pp_not_used, & !: latitude of first raw and column T-point (jphgr_msh = 1) 110 ! ! latitude for the Coriolis or Beta parameter (jphgr_msh = 2 or 3) 111 ppe1_deg = pp_not_used, & !: zonal grid-spacing (degrees) 112 ppe2_deg = pp_not_used, & !: meridional grid-spacing (degrees) 113 ! 114 ppe1_m = pp_not_used, & !: zonal grid-spacing (meters ) 115 ppe2_m = pp_not_used !: meridional grid-spacing (meters ) 116 117 !! 118 !! Vertical grid parameter for domzgr 119 !! ===================================== 120 !! 121 REAL(wp), PARAMETER :: & 122 & ppsur = -4762.96143546300_wp , & !: ORCA r4, r2 and r05 coefficients 123 & ppa0 = 255.58049070440_wp , & !: (default coefficients) 124 & ppa1 = 245.58132232490_wp , & !: 125 & ppkth = 21.43336197938_wp , & !: (non dimensional): gives the approximate 126 ! !: layer number above which stretching will 127 ! !: be maximum. Usually of order jpk/2. 128 & ppacr = 3.00000000000_wp !: (non dimensional): stretching factor 129 ! !: for the grid. The highest zacr, the smallest 130 ! !: the stretching. 131 132 !! 133 !! If both ppa0 ppa1 and ppsur are specified to 0, then 134 !! they are computed from ppdzmin, pphmax , ppkth, ppacr in dom_zgr 135 !! 136 REAL(wp), PARAMETER :: & 137 & ppdzmin = pp_not_used , & !: (meters) vertical thickness of the top layer 138 & pphmax = pp_not_used !: (meters) Maximum depth of the ocean gdepw(jpk) 139 !!--------------------------------------------------------------------- 164 !!====================================================================== 165 END MODULE par_ORCA_R05
Note: See TracChangeset
for help on using the changeset viewer.