Changeset 778
- Timestamp:
- 2007-12-22T11:30:56+01:00 (16 years ago)
- Location:
- branches/dev_001_GM/NEMO/OPA_SRC
- Files:
-
- 1 added
- 2 edited
- 8 moved
Legend:
- Unmodified
- Added
- Removed
-
branches/dev_001_GM/NEMO/OPA_SRC/par_eel_r2.F90
r772 r778 1 MODULE par_eel_r2 2 !!====================================================================== 3 !! *** par_eel_r2 *** 4 !! Ocean Domain parameter : 2 km resolution cyclic Channel (EEL_R2 configuration) 5 !!====================================================================== 6 !! History : 9.0 ! 2007-11 (G. Madec) Original code from par_EEL_R2.h90 7 !!---------------------------------------------------------------------- 8 !! NEMO/OPA 2.4 , LOCEAN-IPSL (2007) 9 !! $Header: $ 10 !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 11 !!---------------------------------------------------------------------- 12 #if defined key_eel_r2 1 13 !!--------------------------------------------------------------------- 2 !! *** par_EEL_R2.h90 *** 3 !! Ocean Domain : 2 km resolution Channel (EEL_R2 configuration) 14 !! 'key_eel_r2' : EEL configuration : R2 4 15 !!--------------------------------------------------------------------- 5 !!---------------------------------------------------------------------- 6 !! OPA 9.0 , LOCEAN-IPSL (2005) 7 !! $Header$ 8 !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt 9 !!---------------------------------------------------------------------- 10 CHARACTER (len=16) & 11 #if !defined key_agrif 12 , PARAMETER & 16 USE par_kind ! kind parameters 17 18 IMPLICIT NONE 19 PUBLIC 20 21 # if defined key_agrif 22 !------!!-------------------------------------------------------------- 23 ! !! 'key_agrif' : AGRIF 24 !------!!-------------------------------------------------------------- 25 26 ! Configuration, and domain size are not assigned to a parameter value 27 ! as they are different in mother and children models 28 INTEGER :: cp_cfg, jp_cfg !: configuration id (AGRIF case) 29 INTEGER :: jpidta, jpjdta, jpkdta !: input data size (AGRIF case) 30 INTEGER :: jpiglo, jpjglo, jpk, jpizoom, jpjzoom !: domain size and zoom (AGRIF case) 31 INTEGER :: jperio, jpisl, jpnisl !: domain characteristics (AGRIF case) 32 33 # else 34 !------!!-------------------------------------------------------------- 35 ! !! Default : no AGRIF: model parameters 36 !------!!-------------------------------------------------------------- 37 38 ! Configuration name and resolution !!! * GYRE R2 * 39 CHARACTER (len=16) :: cp_cfg = "eel" !: name of the configuration 40 INTEGER :: jp_cfg = 2 !: resolution of the configuration [km] 41 42 ! input data size !!! * size of all input files * 43 INTEGER, PARAMETER :: jpidta = 83 !: 1st lateral dimension ( >= jpiglo ) 44 INTEGER, PARAMETER :: jpjdta = 242 !: 2nd " " ( >= jpjglo ) 45 INTEGER, PARAMETER :: jpkdta = 30 !: number of levels ( >= jpk ) 46 47 48 # if defined key_cfg_1d 49 !------------!!-------------------------------------------------------- 50 ! !! 'key_cfg_1d' : 1D configuration of GYRE_R2 51 !------------!!-------------------------------------------------------- 52 ! global domain size !!! * 1D configuration * 53 INTEGER, PARAMETER :: jpiglo = 3 !: 1st dimension of global domain --> i 54 INTEGER, PARAMETER :: jpjglo = 3 !: 2nd " " --> j 55 INTEGER, PARAMETER :: jpk = jpkdta !: number of vertical levels 56 ! starting position of the zoom 57 INTEGER, PARAMETER :: jpizoom = 16 !: left bottom (i,j) indices of the zoom 58 INTEGER, PARAMETER :: jpjzoom = 11 !: in data domain indices 59 ! Domain characteristics 60 INTEGER, PARAMETER :: jperio = 0 !: lateral cond. type (between 0 and 6) 61 INTEGER, PARAMETER :: jpisl = 0 !: number of islands 62 INTEGER, PARAMETER :: jpnisl = 0 !: maximum number of points per island 63 64 # else 65 !------------!!-------------------------------------------------------- 66 ! !! Default : Full global domain of GYRE_R2 67 !------------!!-------------------------------------------------------- 68 ! global domain size !!! * global domain * 69 INTEGER, PARAMETER :: jpiglo = jpidta !: 1st dimension of global domain --> i 70 INTEGER, PARAMETER :: jpjglo = jpjdta !: 2nd " " --> j 71 INTEGER, PARAMETER :: jpk = jpkdta !: number of vertical levels 72 ! starting position of the zoom 73 INTEGER, PARAMETER :: jpizoom = 1 !: left bottom (i,j) indices of the zoom 74 INTEGER, PARAMETER :: jpjzoom = 1 !: in data domain indices 75 ! Domain characteristics 76 INTEGER, PARAMETER :: jperio = 1 !: lateral cond. type (between 0 and 6) 77 INTEGER, PARAMETER :: jpisl = 1 !: number of islands 78 INTEGER, PARAMETER :: jpnisl = jpiglo !: maximum number of points per island 79 # endif 80 81 # endif 82 83 !!--------------------------------------------------------------------- 84 !! grid parameters for domhgr and domzgr 85 !!--------------------------------------------------------------------- 86 ! Values set to pp_not_used indicates that this parameter is not used in THIS config. 87 ! Values set to pp_to_be_computed indicates that variables will be computed in domzgr 88 REAL(wp), PARAMETER :: pp_not_used = 999999_wp !: default value for "not used" 89 REAL(wp), PARAMETER :: pp_to_be_computed = 0._wp !: default value for "to be computed" 90 91 ! horizontal mesh (domhgr) 92 ! Coefficients associated with the horizontal coordinate system (jphgr_msh /= 0 ) 93 INTEGER, PARAMETER :: jphgr_msh = 3 !: type of horizontal mesh 94 ! ! = 3 beta-plane with regular grid-spacing 95 96 ! ppglam0 , ppgphi0: coordinates of the lower leftmost T point of the grid. 97 ! The mercator grid starts only approximately at gphi0 because 98 ! of the constraint that the equator be a T point. 99 REAL(wp) ,PARAMETER :: ppglam0 = 0.0_wp !: longitude of first raw and column T-point (jphgr_msh=1) 100 REAL(wp) ,PARAMETER :: ppgphi0 = 35.0_wp !: latitude of first raw and column T-point (jphgr_msh=1) 101 ! ! latitude of the Coriolis/Beta parameter (jphgr_msh=2 or 3) 102 REAL(wp) ,PARAMETER :: ppe1_deg = pp_not_used !: zonal grid-spacing (degrees) 103 REAL(wp) ,PARAMETER :: ppe2_deg = pp_not_used !: meridional grid-spacing (degrees) 104 ! 105 REAL(wp) ,PARAMETER :: ppe1_m = 2000.0_wp !: zonal grid-spacing (meters ) 106 REAL(wp) ,PARAMETER :: ppe2_m = 2000.0_wp !: meridional grid-spacing (meters ) 107 108 ! Vertical mesh (domzgr) 109 ! parameter used in the analytical function defining the repartition of the level and their thickness 110 REAL(wp), PARAMETER :: ppsur = -2033.194295283385_wp !: ORCA r4, r2 and r05 coefficients 111 REAL(wp), PARAMETER :: ppa0 = 155.8325369664153_wp !: (default coefficients) 112 REAL(wp), PARAMETER :: ppa1 = 146.3615918601890_wp !: 113 REAL(wp), PARAMETER :: ppkth = 17.28520372419791_wp !: (non dimensional): gives the approximate 114 ! !: layer number above which stretching will 115 ! !: be maximum. Usually of order jpk/2. 116 REAL(wp), PARAMETER :: ppacr = 5.00000000000_wp !: (non dimensional): stretching factor 117 ! !: for the grid. The highest zacr, the smallest 118 ! !: the stretching. 119 ! If both ppa0 ppa1 and ppsur are specified to 0, then 120 ! they are computed from ppdzmin, pphmax, ppkth, ppacr in dom_zgr 121 REAL(wp), PARAMETER :: ppdzmin = pp_not_used !: (meters) vertical thickness of the top layer 122 REAL(wp), PARAMETER :: pphmax = pp_not_used !: (meters) Maximum depth of the ocean gdepw(jpk) 123 124 #else 125 !!--------------------------------------------------------------------- 126 !! default option : Empty module 127 !!--------------------------------------------------------------------- 13 128 #endif 14 :: &15 cp_cfg = "eel" !: name of the configuration16 INTEGER &17 #if !defined key_agrif18 , PARAMETER &19 #endif20 :: &21 jp_cfg = 2 , & !: resolution of the configuration (km)22 129 23 ! data size !!! * size of all the input files * 24 jpidta = 83, & !: 1st horizontal dimension ( >= jpi ) 25 jpjdta = 242, & !: 2nd " " ( >= jpj ) 26 jpkdta = 30, & !: number of levels ( >= jpk ) 27 28 ! global domain size !!! * full domain * 29 jpiglo = jpidta, & !: 1st dimension of global domain --> i 30 jpjglo = jpjdta, & !: 2nd " " --> j 31 jpk = jpkdta, & !: number of vertical levels 32 ! zoom starting position 33 jpizoom = 1 , & !: left bottom (i,j) indices of the zoom 34 jpjzoom = 1 , & !: in data indices 35 36 ! Domain characteristics 37 jperio = 1 , & !: lateral cond. type (between 0 and 6) 38 jpisl = 1 , & !: number of islands 39 jpnisl = jpiglo !: maximum number of points per island 40 41 !! Values set to pp_not_used indicates that this parameter is not used in THIS config. 42 !! Values set to pp_to_be_computed indicates that variables will be computed in domzgr 43 REAL(wp), PARAMETER :: & !: 44 pp_not_used = 999999._wp , & !: ??? 45 pp_to_be_computed = 0._wp !: ??? 46 !! 47 !! Coefficients associated with the horizontal coordinate system (jphgr_msh /= 0 ) 48 !! 49 INTEGER,PARAMETER :: & !: 50 jphgr_msh = 3 !: type of horizontal mesh 51 ! ! = 0 curvilinear coordinate on the sphere 52 ! ! read in coordinate.nc file 53 ! ! = 1 geographical mesh on the sphere 54 ! ! with regular grid-spacing 55 ! ! = 2 f-plane with regular grid-spacing 56 ! ! = 3 beta-plane with regular grid-spacing 57 ! ! = 4 Mercator grid with T/U point at the equator with 58 ! ! isotropic resolution (e1_deg) 59 60 ! ppglam0 , ppgphi0: coordinates of the lower leftmost T point of the grid. 61 ! The mercator grid starts only approximately at gphi0 because 62 ! of the constraint that the equator be a T point. 63 REAL(wp) ,PARAMETER :: & !: 64 ppglam0 = 0.0_wp, & !: longitude of first raw and column T-point (jphgr_msh = 1) 65 ppgphi0 = 35.0_wp, & !: latitude of first raw and column T-point (jphgr_msh = 1) 66 ! ! latitude for the Coriolis or Beta parameter (jphgr_msh = 2 or 3) 67 ppe1_deg = pp_not_used , & !: zonal grid-spacing (degrees) 68 ppe2_deg = pp_not_used , & !: meridional grid-spacing (degrees) 69 ! 70 ppe1_m = 2000.0_wp, & !: zonal grid-spacing (meters ) 71 ppe2_m = 2000.0_wp !: meridional grid-spacing (meters ) 72 !! 73 !! Coefficients associated with the vertical coordinate system 74 !! 75 REAL(wp) & 76 #if !defined key_agrif 77 , PARAMETER & 78 #endif 79 :: & !: 80 & ppsur = -2033.194295283385_wp , & !: Computed in domzgr 81 & ppa0 = 155.8325369664153_wp , & !: 82 & ppa1 = 146.3615918601890_wp , & !: 83 ! 84 & ppkth = 17.28520372419791_wp , & !: (non dimensional): gives the approximate 85 ! !: layer number above which stretching will 86 ! !: be maximum. Usually of order jpk/2. 87 & ppacr = 5.000000000000000_wp !: (non dimensional): stretching factor 88 ! !: for the grid. The highest zacr, the smallest 89 ! !: the stretching. 90 91 !! 92 !! If both ppa0 ppa1 and ppsur are specified to 0, then 93 !! they are computed from ppdzmin, pphmax , ppkth, ppacr in dom_zgr 94 !! 95 REAL(wp), PARAMETER :: & 96 & ppdzmin = pp_not_used , & !: (meters) vertical thickness of the top layer 97 & pphmax = pp_not_used !: (meters) Maximum depth of the ocean gdepw(jpk) 98 !!--------------------------------------------------------------------- 130 !!====================================================================== 131 END MODULE par_eel_r2 -
branches/dev_001_GM/NEMO/OPA_SRC/par_eel_r5.F90
r772 r778 1 MODULE par_eel_r5 2 !!====================================================================== 3 !! *** par_eel_r5 *** 4 !! Ocean Domain parameter : 5 km resolution cyclic Channel (EEL_R5 configuration) 5 !!====================================================================== 6 !! History : 9.0 ! 2007-11 (G. Madec) Original code from par_EEL_R5.h90 7 !!---------------------------------------------------------------------- 8 !! NEMO/OPA 2.4 , LOCEAN-IPSL (2007) 9 !! $Header: $ 10 !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 11 !!---------------------------------------------------------------------- 12 #if defined key_eel_r5 1 13 !!--------------------------------------------------------------------- 2 !! *** par_EEL_R5.h90 *** 3 !! Ocean Domain : 5 km resolution Channel (EEL_R5 configuration) 14 !! 'key_eel_r5' : EEL configuration : R5 4 15 !!--------------------------------------------------------------------- 5 !!---------------------------------------------------------------------- 6 !! OPA 9.0 , LOCEAN-IPSL (2005) 7 !! $Header$ 8 !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt 9 !!---------------------------------------------------------------------- 10 CHARACTER (len=16) & 11 #if !defined key_agrif 12 , PARAMETER & 16 USE par_kind ! kind parameters 17 18 IMPLICIT NONE 19 PUBLIC 20 21 # if defined key_agrif 22 !------!!-------------------------------------------------------------- 23 ! !! 'key_agrif' : AGRIF 24 !------!!-------------------------------------------------------------- 25 26 ! Configuration, and domain size are not assigned to a parameter value 27 ! as they are different in mother and children models 28 INTEGER :: cp_cfg, jp_cfg !: configuration id (AGRIF case) 29 INTEGER :: jpidta, jpjdta, jpkdta !: input data size (AGRIF case) 30 INTEGER :: jpiglo, jpjglo, jpk, jpizoom, jpjzoom !: domain size and zoom (AGRIF case) 31 INTEGER :: jperio, jpisl, jpnisl !: domain characteristics (AGRIF case) 32 33 # else 34 !------!!-------------------------------------------------------------- 35 ! !! Default : no AGRIF: model parameters 36 !------!!-------------------------------------------------------------- 37 38 ! Configuration name and resolution !!! * GYRE R5 * 39 CHARACTER (len=16) :: cp_cfg = "eel" !: name of the configuration 40 INTEGER :: jp_cfg = 5 !: resolution of the configuration [km] 41 42 ! input data size !!! * size of all input files * 43 INTEGER, PARAMETER :: jpidta = 66 !: 1st lateral dimension ( >= jpiglo ) 44 INTEGER, PARAMETER :: jpjdta = 66 !: 2nd " " ( >= jpjglo ) 45 INTEGER, PARAMETER :: jpkdta = 31 !: number of levels ( >= jpk ) 46 47 48 # if defined key_cfg_1d 49 !------------!!-------------------------------------------------------- 50 ! !! 'key_cfg_1d' : 1D configuration of GYRE_R5 51 !------------!!-------------------------------------------------------- 52 ! global domain size !!! * 1D configuration * 53 INTEGER, PARAMETER :: jpiglo = 3 !: 1st dimension of global domain --> i 54 INTEGER, PARAMETER :: jpjglo = 3 !: 2nd " " --> j 55 INTEGER, PARAMETER :: jpk = jpkdta !: number of vertical levels 56 ! starting position of the zoom 57 INTEGER, PARAMETER :: jpizoom = 16 !: left bottom (i,j) indices of the zoom 58 INTEGER, PARAMETER :: jpjzoom = 11 !: in data domain indices 59 ! Domain characteristics 60 INTEGER, PARAMETER :: jperio = 0 !: lateral cond. type (between 0 and 6) 61 INTEGER, PARAMETER :: jpisl = 0 !: number of islands 62 INTEGER, PARAMETER :: jpnisl = 0 !: maximum number of points per island 63 64 # else 65 !------------!!-------------------------------------------------------- 66 ! !! Default : Full global domain of GYRE_R5 67 !------------!!-------------------------------------------------------- 68 ! global domain size !!! * global domain * 69 INTEGER, PARAMETER :: jpiglo = jpidta !: 1st dimension of global domain --> i 70 INTEGER, PARAMETER :: jpjglo = jpjdta !: 2nd " " --> j 71 INTEGER, PARAMETER :: jpk = jpkdta !: number of vertical levels 72 ! starting position of the zoom 73 INTEGER, PARAMETER :: jpizoom = 1 !: left bottom (i,j) indices of the zoom 74 INTEGER, PARAMETER :: jpjzoom = 1 !: in data domain indices 75 ! Domain characteristics 76 INTEGER, PARAMETER :: jperio = 1 !: lateral cond. type (between 0 and 6) 77 INTEGER, PARAMETER :: jpisl = 1 !: number of islands 78 INTEGER, PARAMETER :: jpnisl = jpiglo !: maximum number of points per island 79 # endif 80 81 # endif 82 83 !!--------------------------------------------------------------------- 84 !! grid parameters for domhgr and domzgr 85 !!--------------------------------------------------------------------- 86 ! Values set to pp_not_used indicates that this parameter is not used in THIS config. 87 ! Values set to pp_to_be_computed indicates that variables will be computed in domzgr 88 REAL(wp), PARAMETER :: pp_not_used = 999999_wp !: default value for "not used" 89 REAL(wp), PARAMETER :: pp_to_be_computed = 0._wp !: default value for "to be computed" 90 91 ! horizontal mesh (domhgr) 92 ! Coefficients associated with the horizontal coordinate system (jphgr_msh /= 0 ) 93 INTEGER, PARAMETER :: jphgr_msh = 3 !: type of horizontal mesh 94 ! ! = 3 beta-plane with regular grid-spacing 95 96 ! ppglam0 , ppgphi0: coordinates of the lower leftmost T point of the grid. 97 ! The mercator grid starts only approximately at gphi0 because 98 ! of the constraint that the equator be a T point. 99 REAL(wp) ,PARAMETER :: ppglam0 = 0.0_wp !: longitude of first raw and column T-point (jphgr_msh=1) 100 REAL(wp) ,PARAMETER :: ppgphi0 = 43.436430714_wp !: latitude of first raw and column T-point (jphgr_msh=1) 101 ! ! latitude of the Coriolis/Beta parameter (jphgr_msh=2 or 3) 102 REAL(wp) ,PARAMETER :: ppe1_deg = pp_not_used !: zonal grid-spacing [degrees] 103 REAL(wp) ,PARAMETER :: ppe2_deg = pp_not_used !: meridional grid-spacing [degrees] 104 ! 105 REAL(wp) ,PARAMETER :: ppe1_m = 8000.0_wp !: zonal grid-spacing [meters] 106 REAL(wp) ,PARAMETER :: ppe2_m = 8000.0_wp !: meridional grid-spacing [meters] 107 108 ! Vertical mesh (domzgr) 109 ! parameter used in the analytical function defining the repartition of the level and their thickness 110 REAL(wp), PARAMETER :: ppsur = -4762.96143546300_wp !: ORCA r4, r2 and r05 coefficients 111 REAL(wp), PARAMETER :: ppa0 = 255.58049070440_wp !: (default coefficients) 112 REAL(wp), PARAMETER :: ppa1 = 245.58132232490_wp !: 113 REAL(wp), PARAMETER :: ppkth = 21.43336197938_wp !: (non dimensional): gives the approximate 114 ! !: layer number above which stretching will 115 ! !: be maximum. Usually of order jpk/2. 116 REAL(wp), PARAMETER :: ppacr = 3.00000000000_wp !: (non dimensional): stretching factor 117 ! !: for the grid. The highest zacr, the smallest 118 ! !: the stretching. 119 ! If both ppa0 ppa1 and ppsur are specified to 0, then 120 ! they are computed from ppdzmin, pphmax, ppkth, ppacr in dom_zgr 121 REAL(wp), PARAMETER :: ppdzmin = pp_not_used !: (meters) vertical thickness of the top layer 122 REAL(wp), PARAMETER :: pphmax = pp_not_used !: (meters) Maximum depth of the ocean gdepw(jpk) 123 124 #else 125 !!--------------------------------------------------------------------- 126 !! default option : Empty module 127 !!--------------------------------------------------------------------- 13 128 #endif 14 :: &15 cp_cfg = "eel" !: name of the configuration16 INTEGER &17 #if !defined key_agrif18 , PARAMETER &19 #endif20 :: &21 jp_cfg = 5 , & !: resolution of the configuration (km)22 129 23 ! data size !!! * size of all the input files 24 jpidta = 66 , & !: first horizontal dimension > or = to jpi 25 jpjdta = 66 , & !: second > or = to jpj 26 jpkdta = 31 , & !: number of levels > or = to jpk 27 28 ! total domain size !!! * full domain * 29 jpiglo = jpidta, & !: first dimension of global domain --> i 30 jpjglo = jpjdta, & !: second dimension of global domain --> j 31 jpk = jpkdta, & !: number of vertical levels 32 ! zoom starting position 33 jpizoom = 1 , & !: left bottom (i,j) indices of the zoom 34 jpjzoom = 1 , & !: in data indices 35 36 ! Domain characteristics 37 jperio = 1 , & !: lateral cond. type (between 0 and 6) 38 jpisl = 1 , & !: number of islands 39 jpnisl = jpiglo !: maximum number of points per island 40 41 !! Values set to pp_not_used indicates that this parameter is not used in THIS config. 42 !! Values set to pp_to_be_computed indicates that variables will be computed in domzgr 43 REAL(wp), PARAMETER :: & !: 44 pp_not_used = 999999._wp , & !: 45 pp_to_be_computed = 0._wp !: 46 47 !! Coefficients associated with the horizontal coordinate system (jphgr_msh /= 0 ) 48 49 INTEGER,PARAMETER :: & !: 50 jphgr_msh = 2 !: type of horizontal mesh 51 ! ! = 0 curvilinear coordinate on the sphere 52 ! ! read in coordinate.nc file 53 ! ! = 1 geographical mesh on the sphere 54 ! ! with regular grid-spacing 55 ! ! = 2 f-plane with regular grid-spacing 56 ! ! = 3 beta-plane with regular grid-spacing 57 ! ! = 4 Mercator grid with T/U point at the equator with 58 ! ! isotropic resolution (e1_deg) 59 60 ! ppglam0 , ppgphi0: coordinates of the lower leftmost T point of the grid. 61 ! The mercator grid starts only approximately at gphi0 because 62 ! of the constraint that the equator be a T point. 63 REAL(wp) & 64 #if !defined key_agrif 65 , PARAMETER & 66 #endif 67 :: & !: 68 ppglam0 = 0.0_wp, & !: longitude of first raw and column T-point (jphgr_msh = 1) 69 ppgphi0 = 43.436430714_wp, & !: latitude of first raw and column T-point (jphgr_msh = 1) 70 ! ! latitude for the Coriolis or Beta parameter (jphgr_msh = 2 or 3) 71 ppe1_deg = pp_not_used, & !: zonal grid-spacing (degrees) 72 ppe2_deg = pp_not_used, & !: meridional grid-spacing (degrees) 73 ! 74 ppe1_m = 8000.0_wp, & !: zonal grid-spacing (meters) 75 ppe2_m = 8000.0_wp !: meridional grid-spacing (meters) 76 !! 77 !! Coefficients associated with the vertical coordinate system 78 !! 79 REAL(wp), PARAMETER :: & !: 80 & ppsur = -4762.96143546300_wp , & !: Computed in domzgr, set ppdzmin, pphmax below 81 & ppa0 = 255.58049070440_wp , & !: 82 & ppa1 = 245.58132232490_wp , & !: 83 ! 84 & ppkth = 21.43336197938_wp , & !: (non dimensional): gives the approximate 85 ! !: layer number above which stretching will 86 ! !: be maximum. Usually of order jpk/2. 87 & ppacr = 3.00000000000_wp !: (non dimensional): stretching factor 88 ! !: for the grid. The highest zacr, the smallest 89 ! !: the stretching. 90 91 !! 92 !! If both ppa0 ppa1 and ppsur are specified to 0, then 93 !! they are computed from ppdzmin, pphmax , ppkth, ppacr in dom_zgr 94 !! 95 REAL(wp), PARAMETER :: & !: 96 & ppdzmin = pp_not_used , & !: (meters) vertical thickness of the top layer 97 & pphmax = pp_not_used !: (meters) Maximum depth of the ocean gdepw(jpk) 98 !!--------------------------------------------------------------------- 130 !!====================================================================== 131 END MODULE par_eel_r5 -
branches/dev_001_GM/NEMO/OPA_SRC/par_eel_r6.F90
r772 r778 1 MODULE par_eel_r6 2 !!====================================================================== 3 !! *** par_eel_r6 *** 4 !! Ocean Domain parameter : 6 km resolution cyclic Channel (EEL_R6 configuration) 5 !!====================================================================== 6 !! History : 9.0 ! 2007-11 (G. Madec) Original code from par_EEL_R6.h90 7 !!---------------------------------------------------------------------- 8 !! NEMO/OPA 2.4 , LOCEAN-IPSL (2007) 9 !! $Header: $ 10 !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 11 !!---------------------------------------------------------------------- 12 #if defined key_eel_r6 1 13 !!--------------------------------------------------------------------- 2 !! *** par_EEL_R6.h90 *** 3 !! Ocean Domain : 6 km resolution Channel (EEL_R6 configuration) 14 !! 'key_eel_r6' : EEL configuration : R6 4 15 !!--------------------------------------------------------------------- 5 !!---------------------------------------------------------------------- 6 !! OPA 9.0 , LOCEAN-IPSL (2005) 7 !! $Header$ 8 !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt 9 !!---------------------------------------------------------------------- 10 CHARACTER (len=16) & 11 #if !defined key_agrif 12 , PARAMETER & 16 USE par_kind ! kind parameters 17 18 IMPLICIT NONE 19 PUBLIC 20 21 # if defined key_agrif 22 !------!!-------------------------------------------------------------- 23 ! !! 'key_agrif' : AGRIF 24 !------!!-------------------------------------------------------------- 25 26 ! Configuration, and domain size are not assigned to a parameter value 27 ! as they are different in mother and children models 28 INTEGER :: cp_cfg, jp_cfg !: configuration id (AGRIF case) 29 INTEGER :: jpidta, jpjdta, jpkdta !: input data size (AGRIF case) 30 INTEGER :: jpiglo, jpjglo, jpk, jpizoom, jpjzoom !: domain size and zoom (AGRIF case) 31 INTEGER :: jperio, jpisl, jpnisl !: domain characteristics (AGRIF case) 32 33 # else 34 !------!!-------------------------------------------------------------- 35 ! !! Default : no AGRIF: model parameters 36 !------!!-------------------------------------------------------------- 37 38 ! Configuration name and resolution !!! * GYRE R6 * 39 CHARACTER (len=16) :: cp_cfg = "eel" !: name of the configuration 40 INTEGER :: jp_cfg = 6 !: resolution of the configuration [km] 41 42 ! input data size !!! * size of all input files * 43 INTEGER, PARAMETER :: jpidta = 29 !: 1st lateral dimension ( >= jpiglo ) 44 INTEGER, PARAMETER :: jpjdta = 83 !: 2nd " " ( >= jpjglo ) 45 INTEGER, PARAMETER :: jpkdta = 30 !: number of levels ( >= jpk ) 46 47 48 # if defined key_cfg_1d 49 !------------!!-------------------------------------------------------- 50 ! !! 'key_cfg_1d' : 1D configuration of GYRE_R6 51 !------------!!-------------------------------------------------------- 52 ! global domain size !!! * 1D configuration * 53 INTEGER, PARAMETER :: jpiglo = 3 !: 1st dimension of global domain --> i 54 INTEGER, PARAMETER :: jpjglo = 3 !: 2nd " " --> j 55 INTEGER, PARAMETER :: jpk = jpkdta !: number of vertical levels 56 ! starting position of the zoom 57 INTEGER, PARAMETER :: jpizoom = 16 !: left bottom (i,j) indices of the zoom 58 INTEGER, PARAMETER :: jpjzoom = 11 !: in data domain indices 59 ! Domain characteristics 60 INTEGER, PARAMETER :: jperio = 0 !: lateral cond. type (between 0 and 6) 61 INTEGER, PARAMETER :: jpisl = 0 !: number of islands 62 INTEGER, PARAMETER :: jpnisl = 0 !: maximum number of points per island 63 64 # else 65 !------------!!-------------------------------------------------------- 66 ! !! Default : Full global domain of GYRE_R6 67 !------------!!-------------------------------------------------------- 68 ! global domain size !!! * global domain * 69 INTEGER, PARAMETER :: jpiglo = jpidta !: 1st dimension of global domain --> i 70 INTEGER, PARAMETER :: jpjglo = jpjdta !: 2nd " " --> j 71 INTEGER, PARAMETER :: jpk = jpkdta !: number of vertical levels 72 ! starting position of the zoom 73 INTEGER, PARAMETER :: jpizoom = 1 !: left bottom (i,j) indices of the zoom 74 INTEGER, PARAMETER :: jpjzoom = 1 !: in data domain indices 75 ! Domain characteristics 76 INTEGER, PARAMETER :: jperio = 1 !: lateral cond. type (between 0 and 6) 77 INTEGER, PARAMETER :: jpisl = 1 !: number of islands 78 INTEGER, PARAMETER :: jpnisl = jpiglo !: maximum number of points per island 79 # endif 80 81 # endif 82 83 !!--------------------------------------------------------------------- 84 !! grid parameters for domhgr and domzgr 85 !!--------------------------------------------------------------------- 86 ! Values set to pp_not_used indicates that this parameter is not used in THIS config. 87 ! Values set to pp_to_be_computed indicates that variables will be computed in domzgr 88 REAL(wp), PARAMETER :: pp_not_used = 999999_wp !: default value for "not used" 89 REAL(wp), PARAMETER :: pp_to_be_computed = 0._wp !: default value for "to be computed" 90 91 ! horizontal mesh (domhgr) 92 ! Coefficients associated with the horizontal coordinate system (jphgr_msh /= 0 ) 93 INTEGER, PARAMETER :: jphgr_msh = 3 !: type of horizontal mesh 94 ! ! = 3 beta-plane with regular grid-spacing 95 96 ! ppglam0 , ppgphi0: coordinates of the lower leftmost T point of the grid. 97 ! The mercator grid starts only approximately at gphi0 because 98 ! of the constraint that the equator be a T point. 99 REAL(wp) ,PARAMETER :: ppglam0 = 0.0_wp !: longitude of first raw and column T-point (jphgr_msh=1) 100 REAL(wp) ,PARAMETER :: ppgphi0 = 35.0_wp !: latitude of first raw and column T-point (jphgr_msh=1) 101 ! ! latitude of the Coriolis/Beta parameter (jphgr_msh=2 or 3) 102 REAL(wp) ,PARAMETER :: ppe1_deg = pp_not_used !: zonal grid-spacing (degrees) 103 REAL(wp) ,PARAMETER :: ppe2_deg = pp_not_used !: meridional grid-spacing (degrees) 104 ! 105 REAL(wp) ,PARAMETER :: ppe1_m = 6000.0_wp !: zonal grid-spacing (meters ) 106 REAL(wp) ,PARAMETER :: ppe2_m = 6000.0_wp !: meridional grid-spacing (meters ) 107 108 ! Vertical mesh (domzgr) 109 ! parameter used in the analytical function defining the repartition of the level and their thickness 110 REAL(wp), PARAMETER :: ppsur = -2033.194295283385_wp !: ORCA r4, r2 and r05 coefficients 111 REAL(wp), PARAMETER :: ppa0 = 155.8325369664153_wp !: (default coefficients) 112 REAL(wp), PARAMETER :: ppa1 = 146.3615918601890_wp !: 113 REAL(wp), PARAMETER :: ppkth = 17.28520372419791_wp !: (non dimensional): gives the approximate 114 ! !: layer number above which stretching will 115 ! !: be maximum. Usually of order jpk/2. 116 REAL(wp), PARAMETER :: ppacr = 5.00000000000_wp !: (non dimensional): stretching factor 117 ! !: for the grid. The highest zacr, the smallest 118 ! !: the stretching. 119 ! If both ppa0 ppa1 and ppsur are specified to 0, then 120 ! they are computed from ppdzmin, pphmax, ppkth, ppacr in dom_zgr 121 REAL(wp), PARAMETER :: ppdzmin = pp_not_used !: (meters) vertical thickness of the top layer 122 REAL(wp), PARAMETER :: pphmax = pp_not_used !: (meters) Maximum depth of the ocean gdepw(jpk) 123 124 #else 125 !!--------------------------------------------------------------------- 126 !! default option : Empty module 127 !!--------------------------------------------------------------------- 13 128 #endif 14 :: &15 cp_cfg = "eel" !: name of the configuration16 INTEGER &17 #if !defined key_agrif18 , PARAMETER &19 #endif20 :: &21 jp_cfg = 6 , & !: resolution of the configuration (km)22 129 23 ! data size !!! * size of all the input files * 24 jpidta = 29, & !: 1st lateral dimension ( >= jpi ) 25 jpjdta = 83, & !: 2nd " " ( >= jpj ) 26 jpkdta = 30, & !: number of levels ( >= jpk ) 27 28 ! global domain size !!! * full domain * 29 jpiglo = jpidta, & !: 1st dimension of global domain --> i 30 jpjglo = jpjdta, & !: 2nd " " --> j 31 jpk = jpkdta, & !: number of vertical levels 32 ! starting position of the zoom 33 jpizoom = 1 , & !: left bottom (i,j) indices of the zoom 34 jpjzoom = 1 , & !: in data domain indices 35 36 ! Domain characteristics 37 jperio = 1, & !: lateral cond. type (between 0 and 6) 38 jpisl = 1, & !: number of islands 39 jpnisl = jpiglo !: maximum number of points per island 40 41 !! Values set to pp_not_used indicates that this parameter is not used in THIS config. 42 !! Values set to pp_to_be_computed indicates that variables will be computed in domzgr 43 REAL(wp), PARAMETER :: & !: 44 pp_not_used = 999999._wp , & !: ??? 45 pp_to_be_computed = 0._wp !: ??? 46 47 !! Coefficients associated with the horizontal coordinate system (jphgr_msh /= 0 ) 48 49 INTEGER,PARAMETER :: & !: 50 jphgr_msh = 3 !: type of horizontal mesh 51 ! ! = 0 curvilinear coordinate on the sphere 52 ! ! read in coordinate.nc file 53 ! ! = 1 geographical mesh on the sphere 54 ! ! with regular grid-spacing 55 ! ! = 2 f-plane with regular grid-spacing 56 ! ! = 3 beta-plane with regular grid-spacing 57 ! ! = 4 Mercator grid with T/U point at the equator with 58 ! ! isotropic resolution (e1_deg) 59 60 ! ppglam0 , ppgphi0: coordinates of the lower leftmost T point of the grid. 61 ! The mercator grid starts only approximately at gphi0 because 62 ! of the constraint that the equator be a T point. 63 REAL(wp) & 64 #if !defined key_agrif 65 , PARAMETER & 66 #endif 67 :: & !: 68 ppglam0 = 0.0_wp, & !: longitude of first raw and column T-point (jphgr_msh = 1) 69 ppgphi0 = 35.0_wp, & !: latitude of first raw and column T-point (jphgr_msh = 1) 70 ! ! latitude for the Coriolis or Beta parameter (jphgr_msh = 2 or 3) 71 ppe1_deg = pp_not_used, & !: zonal grid-spacing (degrees) 72 ppe2_deg = pp_not_used, & !: meridional grid-spacing (degrees) 73 ! 74 ppe1_m = 6000.0_wp, & !: zonal grid-spacing (meters ) 75 ppe2_m = 6000.0_wp !: meridional grid-spacing (meters ) 76 77 !! Coefficients associated with the vertical coordinate system 78 79 REAL(wp), PARAMETER :: & !: 80 & ppsur = -2033.194295283385_wp , & !: Computed in domzgr 81 & ppa0 = 155.8325369664153_wp , & !: 82 & ppa1 = 146.3615918601890_wp , & !: 83 ! 84 & ppkth = 17.28520372419791_wp , & !: (non dimensional): gives the approximate 85 ! !: layer number above which stretching will 86 ! !: be maximum. Usually of order jpk/2. 87 & ppacr = 5.000000000000000_wp !: (non dimensional): stretching factor 88 ! !: for the grid. The highest zacr, the smallest 89 ! !: the stretching. 90 91 92 !! If both ppa0 ppa1 and ppsur are specified to 0, then 93 !! they are computed from ppdzmin, pphmax , ppkth, ppacr in dom_zgr 94 !! 95 REAL(wp), PARAMETER :: & !: 96 & ppdzmin = pp_not_used , & !: (meters) vertical thickness of the top layer 97 & pphmax = pp_not_used !: (meters) Maximum depth of the ocean gdepw(jpk) 98 !!--------------------------------------------------------------------- 130 !!====================================================================== 131 END MODULE par_eel_r6 -
branches/dev_001_GM/NEMO/OPA_SRC/par_gyre.F90
r772 r778 1 !!--------------------------------------------------------------------- 2 !! *** par_GYRE.h90 *** 3 !! Ocean Domain : GYRE configuration at 1/jp_cfg degree resolution 4 !!--------------------------------------------------------------------- 1 MODULE par_gyre 2 !!====================================================================== 3 !! *** par_gyre *** 4 !! Ocean Domain parameter : rotated square bassin on a beta-plane at 1/jp_cfg 5 !! degree resolution (GYRE configuration) and a 1D configuration case 6 !! NB: with AGRIF, values are not set as parameters 7 !!====================================================================== 8 !! History : 9.0 ! 2007-11 (G. Madec) Original code from par_GYRE.h90 5 9 !!---------------------------------------------------------------------- 6 !! OPA 9.0 , LOCEAN-IPSL (2005)7 !! $Header $8 !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt10 !! NEMO/OPA 2.4 , LOCEAN-IPSL (2007) 11 !! $Header: $ 12 !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 9 13 !!---------------------------------------------------------------------- 10 CHARACTER (len=16) & 11 #if !defined key_agrif 12 , PARAMETER & 13 #endif 14 :: & 15 cp_cfg = "gyre" !: name of the configuration 16 INTEGER & 17 #if !defined key_agrif 18 , PARAMETER & 19 #endif 20 :: & 21 jp_cfg = 1 , & !: 14 #if defined key_gyre 15 !!---------------------------------------------------------------------- 16 !! 'key_gyre' : GYRE configuration 17 !!---------------------------------------------------------------------- 18 USE par_kind ! kind parameters 22 19 23 ! data size !!! * size of all the input files * 24 jpidta = 30*jp_cfg+2, & !: 1st horizontal dimension ( >= jpi ) 25 jpjdta = 20*jp_cfg+2, & !: 2nd " " ( >= jpj ) 26 jpkdta = 31, & !: number of levels ( >= jpk ) 20 IMPLICIT NONE 21 PUBLIC 27 22 28 ! global domain size !!! * full domain * 29 jpiglo = jpidta, & !: 1st dimension of global domain --> i 30 jpjglo = jpjdta, & !: 2nd " " --> j 31 jpk = jpkdta, & !: number of vertical levels 32 ! zoom starting position 33 jpizoom = 1 , & !: left bottom (i,j) indices of the zoom 34 jpjzoom = 1 , & !: in data indices 23 # if defined key_agrif 24 !------!!-------------------------------------------------------------- 25 ! !! 'key_agrif' : AGRIF 26 !------!!-------------------------------------------------------------- 35 27 36 ! Domain characteristics 37 jperio = 0 , & !: lateral cond. type (between 0 and 6) 38 jpisl = 1 , & !: number of islands 39 jpnisl = jpiglo !: 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) 40 34 41 !! Values set to pp_not_used indicates that this parameter is not used in THIS config. 42 !! Values set to pp_to_be_computed indicates that variables will be computed in domzgr 43 REAL(wp), PARAMETER :: & !: 44 pp_not_used = 999999._wp , & !: ??? 45 pp_to_be_computed = 0._wp !: ??? 46 !! 47 !! Coefficients associated with the horizontal coordinate system (jphgr_msh /= 0 ) 48 !! 49 INTEGER,PARAMETER :: & !: 50 jphgr_msh = 5 !: type of horizontal mesh 51 ! ! = 0 curvilinear coordinate on the sphere 52 ! ! read in coordinate.nc file 53 ! ! = 1 geographical mesh on the sphere 54 ! ! with regular grid-spacing 55 ! ! = 2 f-plane with regular grid-spacing 56 ! ! = 3 beta-plane with regular grid-spacing 57 ! ! = 4 Mercator grid with T/U point at the equator with 58 ! ! isotropic resolution (e1_deg) 59 ! ! =5 beta-plane with regular grid-spacing and rotated domain (GYRE configuration) 35 # else 36 !------!!-------------------------------------------------------------- 37 ! !! Default : no AGRIF: model parameters 38 !------!!-------------------------------------------------------------- 60 39 61 ! ppglam0 , ppgphi0: coordinates of the lower leftmost T point of the grid. 62 ! The mercator grid starts only approximately at gphi0 because 63 ! of the constraint that the equator be a T point. 64 REAL(wp) & 65 #if !defined key_agrif 66 , PARAMETER & 67 #endif 68 :: & !: 69 ppglam0 = 0.0_wp, & !: longitude of first raw and column T-point (jphgr_msh = 1) 70 ppgphi0 = 29.0_wp, & !: latitude of first raw and column T-point (jphgr_msh = 1) 71 ! ! latitude for the Coriolis or Beta parameter (jphgr_msh = 2 or 3) 72 ppe1_deg = pp_not_used , & !: zonal grid-spacing (degrees) 73 ppe2_deg = pp_not_used , & !: meridional grid-spacing (degrees) 74 ! 75 ppe1_m = pp_not_used, & !: zonal grid-spacing (meters ) 76 ppe2_m = pp_not_used !: meridional grid-spacing (meters ) 77 !! 78 !! Coefficients associated with the vertical coordinate system 79 !! 40 ! Configuration name and resolution !!! * GYRE * 41 CHARACTER (len=16), PARAMETER :: cp_cfg = "gyre" !: name of the configuration 42 INTEGER, PARAMETER :: jp_cfg = 1 !: resolution of the configuration (degrees) 43 ! ! control the size of GYRE configurations 80 44 81 REAL(wp), PARAMETER :: & !: 82 & ppsur = -2033.194295283385_wp , & !: 83 & ppa0 = 155.8325369664153_wp , & !: 84 & ppa1 = 146.3615918601890_wp , & !: 85 ! 86 & ppkth = 17.28520372419791_wp , & !: (non dimensional): gives the approximate 87 ! ! layer number above which stretching will 88 ! ! be maximum. Usually of order jpk/2. 89 & ppacr = 5.000000000000000_wp !: (non dimensional): stretching factor 90 ! ! for the grid. The highest zacr, the smallest 91 ! ! the stretching. 45 ! input data size !!! * size of all input files * 46 INTEGER, PARAMETER :: jpidta = 30 * jp_cfg + 2 !: 1st lateral dimension ( >= jpiglo ) 47 INTEGER, PARAMETER :: jpjdta = 20 * jp_cfg + 2 !: 2nd " " ( >= jpjglo ) 48 INTEGER, PARAMETER :: jpkdta = 31 !: number of levels ( >= jpk ) 92 49 93 !! 94 !! If all ppa0 ppa1 and ppsur are specified to 0, then 95 !! they are computed from ppdzmin, pphmax , ppkth, ppacr in dom_zgr 96 !! 97 REAL(wp), PARAMETER :: & !: 98 & ppdzmin = pp_not_used , & !: (meters): depth of the top (first) model layer 99 ! ! depth of second "w" level 100 & pphmax = pp_not_used !: (meters): maximum depth of the ocean 101 ! ! depth of the last "w" level 50 # if defined key_cfg_1d 51 !------------!!-------------------------------------------------------- 52 ! !! 'key_cfg_1d' : 1D configuration of MY_CFG 53 !------------!!-------------------------------------------------------- 54 ! global domain size !!! * 1D configuration * 55 INTEGER, PARAMETER :: jpiglo = 3 !: 1st dimension of global domain --> i 56 INTEGER, PARAMETER :: jpjglo = 3 !: 2nd " " --> j 57 INTEGER, PARAMETER :: jpk = jpkdta !: number of vertical levels 58 ! starting position of the zoom 59 INTEGER, PARAMETER :: jpizoom = 16 !: left bottom (i,j) indices of the zoom 60 INTEGER, PARAMETER :: jpjzoom = 11 !: in data domain indices 61 ! Domain characteristics 62 INTEGER, PARAMETER :: jperio = 0 !: lateral cond. type (between 0 and 6) 63 INTEGER, PARAMETER :: jpisl = 0 !: number of islands 64 INTEGER, PARAMETER :: jpnisl = 0 !: maximum number of points per island 65 66 # else 67 !------------!!-------------------------------------------------------- 68 ! !! Default : Full global domain of GYRE 69 !------------!!-------------------------------------------------------- 70 ! global domain size !!! * global domain * 71 INTEGER, PARAMETER :: jpiglo = jpidta !: 1st dimension of global domain --> i 72 INTEGER, PARAMETER :: jpjglo = jpjdta !: 2nd " " --> j 73 INTEGER, PARAMETER :: jpk = jpkdta !: number of vertical levels 74 ! starting position of the zoom 75 INTEGER, PARAMETER :: jpizoom = 1 !: left bottom (i,j) indices of the zoom 76 INTEGER, PARAMETER :: jpjzoom = 1 !: in data domain indices 77 ! Domain characteristics 78 INTEGER, PARAMETER :: jperio = 0 !: 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 # endif 82 83 # endif 102 84 103 85 !!--------------------------------------------------------------------- 86 !! grid parameters for domhgr and domzgr 87 !!--------------------------------------------------------------------- 88 ! Values set to pp_not_used indicates that this parameter is not used in THIS config. 89 ! Values set to pp_to_be_computed indicates that variables will be computed in domzgr 90 REAL(wp), PARAMETER :: pp_not_used = 999999_wp !: default value for "not used" 91 REAL(wp), PARAMETER :: pp_to_be_computed = 0._wp !: default value for "to be computed" 92 93 ! horizontal mesh (domhgr) 94 ! Coefficients associated with the horizontal coordinate system (jphgr_msh /= 0 ) 95 INTEGER, PARAMETER :: jphgr_msh = 5 !: type of horizontal mesh 96 ! ! = 5 beta-plane with regular grid-spacing and rotated domain 97 98 ! ppglam0 , ppgphi0: coordinates of the lower leftmost T point of the grid. 99 ! The mercator grid starts only approximately at gphi0 because 100 ! of the constraint that the equator be a T point. 101 REAL(wp) ,PARAMETER :: ppglam0 = 0.0_wp !: longitude of first raw and column T-point (jphgr_msh=1) 102 REAL(wp) ,PARAMETER :: ppgphi0 = 29.0_wp !: latitude of first raw and column T-point (jphgr_msh=1) 103 ! ! latitude of the Coriolis/Beta parameter (jphgr_msh=2 or 3) 104 REAL(wp) ,PARAMETER :: ppe1_deg = pp_not_used !: zonal grid-spacing (degrees) 105 REAL(wp) ,PARAMETER :: ppe2_deg = pp_not_used !: meridional grid-spacing (degrees) 106 ! 107 REAL(wp) ,PARAMETER :: ppe1_m = pp_not_used !: zonal grid-spacing (meters ) 108 REAL(wp) ,PARAMETER :: ppe2_m = pp_not_used !: meridional grid-spacing (meters ) 109 110 ! Vertical mesh (domzgr) 111 ! parameter used in the analytical function defining the repartition of the level and their thickness 112 REAL(wp), PARAMETER :: ppsur = -2033.194295283385_wp !: GYRE coefficients 113 REAL(wp), PARAMETER :: ppa0 = 155.8325369664153_wp !: 114 REAL(wp), PARAMETER :: ppa1 = 146.3615918601890_wp !: 115 REAL(wp), PARAMETER :: ppkth = 17.28520372419791_wp !: (non dimensional): gives the approximate 116 ! !: layer number above which stretching will 117 ! !: be maximum. Usually of order jpk/2. 118 REAL(wp), PARAMETER :: ppacr = 5.00000000000_wp !: (non dimensional): stretching factor 119 ! !: for the grid. The highest zacr, the smallest 120 ! !: the stretching. 121 ! If both ppa0 ppa1 and ppsur are specified to 0, then 122 ! they are computed from ppdzmin, pphmax, ppkth, ppacr in dom_zgr 123 REAL(wp), PARAMETER :: ppdzmin = pp_not_used !: vertical thickness of the top layer [meters] 124 REAL(wp), PARAMETER :: pphmax = pp_not_used !: maximum depth of the ocean gdepw(jpk) [meters] 125 126 #else 127 !!--------------------------------------------------------------------- 128 !! default option : Empty module 129 !!--------------------------------------------------------------------- 130 #endif 131 132 !!====================================================================== 133 END MODULE par_gyre -
branches/dev_001_GM/NEMO/OPA_SRC/par_kind.F90
r719 r778 4 4 !! Ocean : define the kind of real for the whole model 5 5 !!====================================================================== 6 !! History : 7 !! 8.5 02/06 (G. Madec) Original code6 !! History : 8.5 2002/06 (G. Madec) Original code 7 !! 9.0 2007/11 (G. Madec) Coding style 8 8 !!---------------------------------------------------------------------- 9 !! OPA 9.0 , LOCEAN-IPSL (2005)10 !! $ Header$11 !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt9 !! NEMO 2.4, LOCEAN-IPSL (2007) 10 !! $Id:$ 11 !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 12 12 !!---------------------------------------------------------------------- 13 13 … … 15 15 PRIVATE 16 16 17 INTEGER, PUBLIC, PARAMETER :: & !: 18 jpbyt = 8 , & !: real size for mpp communications 19 jpbytda = 4 , & !: real size in input data files 4 or 8 20 jpbi3e = 4 !: real size for T3E 17 INTEGER, PUBLIC, PARAMETER :: jpbyt = 8 !: real size for mpp communications 18 INTEGER, PUBLIC, PARAMETER :: jpbytda = 4 !: real size in input data files 4 or 8 19 INTEGER, PUBLIC, PARAMETER :: jpbi3e = 4 !: real size for T3E 21 20 22 21 ! Number model from which the SELECTED_*_KIND are requested: … … 27 26 ! exponent = 37 exponent = 307 28 27 29 INTEGER, PUBLIC, PARAMETER :: &!: Floating point section30 sp = SELECTED_REAL_KIND( 6, 37), &!: single precision (real 4)31 dp = SELECTED_REAL_KIND(12,307), &!: double precision (real 8)32 wp = dp!: working precision28 ! !: Floating point section 29 INTEGER, PUBLIC, PARAMETER :: sp = SELECTED_REAL_KIND( 6, 37) !: single precision (real 4) 30 INTEGER, PUBLIC, PARAMETER :: dp = SELECTED_REAL_KIND(12,307) !: double precision (real 8) 31 INTEGER, PUBLIC, PARAMETER :: wp = dp !: working precision 33 32 34 INTEGER, PUBLIC, PARAMETER :: &!: Integer section35 i4 = SELECTED_INT_KIND(9) , &!: single precision (integer 4)36 i8 = SELECTED_INT_KIND(14)!: double precision (integer 8)33 ! !: Integer section 34 INTEGER, PUBLIC, PARAMETER :: i4 = SELECTED_INT_KIND( 9) !: single precision (integer 4) 35 INTEGER, PUBLIC, PARAMETER :: i8 = SELECTED_INT_KIND(14) !: double precision (integer 8) 37 36 38 37 !!---------------------------------------------------------------------- -
branches/dev_001_GM/NEMO/OPA_SRC/par_oce.F90
r719 r778 4 4 !! Ocean : set the ocean parameters 5 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 !! " ! 05-11 (V. Garnier) Surface pressure gradient organization 6 !! History : - ! 1991 (Imbard, Levy, Madec) Original code 7 !! 1.0 ! 2004-01 (G. Madec, J.-M. Molines) Free form and module 8 !! 2.4 ! 2007-11 (G. Madec) Suppress .h90 + style with AGRIF 10 9 !!---------------------------------------------------------------------- 11 !! OPA 9.0 , LOCEAN-IPSL (2005)12 !! $ Header$13 !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt10 !! NEMO/OPA 2.4 , LOCEAN-IPSL (2007) 11 !! $Id:$ 12 !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 14 13 !!---------------------------------------------------------------------- 15 !! * Modules used 16 USE par_kind ! kind parameters 14 USE par_kind ! kind parameters 15 USE par_orca_r4 ! ORCA R4 configuration 16 USE par_orca_r2 ! ORCA R2 configuration (including 1D or arctic/antarctic zoom) 17 USE par_orca_r05 ! ORCA R05 configuration (including 1D or arctic/antarctic zoom) 18 USE par_orca_r025 ! ORCA R025 configuration (including 1D or arctic/antarctic zoom) 19 USE par_gyre ! GYRE configuration 20 USE par_eel_r2 ! GYRE R2 configuration 21 USE par_eel_r5 ! GYRE R5 configuration 22 USE par_eel_r6 ! GYRE R6 configuration 23 USE par_my_cfg ! MY_CFG user defined configuration (including 1D) 17 24 18 25 IMPLICIT NONE 19 26 PUBLIC 20 27 21 !!----------------------------------------------------------------------22 !! Domain decomposition23 !!----------------------------------------------------------------------24 !! * if we dont use massively parallel computer (parameters jpni=jpnj=1)25 !! so jpiglo=jpi and jpjglo=jpj26 27 #if ! defined key_mpp_dyndist28 INTEGER, PUBLIC, PARAMETER :: & !:29 jpni = 1, & !: number of processors following i30 jpnj = 1, & !: number of processors following j31 jpnij = 1 !: nb of local domain = nb of processors32 ! ! ( <= jpni x jpnj )33 #else34 INTEGER, PUBLIC :: & !35 jpni , & !: number of processors following i36 jpnj , & !: number of processors following j37 jpnij !: nb of local domain = nb of processors38 ! ! ( <= jpni x jpnj )39 #endif40 41 INTEGER, PUBLIC, PARAMETER :: & !:42 jpr2di = 0, & !: number of columns for extra outer halo43 jpr2dj = 0, & !: number of rows for extra outer halo44 jpreci = 1, & !: number of columns for overlap45 jprecj = 1 !: number of rows for overlap46 47 !! Ocean Domain sizes48 !! ------------------49 !! data domain (jpidta,jpjdta)50 !! global or zoom domain (jpiglo,jpjglo)51 !! local domain ( jpi , jpj )52 53 #if defined key_orca_r454 28 !!--------------------------------------------------------------------- 55 !! 'key_orca_r4' : global ocean : ORCA R429 !! Extra halos for mpp computing 56 30 !!--------------------------------------------------------------------- 57 # include "par_ORCA_R4.h90" 58 #elif defined key_orca_r2 59 !!--------------------------------------------------------------------- 60 !! 'key_orca_r2' : global ocean : ORCA R4 61 !!--------------------------------------------------------------------- 62 # include "par_ORCA_R2.h90" 63 #elif defined key_orca_r05 64 !!--------------------------------------------------------------------- 65 !! 'key_orca_r05' : global ocean : ORCA R05 66 !!--------------------------------------------------------------------- 67 # include "par_ORCA_R05.h90" 68 #elif defined key_orca_r025 69 !!--------------------------------------------------------------------- 70 !! 'key_orca_r025' : global ocean : ORCA R025 71 !!--------------------------------------------------------------------- 72 # include "par_ORCA_R025.h90" 73 #elif defined key_eel_r2 74 !!--------------------------------------------------------------------- 75 !! 'key_eel_r2' : channel : EEL R2 76 !!--------------------------------------------------------------------- 77 # include "par_EEL_R2.h90" 78 #elif defined key_eel_r5 79 !!--------------------------------------------------------------------- 80 !! 'key_eel_r5' : channel : EEL R5 81 !!--------------------------------------------------------------------- 82 # include "par_EEL_R5.h90" 83 #elif defined key_eel_r6 84 !!--------------------------------------------------------------------- 85 !! 'key_eel_r6' : channel : EEL R6 86 !!--------------------------------------------------------------------- 87 # include "par_EEL_R6.h90" 88 #elif defined key_gyre 89 !!--------------------------------------------------------------------- 90 !! 'key_gyre' : mid-latitude basin : GYRE 91 !!--------------------------------------------------------------------- 92 # include "par_GYRE.h90" 93 #else 94 !!--------------------------------------------------------------------- 95 !! default option : small closed basin 96 !!--------------------------------------------------------------------- 97 CHARACTER(len=16), PUBLIC, PARAMETER :: & !: 98 cp_cfg = "default" !: name of the configuration 99 INTEGER, PARAMETER :: & !: 100 jp_cfg = 0 , & !: resolution of the configuration 101 102 ! data size !!! * size of all input files * 103 jpidta = 10, & !: 1st lateral dimension ( >= jpi ) 104 jpjdta = 12, & !: 2nd " " ( >= jpj ) 105 jpkdta = 31, & !: number of levels ( >= jpk ) 106 107 ! global or zoom domain size !!! * computational domain * 108 jpiglo = jpidta, & !: 1st dimension of global domain --> i 109 jpjglo = jpjdta, & !: 2nd " " --> j 110 jpk = jpkdta, & !: number of vertical levels 111 ! zoom starting position 112 jpizoom = 1 , & !: left bottom (i,j) indices of the zoom 113 jpjzoom = 1 , & !: in data domain indices 114 115 ! Domain characteristics 116 jperio = 0, & !: lateral cond. type (between 0 and 6) 117 ! ! = 0 closed 118 ! ! = 1 cyclic East-West 119 ! ! = 2 equatorial symmetric 120 ! ! = 3 North fold T-point pivot 121 ! ! = 4 cyclic East-West AND North fold T-point pivot 122 ! ! = 5 North fold F-point pivot 123 ! ! = 6 cyclic East-West AND North fold F-point pivot 124 jpisl = 0, & !: number of islands (rigid-lid only) 125 jpnisl = 0 !: maximum number of points per island 126 127 !! Values set to pp_not_used indicates that this parameter is not used in THIS config. 128 !! Values set to pp_to_be_computed indicates that variables will be computed in domzgr 129 REAL(wp), PARAMETER :: & !: 130 pp_not_used = 999999._wp , & !: 131 pp_to_be_computed = 999999._wp !: 132 133 134 !! Horizontal grid parameters for domhgr 135 !! ===================================== 136 137 INTEGER, PUBLIC, PARAMETER :: & !: 138 jphgr_msh = 0 !: type of horizontal mesh 139 ! ! = 0 curvilinear coordinate on the sphere 140 ! ! read in coordinate.nc file 141 ! ! = 1 geographical mesh on the sphere 142 ! ! with regular grid-spacing 143 ! ! = 2 f-plane with regular grid-spacing 144 ! ! = 3 beta-plane with regular grid-spacing 145 ! ! = 4 Mercator grid with T/U point at the equator with 146 ! ! isotropic resolution (e1_deg) 147 148 REAL(wp) , PUBLIC, PARAMETER :: & !: 149 ppglam0 = 0.0_wp, & !: longitude of first raw and column T-point (jphgr_msh = 1) 150 ppgphi0 = -35.0_wp, & !: latitude of first raw and column T-point (jphgr_msh = 1) 151 ! ! latitude for the Coriolis or Beta parameter (jphgr_msh = 2 or 3) 152 ppe1_deg = 1.0_wp, & !: zonal grid-spacing (degrees) 153 ppe2_deg = 0.5_wp, & !: meridional grid-spacing (degrees) 154 ppe1_m = 5000.0_wp, & !: zonal grid-spacing (degrees) 155 ppe2_m = 5000.0_wp !: meridional grid-spacing (degrees) 156 157 !! Vertical grid parameter for domzgr 158 !! ================================== 159 160 REAL(wp), PUBLIC, PARAMETER :: & !: 161 & ppsur = -4762.96143546300_wp , & !: ORCA r4, r2 and r05 coefficients 162 & ppa0 = 255.58049070440_wp , & !: (default coefficients) 163 & ppa1 = 245.58132232490_wp , & !: 164 & ppkth = 21.43336197938_wp , & !: 165 & ppacr = 3.00000000000_wp !: 166 167 !! If both ppa0 ppa1 and ppsur are specified to 0, then 168 !! they are computed from ppdzmin, pphmax , ppkth, ppacr in dom_zgr 169 170 REAL(wp), PUBLIC, PARAMETER :: & !: 171 & ppdzmin = 10._wp , & !: Minimum vertical spacing 172 & pphmax = 5000._wp !: Maximum depth 173 174 !!--------------------------------------------------------------------- 175 #endif 176 177 !!--------------------------------------------------------------------- 178 !! Domain Matrix size 179 !!--------------------------------------------------------------------- 180 INTEGER & !: 181 #if !defined key_agrif 182 ,PARAMETER & 183 #endif 184 :: & 185 jpi = ( jpiglo-2*jpreci + (jpni-1) ) / jpni + 2*jpreci , & !: first dimension 186 jpj = ( jpjglo-2*jprecj + (jpnj-1) ) / jpnj + 2*jprecj , & !: second dimension 187 jpim1 = jpi-1, & !: inner domain indices 188 jpjm1 = jpj-1, & !: " " 189 jpkm1 = jpk-1, & !: " " 190 jpij = jpi*jpj !: jpi x jpj 31 INTEGER, PUBLIC, PARAMETER :: jpr2di = 0 !: number of columns for extra outer halo (solsor only) 32 INTEGER, PUBLIC, PARAMETER :: jpr2dj = 0 !: number of rows for extra outer halo (solsor only) 33 INTEGER, PUBLIC, PARAMETER :: jpreci = 1 !: number of columns for overlap 34 INTEGER, PUBLIC, PARAMETER :: jprecj = 1 !: number of rows for overlap 191 35 192 36 #if defined key_agrif 193 37 !!--------------------------------------------------------------------- 194 !! Agrif variables38 !! 'key_agrif' : AGRIF 195 39 !!--------------------------------------------------------------------- 196 INTEGER, PUBLIC, PARAMETER :: nbghostcells = 1 197 INTEGER, PUBLIC :: nbcellsx = jpiglo - 2 - 2*nbghostcells 198 INTEGER, PUBLIC :: nbcellsy = jpjglo - 2 - 2*nbghostcells 40 41 ! Configuration, and domain size are not assigned to a parameter value 42 ! as they are different in mother and children models 43 #if defined key_mpp_dyndist 44 INTEGER, PUBLIC :: jpni, jpnj, jpnij !: domain decomposition (AGRIF case) 199 45 #endif 46 INTEGER, PUBLIC :: jpi, jpj, jpim1, jpjm1, jpkm1, jpij !: local domain size (AGRIF case) 47 48 !! AGRIF ghost cells 49 INTEGER, PUBLIC, PARAMETER :: nbghostcells = 1 !: ??? 50 INTEGER, PUBLIC :: nbcellsx = jpiglo - 2 - 2 * nbghostcells !: ??? 51 INTEGER, PUBLIC :: nbcellsy = jpjglo - 2 - 2 * nbghostcells !: ??? 52 53 #else 54 !!--------------------------------------------------------------------- 55 !! Default : no AGRIF: model parameters 56 !!--------------------------------------------------------------------- 57 58 ! Domain decomposition (NO massively parallel computer: jpni=jpnj=1 so jpi=jpiglo and jpj=jpjglo) 59 INTEGER, PUBLIC, PARAMETER :: jpni = 1 !: number of processors following i 60 INTEGER, PUBLIC, PARAMETER :: jpnj = 1 !: number of processors following j 61 INTEGER, PUBLIC, PARAMETER :: jpnij = 1 !: nb of local domain = nb of processors ( <= jpni x jpnj ) 62 63 !! Domain Matrix size on each processor 64 !! data domain (jpidta,jpjdta) defined in par_"config name" modules 65 !! global or zoom domain (jpiglo,jpjglo) defined in par_"config name" modules 66 !! local domain ( jpi , jpj ) defined below (= size of the domain on each processor) 67 INTEGER, PARAMETER :: jpi = ( jpiglo-2*jpreci + (jpni-1) ) / jpni + 2*jpreci !: first dimension 68 INTEGER, PARAMETER :: jpj = ( jpjglo-2*jprecj + (jpnj-1) ) / jpnj + 2*jprecj !: second dimension 69 INTEGER, PARAMETER :: jpim1 = jpi - 1 !: inner domain indices 70 INTEGER, PARAMETER :: jpjm1 = jpj - 1 !: inner domain indices 71 INTEGER, PARAMETER :: jpkm1 = jpk - 1 !: inner domain indices 72 INTEGER, PARAMETER :: jpij = jpi * jpj !: jpi x jpj 73 #endif 74 75 200 76 !!--------------------------------------------------------------------- 201 77 !! Optimization/control flags … … 206 82 LOGICAL, PUBLIC, PARAMETER :: lk_esopa = .FALSE. !: flag to activate the all options 207 83 #endif 208 209 84 #if defined key_vectopt_memory 210 85 LOGICAL, PUBLIC, PARAMETER :: lk_vopt_mem = .TRUE. !: vector optimization flag … … 212 87 LOGICAL, PUBLIC, PARAMETER :: lk_vopt_mem = .FALSE. !: vector optimization flag 213 88 #endif 214 215 89 #if defined key_vectopt_loop 216 90 LOGICAL, PUBLIC, PARAMETER :: lk_vopt_loop = .TRUE. !: vector optimization flag … … 218 92 LOGICAL, PUBLIC, PARAMETER :: lk_vopt_loop = .FALSE. !: vector optimization flag 219 93 #endif 220 221 94 #if defined key_mpp_omp 222 95 LOGICAL, PUBLIC, PARAMETER :: lk_jki = .TRUE. !: j-k-i loop flag -
branches/dev_001_GM/NEMO/OPA_SRC/par_orca_r025.F90
r772 r778 1 MODULE par_orca_r025 2 !!====================================================================== 3 !! *** par_ORCA_R025 *** 4 !! Ocean Domain parameter : 0.25 degrees ORCA global ocean (0RCA_R025 configuration) 5 !! including a 1D configuration case. 6 !! NB: with AGRIF, values are not set as parameters 7 !!====================================================================== 8 !! History : 9.0 ! 2007-11 (G. Madec) Original code from par_ORCA_R025.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_r025 1 15 !!--------------------------------------------------------------------- 2 !! *** par_ORCA_R025.h90 *** 3 !! Ocean Domain : 0.25 degrees resolution global ocean 4 !! (0RCA_R025 configuration) 16 !! 'key_orca_r025' : global ocean : ORCA R025 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 & 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 R025 * 41 CHARACTER (len=16), PARAMETER :: cp_cfg = "orca" !: name of the configuration 42 INTEGER , PARAMETER :: jp_cfg = 025 !: resolution of the configuration (degrees) 43 44 ! input data size !!! * size of all input files * 45 INTEGER, PARAMETER :: jpidta = 1442 !: 1st lateral dimension ( >= jpiglo ) 46 INTEGER, PARAMETER :: jpjdta = 1021 !: 2nd " " ( >= jpjglo ) 47 INTEGER, PARAMETER :: jpkdta = 46 !: number of levels ( >= jpk ) 48 49 # if defined key_cfg_1d 50 !------------!!-------------------------------------------------------- 51 ! !! 'key_cfg_1d' : 1D configuration of ORCA R025 52 !------------!!-------------------------------------------------------- 53 ! global domain size !!! * 1D configuration * 54 INTEGER, PARAMETER :: jpiglo = 3 !: 1st dimension of global domain --> i 55 INTEGER, PARAMETER :: jpjglo = 3 !: 2nd " " --> j 56 INTEGER, PARAMETER :: jpk = jpkdta !: number of vertical levels 57 ! starting position of the zoom 58 INTEGER, PARAMETER :: jpizoom = 61 !: left bottom (i,j) indices of the zoom in data domain indices 59 INTEGER, PARAMETER :: jpjzoom = 110 !: here : (jpizoom,jpjzoom) = (61,110) for (??W,??N) 60 ! Domain characteristics 61 INTEGER, PARAMETER :: jperio = 0 !: lateral cond. type (between 0 and 6) 62 INTEGER, PARAMETER :: jpisl = 18 !: number of islands 63 INTEGER, PARAMETER :: jpnisl = 800 !: maximum number of points per island 64 65 # else 66 !------------!!-------------------------------------------------------- 67 ! !! Default : Full global domain of ORCA R025 68 !------------!!-------------------------------------------------------- 69 ! global domain size !!! * global domain * 70 INTEGER, PARAMETER :: jpiglo = jpidta !: 1st dimension of global domain --> i 71 INTEGER, PARAMETER :: jpjglo = jpjdta !: 2nd " " --> j 72 INTEGER, PARAMETER :: jpk = jpkdta !: number of vertical levels 73 ! starting position of the zoom 74 INTEGER, PARAMETER :: jpizoom = 1 !: left bottom (i,j) indices of the zoom 75 INTEGER, PARAMETER :: jpjzoom = 1 !: in data domain indices 76 ! Domain characteristics 77 INTEGER, PARAMETER :: jperio = 4 !: lateral cond. type (between 0 and 6) 78 INTEGER, PARAMETER :: jpisl = 150 !: number of islands 79 INTEGER, PARAMETER :: jpnisl = 3000 !: maximum number of points per island 80 # endif 81 82 # endif 83 84 !!--------------------------------------------------------------------- 85 !! grid parameters for domhgr and domzgr 86 !!--------------------------------------------------------------------- 87 ! Values set to pp_not_used indicates that this parameter is not used in THIS config. 88 ! Values set to pp_to_be_computed indicates that variables will be computed in domzgr 89 REAL(wp), PARAMETER :: pp_not_used = 999999_wp !: default value for "not used" 90 REAL(wp), PARAMETER :: pp_to_be_computed = 0._wp !: default value for "to be computed" 91 92 ! horizontal mesh (domhgr) 93 ! Coefficients associated with the horizontal coordinate system (jphgr_msh /= 0 ) 94 INTEGER, PARAMETER :: jphgr_msh = 0 !: type of horizontal mesh 95 ! ! = 0 curvilinear coordinate on the sphere read in coordinate.nc file 96 ! ! = 1 geographical mesh on the sphere with regular grid-spacing 97 ! ! = 2 f-plane with regular grid-spacing 98 ! ! = 3 beta-plane with regular grid-spacing 99 ! ! = 4 Mercator grid with T/U point at the equator 100 101 ! ppglam0 , ppgphi0: coordinates of the lower leftmost T point of the grid. 102 ! The mercator grid starts only approximately at gphi0 because 103 ! of the constraint that the equator be a T point. 104 REAL(wp) ,PARAMETER :: ppglam0 = pp_not_used !: longitude of first raw and column T-point (jphgr_msh=1) 105 REAL(wp) ,PARAMETER :: ppgphi0 = pp_not_used !: latitude of first raw and column T-point (jphgr_msh=1) 106 ! ! latitude of the Coriolis/Beta parameter (jphgr_msh=2 or 3) 107 REAL(wp) ,PARAMETER :: ppe1_deg = pp_not_used !: zonal grid-spacing (degrees) 108 REAL(wp) ,PARAMETER :: ppe2_deg = pp_not_used !: meridional grid-spacing (degrees) 109 ! 110 REAL(wp) ,PARAMETER :: ppe1_m = pp_not_used !: zonal grid-spacing (meters ) 111 REAL(wp) ,PARAMETER :: ppe2_m = pp_not_used !: meridional grid-spacing (meters ) 112 113 ! Vertical mesh (domzgr) 114 ! parameter used in the analytical function defining the repartition of the level and their thickness 115 REAL(wp), PARAMETER :: ppsur = pp_to_be_computed !: ORCA r4, r2 and r05 coefficients 116 REAL(wp), PARAMETER :: ppa0 = pp_to_be_computed !: (default coefficients) 117 REAL(wp), PARAMETER :: ppa1 = pp_to_be_computed !: 118 REAL(wp), PARAMETER :: ppkth = 23.563_wp !: (non dimensional): gives the approximate 119 ! !: layer number above which stretching will 120 ! !: be maximum. Usually of order jpk/2. 121 REAL(wp), PARAMETER :: ppacr = 9.00000000000_wp !: (non dimensional): stretching factor 122 ! !: for the grid. The highest zacr, the smallest 123 ! !: the stretching. 124 ! If both ppa0 ppa1 and ppsur are specified to 0, then 125 ! they are computed from ppdzmin, pphmax, ppkth, ppacr in dom_zgr 126 REAL(wp), PARAMETER :: ppdzmin = 6._wp !: (meters) vertical thickness of the top layer 127 REAL(wp), PARAMETER :: pphmax = 5750._wp !: (meters) Maximum depth of the ocean gdepw(jpk) 128 129 #else 130 !!--------------------------------------------------------------------- 131 !! default option : Empty module 132 !!--------------------------------------------------------------------- 14 133 #endif 15 :: &16 cp_cfg = "orca" !: name of the configuration17 INTEGER &18 #if !defined key_agrif19 , PARAMETER &20 #endif21 :: &22 jp_cfg = 025 , & !: resolution of the configuration (degrees)23 ! Original data size24 jpidta = 1442, & !: first horizontal dimension > or = to jpi25 jpjdta = 1021, & !: second > or = to jpj26 jpkdta = 46 , & !: number of levels > or = to jpk27 ! total domain matrix size28 jpiglo = jpidta, & !: first dimension of global domain --> i29 jpjglo = jpjdta, & !: second dimension of global domain --> j30 jpk = jpkdta, & !: number of vertical levels31 ! starting position of the zoom32 jpizoom = 1 , & !: left bottom (i,j) indices of the zoom33 jpjzoom = 1 , & !: in data indices34 ! Domain characteristics35 jperio = 4 , & !: lateral cond. type (between 0 and 6)36 jpisl = 150 , & !: number of islands37 jpnisl = 3000 !: maximum number of points per island38 134 39 !! Values set to pp_not_used indicates that this parameter is not used in THIS config. 40 !! Values set to pp_to_be_computed indicates that variables will be computed in domzgr 41 REAL,PARAMETER :: pp_not_used = 999999_wp , & 42 & pp_to_be_computed = 0._wp 43 !! 44 !! Coefficients associated with the horizontal coordinate system (jphgr_msh /= 0 ) 45 !! 46 INTEGER, PARAMETER :: & ! 47 jphgr_msh = 0 !: type of horizontal mesh 48 ! ! = 0 curvilinear coordinate on the sphere 49 ! ! read in coordinate.nc file 50 ! ! = 1 geographical mesh on the sphere 51 ! ! with regular grid-spacing 52 ! ! = 2 f-plane with regular grid-spacing 53 ! ! = 3 beta-plane with regular grid-spacing 54 ! ! = 4 Mercator grid with T/U point at the equator with 55 ! ! isotropic resolution (e1_deg) 56 57 ! ppglam0 , ppgphi0: coordinates of the lower leftmost T point of the grid. 58 ! The mercator grid starts only approximately at gphi0 because 59 ! of the constraint that the equator be a T point. 60 REAL(wp), PARAMETER :: & ! 61 ppglam0 = pp_not_used, & !: longitude of first raw and column T-point (jphgr_msh = 1) 62 ppgphi0 = pp_not_used, & !: latitude of first raw and column T-point (jphgr_msh = 1) 63 ! ! latitude for the Coriolis or Beta parameter (jphgr_msh = 2 or 3) 64 ppe1_deg = pp_not_used, & !: zonal grid-spacing (degrees) 65 ppe2_deg = pp_not_used, & !: meridional grid-spacing (degrees) 66 ! 67 ppe1_m = pp_not_used, & !: zonal grid-spacing (meters ) 68 ppe2_m = pp_not_used !: meridional grid-spacing (meters ) 69 70 !! Coefficients associated with the vertical coordinate system 71 72 REAL(wp), PARAMETER :: & 73 & ppsur = pp_to_be_computed , & !: Computed in domzgr, set ppdzmin and pphmax below 74 & ppa0 = pp_to_be_computed , & !: " " 75 & ppa1 = pp_to_be_computed , & !: " " 76 ! 77 & ppkth = 23.563_wp , & !: (non dimensional): gives the approximate 78 ! !: layer number above which stretching will 79 ! !: be maximum. Usually of order jpk/2. 80 & ppacr = 9.00000000000_wp !: (non dimensional): stretching factor 81 ! !: for the grid. The highest zacr, the smallest 82 ! !: the stretching. 83 84 !! 85 !! If both ppa0 ppa1 and ppsur are specified to 0, then 86 !! they are computed from ppdzmin, pphmax , ppkth, ppacr in dom_zgr 87 !! 88 REAL(wp), PARAMETER :: & 89 & ppdzmin = 6._wp , & !: (meters) vertical thickness of the top layer 90 & pphmax = 5750._wp !: (meters) Maximum depth of the ocean gdepw(jpk) 91 !!--------------------------------------------------------------------- 135 !!====================================================================== 136 END MODULE par_orca_r025 -
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 -
branches/dev_001_GM/NEMO/OPA_SRC/par_orca_r2.F90
r772 r778 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 1 15 !!--------------------------------------------------------------------- 2 !! *** par_ORCA_R2.h90 *** 3 !! Ocean Domain : 2 degrees resolution global ocean 4 !! (0RCA_R2 configuration) 16 !! 'key_orca_r2' : global ocean : ORCA R2 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 = 2, & !: resolution of the configuration (degrees) 18 USE par_kind ! kind parameters 23 19 24 ! data size !!! * size of all input files * 25 jpidta = 182, & !: 1st lateral dimension ( >= jpiglo ) 26 jpjdta = 149, & !: 2nd " " ( >= jpjglo ) 27 jpkdta = 31 !: number of levels ( >= jpk ) 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 = 50, & !: 2nd " " --> j 38 jpk = jpkdta, & !: number of vertical levels 39 ! zoom starting position 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 = 3 , & !: number of islands 45 jpnisl = 400 !: 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 jpiglo = 142 , & !: 1st dimension of global domain --> i 55 jpjglo = jpjdta-97+1, & !: 2nd " " --> j 56 jpk = jpkdta, & !: number of vertical levels 57 ! zoom starting position 58 jpizoom = 21 , & !: left bottom (i,j) indices of the zoom 59 jpjzoom = 97 , & !: in data domain indices 60 ! Domain characteristics 61 jperio = 3 , & !: lateral cond. type (between 0 and 6) 62 jpisl = 7 , & !: number of islands 63 jpnisl = 400 !: 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) 64 34 65 #elif defined key_cfg_1d 66 ! global domain size !!! * global domain * 67 INTEGER & 68 #if !defined key_agrif 69 , PARAMETER & 70 #endif 71 :: & 72 jpiglo = 3 , & !: 1st dimension of global domain --> i 73 jpjglo = 3 , & !: 2nd " " --> j 74 jpk = jpkdta, & !: number of vertical levels 75 ! starting position of the zoom 76 ! jpizoom = 61 , & !: left bottom (i,j) indices of the zoom 77 ! jpjzoom = 133 , & !: in data domain indices (160W,75N) 78 ! jpizoom = 61 , & !: left bottom (i,j) indices of the zoom 79 ! jpjzoom = 110 , & !: in data domain indices (160W,50N) 80 ! jpizoom = 61 , & !: left bottom (i,j) indices of the zoom 81 ! jpjzoom = 97 , & !: in data domain indices (160W,30N) 82 ! jpizoom = 61 , & !: left bottom (i,j) indices of the zoom 83 ! jpjzoom = 86 , & !: in data domain indices (160W,10N) 84 ! jpizoom = 61 , & !: left bottom (i,j) indices of the zoom 85 ! jpjzoom = 49 , & !: in data domain indices (160W,30S) 86 ! jpizoom = 61 , & !: left bottom (i,j) indices of the zoom 87 ! jpjzoom = 27 , & !: in data domain indices (160W,60S) 88 jpizoom = 61 , & !: left bottom (i,j) indices of the zoom 89 jpjzoom = 7 , & !: in data domain indices (160W,75S) 90 ! Domain characteristics 91 jperio = 0 , & !: lateral cond. type (between 0 and 6) 92 jpisl = 18 , & !: number of islands 93 jpnisl = 800 !: maximum number of points per island 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 94 158 #else 95 ! global domain size !!! * global domain * 96 INTEGER & 97 #if !defined key_agrif 98 , PARAMETER & 99 #endif 100 :: & 101 jpiglo = jpidta, & !: 1st dimension of global domain --> i 102 jpjglo = jpjdta, & !: 2nd " " --> j 103 jpk = jpkdta, & !: number of vertical levels 104 ! starting position of the zoom 105 jpizoom = 1 , & !: left bottom (i,j) indices of the zoom 106 jpjzoom = 1 , & !: in data domain indices 107 ! Domain characteristics 108 jperio = 4 , & !: lateral cond. type (between 0 and 6) 109 jpisl = 18 , & !: number of islands 110 jpnisl = 800 !: maximum number of points per island 111 159 !!--------------------------------------------------------------------- 160 !! default option : Empty module 161 !!--------------------------------------------------------------------- 112 162 #endif 113 163 114 !! Values set to pp_not_used indicates that this parameter is not used in THIS config. 115 !! Values set to pp_to_be_computed indicates that variables will be computed in domzgr 116 REAL(wp), PARAMETER :: & 117 pp_not_used = 999999_wp , & !: 118 pp_to_be_computed = 0._wp !: 119 120 !! Coefficients associated with the horizontal coordinate system (jphgr_msh /= 0 ) 121 122 INTEGER,PARAMETER :: & ! 123 jphgr_msh = 0 !: type of horizontal mesh 124 ! ! = 0 curvilinear coordinate on the sphere 125 ! ! read in coordinate.nc file 126 ! ! = 1 geographical mesh on the sphere 127 ! ! with regular grid-spacing 128 ! ! = 2 f-plane with regular grid-spacing 129 ! ! = 3 beta-plane with regular grid-spacing 130 ! ! = 4 Mercator grid with T/U point at the equator with 131 ! ! isotropic resolution (e1_deg) 132 133 ! ppglam0 , ppgphi0: coordinates of the lower leftmost T point of the grid. 134 ! The mercator grid starts only approximately at gphi0 because 135 ! of the constraint that the equator be a T point. 136 REAL(wp) ,PARAMETER :: & ! 137 ppglam0 = pp_not_used, & !: longitude of first raw and column T-point (jphgr_msh = 1) 138 ppgphi0 = pp_not_used, & !: latitude of first raw and column T-point (jphgr_msh = 1) 139 ! ! latitude for the Coriolis or Beta parameter (jphgr_msh = 2 or 3) 140 ppe1_deg = pp_not_used, & !: zonal grid-spacing (degrees) 141 ppe2_deg = pp_not_used, & !: meridional grid-spacing (degrees) 142 ! 143 ppe1_m = pp_not_used, & !: zonal grid-spacing (meters ) 144 ppe2_m = pp_not_used !: meridional grid-spacing (meters ) 145 146 !! 147 !! Vertical grid parameter for domzgr 148 !! ================================== 149 !! 150 REAL(wp), PARAMETER :: & 151 & ppsur = -4762.96143546300_wp , & !: ORCA r4, r2 and r05 coefficients 152 & ppa0 = 255.58049070440_wp , & !: (default coefficients) 153 & ppa1 = 245.58132232490_wp , & !: 154 & ppkth = 21.43336197938_wp , & !: (non dimensional): gives the approximate 155 ! !: layer number above which stretching will 156 ! !: be maximum. Usually of order jpk/2. 157 & ppacr = 3.00000000000_wp !: (non dimensional): stretching factor 158 ! !: for the grid. The highest zacr, the smallest 159 ! !: the stretching. 160 161 !! 162 !! If both ppa0 ppa1 and ppsur are specified to 0, then 163 !! they are computed from ppdzmin, pphmax , ppkth, ppacr in dom_zgr 164 !! 165 REAL(wp), PARAMETER :: & 166 & ppdzmin = pp_not_used , & !: (meters) vertical thickness of the top layer 167 & pphmax = pp_not_used !: (meters) Maximum depth of the ocean gdepw(jpk) 168 !!--------------------------------------------------------------------- 164 !!====================================================================== 165 END MODULE par_orca_r2 -
branches/dev_001_GM/NEMO/OPA_SRC/par_orca_r4.F90
r772 r778 1 MODULE par_orca_r4 2 !!====================================================================== 3 !! *** par_ORCA_R4 *** 4 !! Ocean Domain parameter : 4 degrees orca global ocean (0RCA_R4 configuration) 5 !! including a 1D configuration case. 6 !! NB: with AGRIF, values are not set as parameters 7 !!====================================================================== 8 !! History : 9.0 ! 2007-11 (G. Madec) Original code from par_ORCA_R4.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_r4 1 15 !!--------------------------------------------------------------------- 2 !! *** par_ORCA_R4.h90 *** 3 !! Ocean Domain : 4 degrees resolution global ocean 4 !! (0RCA_R4 configuration) 16 !! 'key_orca_r4' : global ocean : ORCA R4 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 & 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 R4 * 41 CHARACTER (len=16), PARAMETER :: cp_cfg = "orca" !: name of the configuration 42 INTEGER, PARAMETER :: jp_cfg = 4 !: resolution of the configuration (degrees) 43 44 ! input data size !!! * size of all input files * 45 INTEGER, PARAMETER :: jpidta = 92 !: 1st lateral dimension ( >= jpiglo ) 46 INTEGER, PARAMETER :: jpjdta = 76 !: 2nd " " ( >= jpjglo ) 47 INTEGER, PARAMETER :: jpkdta = 31 !: number of levels ( >= jpk ) 48 49 # if defined key_cfg_1d 50 !------------!!-------------------------------------------------------- 51 ! !! 'key_cfg_1d' : 1D configuration of ORCA R4 52 !------------!!-------------------------------------------------------- 53 ! global domain size !!! * 1D configuration * 54 INTEGER, PARAMETER :: jpiglo = 3 !: 1st dimension of global domain --> i 55 INTEGER, PARAMETER :: jpjglo = 3 !: 2nd " " --> j 56 INTEGER, PARAMETER :: jpk = jpkdta !: number of vertical levels 57 ! starting position of the zoom 58 INTEGER, PARAMETER :: jpizoom = 61 !: left bottom (i,j) indices of the zoom in data domain indices 59 INTEGER, PARAMETER :: jpjzoom = 30 !: here : (jpizoom,jpjzoom) = (61,30) for (??W,??N) 60 ! Domain characteristics 61 INTEGER, PARAMETER :: jperio = 0 !: lateral cond. type (between 0 and 6) 62 INTEGER, PARAMETER :: jpisl = 1 !: number of islands 63 INTEGER, PARAMETER :: jpnisl = 1 !: maximum number of points per island 64 65 # else 66 !------------!!-------------------------------------------------------- 67 ! !! Default : Full global domain of ORCA R4 68 !------------!!-------------------------------------------------------- 69 ! global domain size !!! * global domain * 70 INTEGER, PARAMETER :: jpiglo = jpidta !: 1st dimension of global domain --> i 71 INTEGER, PARAMETER :: jpjglo = jpjdta !: 2nd " " --> j 72 INTEGER, PARAMETER :: jpk = jpkdta !: number of vertical levels 73 ! starting position of the zoom 74 INTEGER, PARAMETER :: jpizoom = 1 !: left bottom (i,j) indices of the zoom 75 INTEGER, PARAMETER :: jpjzoom = 1 !: in data domain indices 76 ! Domain characteristics 77 INTEGER, PARAMETER :: jperio = 4 !: lateral cond. type (between 0 and 6) 78 INTEGER, PARAMETER :: jpisl = 11 !: number of islands 79 INTEGER, PARAMETER :: jpnisl = 400 !: maximum number of points per island 80 # endif 81 82 # endif 83 84 !!--------------------------------------------------------------------- 85 !! grid parameters for domhgr and domzgr 86 !!--------------------------------------------------------------------- 87 ! Values set to pp_not_used indicates that this parameter is not used in THIS config. 88 ! Values set to pp_to_be_computed indicates that variables will be computed in domzgr 89 REAL(wp), PARAMETER :: pp_not_used = 999999_wp !: default value for "not used" 90 REAL(wp), PARAMETER :: pp_to_be_computed = 0._wp !: default value for "to be computed" 91 92 ! horizontal mesh (domhgr) 93 ! Coefficients associated with the horizontal coordinate system (jphgr_msh /= 0 ) 94 INTEGER, PARAMETER :: jphgr_msh = 0 !: type of horizontal mesh 95 ! ! = 0 curvilinear coordinate on the sphere read in coordinate.nc file 96 97 ! ppglam0 , ppgphi0: coordinates of the lower leftmost T-point of the grid. 98 ! The mercator grid starts only approximately at gphi0 because 99 ! of the constraint that the equator is a T-point. 100 REAL(wp) ,PARAMETER :: ppglam0 = pp_not_used !: longitude of first raw and column T-point (jphgr_msh=1) 101 REAL(wp) ,PARAMETER :: ppgphi0 = pp_not_used !: latitude of first raw and column T-point (jphgr_msh=1) 102 ! ! latitude of the Coriolis/Beta parameter (jphgr_msh=2 or 3) 103 REAL(wp) ,PARAMETER :: ppe1_deg = pp_not_used !: zonal grid-spacing (degrees) 104 REAL(wp) ,PARAMETER :: ppe2_deg = pp_not_used !: meridional grid-spacing (degrees) 105 ! 106 REAL(wp) ,PARAMETER :: ppe1_m = pp_not_used !: zonal grid-spacing (meters ) 107 REAL(wp) ,PARAMETER :: ppe2_m = pp_not_used !: meridional grid-spacing (meters ) 108 109 ! Vertical mesh (domzgr) 110 ! parameter used in the analytical function defining the repartition of the level and their thickness 111 REAL(wp), PARAMETER :: ppsur = -4762.96143546300_wp !: ORCA r4, r2 and r05 coefficients 112 REAL(wp), PARAMETER :: ppa0 = 255.58049070440_wp !: (default coefficients) 113 REAL(wp), PARAMETER :: ppa1 = 245.58132232490_wp !: 114 REAL(wp), PARAMETER :: ppkth = 21.43336197938_wp !: (non dimensional): gives the approximate 115 ! !: layer number above which stretching will 116 ! !: be maximum. Usually of order jpk/2. 117 REAL(wp), PARAMETER :: ppacr = 3.00000000000_wp !: (non dimensional): stretching factor 118 ! !: for the grid. The highest zacr, the smallest 119 ! !: the stretching. 120 ! If both ppa0 ppa1 and ppsur are specified to 0, then 121 ! they are computed from ppdzmin, pphmax, ppkth, ppacr in dom_zgr 122 REAL(wp), PARAMETER :: ppdzmin = pp_not_used !: (meters) vertical thickness of the top layer 123 REAL(wp), PARAMETER :: pphmax = pp_not_used !: (meters) Maximum depth of the ocean gdepw(jpk) 124 125 #else 126 !!--------------------------------------------------------------------- 127 !! default option : Empty module 128 !!--------------------------------------------------------------------- 14 129 #endif 15 :: &16 cp_cfg = "orca" !: name of the configuration17 INTEGER &18 #if !defined key_agrif19 , PARAMETER &20 #endif21 :: &22 jp_cfg = 4 , & !: resolution of the configuration (degrees)23 ! Original data size24 jpidta = 92 , & !: first horizontal dimension > or = to jpi25 jpjdta = 76 , & !: second > or = to jpj26 jpkdta = 31 , & !: number of levels > or = to jpk27 ! global domain matrix size28 jpiglo = jpidta, & !: first dimension of global domain --> i29 jpjglo = jpjdta, & !: second dimension of global domain --> j30 jpk = jpkdta, & !: number of vertical levels31 ! starting position of the zoom32 jpizoom = 1 , & !: left bottom (i,j) indices of the zoom33 jpjzoom = 1 , & !: in data indices34 ! Domain characteristics35 jperio = 4 , & !: lateral cond. type (between 0 and 6)36 jpisl = 11 , & !: number of islands37 jpnisl = 800 !: maximum number of points per island38 130 39 !! Values set to pp_not_used indicates that this parameter is not used in THIS config. 40 !! Values set to pp_to_be_computed indicates that variables will be computed in domzgr 41 REAL(wp), PARAMETER :: & 42 pp_not_used = 999999_wp , & !: 43 pp_to_be_computed = 0._wp !: 44 45 !! Coefficients associated with the horizontal coordinate system (jphgr_msh /= 0 ) 46 INTEGER, PARAMETER :: & ! 47 jphgr_msh = 0 !: type of horizontal mesh 48 ! ! = 0 curvilinear coordinate on the sphere 49 ! ! read in coordinate.nc file 50 ! ! = 1 geographical mesh on the sphere 51 ! ! with regular grid-spacing 52 ! ! = 2 f-plane with regular grid-spacing 53 ! ! = 3 beta-plane with regular grid-spacing 54 ! ! = 4 Mercator grid with T/U point at the equator with 55 ! ! isotropic resolution (e1_deg) 56 57 ! ppglam0 , ppgphi0: coordinates of the lower leftmost T point of the grid. 58 ! The mercator grid starts only approximately at gphi0 because 59 ! of the constraint that the equator be a T point. 60 REAL(wp) , PARAMETER :: & ! 61 ppglam0 = pp_not_used, & !: longitude of first raw and column T-point (jphgr_msh = 1) 62 ppgphi0 = pp_not_used, & !: latitude of first raw and column T-point (jphgr_msh = 1) 63 ! ! latitude for the Coriolis or Beta parameter (jphgr_msh = 2 or 3) 64 ppe1_deg = pp_not_used, & !: zonal grid-spacing (degrees) 65 ppe2_deg = pp_not_used, & !: meridional grid-spacing (degrees) 66 ! 67 ppe1_m = pp_not_used, & !: zonal grid-spacing (meters ) 68 ppe2_m = pp_not_used !: meridional grid-spacing (meters ) 69 70 71 !! Vertical grid parameter for domzgr 72 !! ================================== 73 74 REAL(wp), PARAMETER :: & 75 & ppsur = -4762.96143546300_wp , & !: ORCA r4, r2 and r05 coefficients 76 & ppa0 = 255.58049070440_wp , & !: (default coefficients) 77 & ppa1 = 245.58132232490_wp , & !: 78 & ppkth = 21.43336197938_wp , & !: (non dimensional): gives the approximate 79 ! !: layer number above which stretching will 80 ! !: be maximum. Usually of order jpk/2. 81 & ppacr = 3.00000000000_wp !: (non dimensional): stretching factor 82 ! !: for the grid. The highest zacr, the smallest 83 ! !: the stretching. 84 85 !! If both ppa0 ppa1 and ppsur are specified to 0, then 86 !! they are computed from ppdzmin, pphmax , ppkth, ppacr in dom_zgr 87 88 REAL(wp), PARAMETER :: & 89 & ppdzmin = pp_not_used , & !: (meters) vertical thickness of the top layer 90 & pphmax = pp_not_used !: (meters) Maximum depth of the ocean gdepw(jpk) 91 !!--------------------------------------------------------------------- 131 !!====================================================================== 132 END MODULE par_orca_r4
Note: See TracChangeset
for help on using the changeset viewer.