MODULE par_orca_r2 !!====================================================================== !! *** par_orca_r2 *** !! Ocean Domain parameter : 2 degrees orca global ocean (0RCA_R2 configuration) !! including antarctic, arctic or 1D configuration cases. !! NB: with AGRIF, values are not set as parameters !!====================================================================== !! History : 9.0 ! 2007-11 (G. Madec) Original code from par_ORCA_R2.h90 !!---------------------------------------------------------------------- !! NEMO/OPA 2.4 , LOCEAN-IPSL (2007) !! $Id$ !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) !!---------------------------------------------------------------------- #if defined key_orca_r2 !!--------------------------------------------------------------------- !! 'key_orca_r2' : global ocean : ORCA R2 !!--------------------------------------------------------------------- USE par_kind ! kind parameters IMPLICIT NONE PUBLIC # if defined key_agrif !------!!-------------------------------------------------------------- ! !! 'key_agrif' : AGRIF !------!!-------------------------------------------------------------- ! Configuration, and domain size are not assigned to a parameter value ! as they are different in mother and children models INTEGER :: cp_cfg, jp_cfg !: configuration id (AGRIF case) INTEGER :: jpidta, jpjdta, jpkdta !: input data size (AGRIF case) INTEGER :: jpiglo, jpjglo, jpk, jpizoom, jpjzoom !: domain size and zoom (AGRIF case) INTEGER :: jperio, jpisl, jpnisl !: domain characteristics (AGRIF case) # else !------!!-------------------------------------------------------------- ! !! Default : no AGRIF: model parameters !------!!-------------------------------------------------------------- ! Configuration name and resolution !!! * ORCA R2 * CHARACTER (len=16), PARAMETER :: cp_cfg = "orca" !: name of the configuration INTEGER , PARAMETER :: jp_cfg = 2 !: resolution of the configuration (degrees) ! input data size !!! * size of all input files * INTEGER, PARAMETER :: jpidta = 182 !: 1st lateral dimension ( >= jpiglo ) INTEGER, PARAMETER :: jpjdta = 149 !: 2nd " " ( >= jpjglo ) INTEGER, PARAMETER :: jpkdta = 31 !: number of levels ( >= jpk ) # if defined key_antarctic !------------!!-------------------------------------------------------- ! !! 'key_antarctic' : antartic zoom of ORCA R2 !------------!!-------------------------------------------------------- ! zoom domain size !!! * antarctic zoom * INTEGER, PARAMETER :: jpiglo = jpidta !: 1st dimension of global domain --> i INTEGER, PARAMETER :: jpjglo = 50 !: 2nd " " --> j INTEGER, PARAMETER :: jpk = jpkdta !: number of vertical levels ! zoom starting position INTEGER, PARAMETER :: jpizoom = 1 !: left bottom (i,j) indices of the zoom INTEGER, PARAMETER :: jpjzoom = 1 !: in data domain indices ! Domain characteristics INTEGER, PARAMETER :: jperio = 1 !: lateral cond. type (between 0 and 6) INTEGER, PARAMETER :: jpisl = 3 !: number of islands INTEGER, PARAMETER :: jpnisl = 400 !: maximum number of points per island # elif defined key_arctic !------------!!-------------------------------------------------------- ! !! 'key_arctic' : artic zoom of ORCA R2 !------------!!-------------------------------------------------------- ! zoom domain size !!! * arctic zoom * INTEGER, PARAMETER :: jpiglo = 142 !: 1st dimension of global domain --> i INTEGER, PARAMETER :: jpjglo = jpjdta - 97 + 1 !: 2nd " " --> j INTEGER, PARAMETER :: jpk = jpkdta !: number of vertical levels ! zoom starting position INTEGER, PARAMETER :: jpizoom = 21 !: left bottom (i,j) indices of the zoom INTEGER, PARAMETER :: jpjzoom = 97 !: in data domain indices ! Domain characteristics INTEGER, PARAMETER :: jperio = 3 !: lateral cond. type (between 0 and 6) INTEGER, PARAMETER :: jpisl = 7 !: number of islands INTEGER, PARAMETER :: jpnisl = 400 !: maximum number of points per island # elif defined key_cfg_1d !------------!!-------------------------------------------------------- ! !! 'key_cfg_1d' : 1D configuration of ORCA R2 !------------!!-------------------------------------------------------- ! global domain size !!! * 1D configuration * INTEGER, PARAMETER :: jpiglo = 3 !: 1st dimension of global domain --> i INTEGER, PARAMETER :: jpjglo = 3 !: 2nd " " --> j INTEGER, PARAMETER :: jpk = jpkdta !: number of vertical levels ! starting position of the zoom INTEGER, PARAMETER :: jpizoom = 61 !: left bottom (i,j) indices of the zoom in data domain indices INTEGER, PARAMETER :: jpjzoom = 110 !: here : (jpizoom,jpjzoom) = (61,110) for (160W,50N) ! Domain characteristics INTEGER, PARAMETER :: jperio = 0 !: lateral cond. type (between 0 and 6) INTEGER, PARAMETER :: jpisl = 18 !: number of islands INTEGER, PARAMETER :: jpnisl = 800 !: maximum number of points per island # else !------------!!-------------------------------------------------------- ! !! Default : Full global domain of ORCA R2 !------------!!-------------------------------------------------------- ! global domain size !!! * global domain * INTEGER, PARAMETER :: jpiglo = jpidta !: 1st dimension of global domain --> i INTEGER, PARAMETER :: jpjglo = jpjdta !: 2nd " " --> j INTEGER, PARAMETER :: jpk = jpkdta !: number of vertical levels ! starting position of the zoom INTEGER, PARAMETER :: jpizoom = 1 !: left bottom (i,j) indices of the zoom INTEGER, PARAMETER :: jpjzoom = 1 !: in data domain indices ! Domain characteristics INTEGER, PARAMETER :: jperio = 4 !: lateral cond. type (between 0 and 6) INTEGER, PARAMETER :: jpisl = 18 !: number of islands INTEGER, PARAMETER :: jpnisl = 800 !: maximum number of points per island # endif # endif !!--------------------------------------------------------------------- !! grid parameters for domhgr and domzgr !!--------------------------------------------------------------------- ! Values set to pp_not_used indicates that this parameter is not used in THIS config. ! Values set to pp_to_be_computed indicates that variables will be computed in domzgr REAL(wp), PARAMETER :: pp_not_used = 999999_wp !: default value for "not used" REAL(wp), PARAMETER :: pp_to_be_computed = 0._wp !: default value for "to be computed" ! horizontal mesh (domhgr) ! Coefficients associated with the horizontal coordinate system (jphgr_msh /= 0 ) INTEGER, PARAMETER :: jphgr_msh = 0 !: type of horizontal mesh ! ! = 0 curvilinear coordinate on the sphere read in coordinate.nc file ! ppglam0 , ppgphi0: coordinates of the lower leftmost T-point of the grid. ! The mercator grid starts only approximately at gphi0 because ! of the constraint that the equator is a T-point. REAL(wp) ,PARAMETER :: ppglam0 = pp_not_used !: longitude of first raw and column T-point (jphgr_msh=1) REAL(wp) ,PARAMETER :: ppgphi0 = pp_not_used !: latitude of first raw and column T-point (jphgr_msh=1) ! ! latitude of the Coriolis/Beta parameter (jphgr_msh=2 or 3) REAL(wp) ,PARAMETER :: ppe1_deg = pp_not_used !: zonal grid-spacing (degrees) REAL(wp) ,PARAMETER :: ppe2_deg = pp_not_used !: meridional grid-spacing (degrees) ! REAL(wp) ,PARAMETER :: ppe1_m = pp_not_used !: zonal grid-spacing (meters ) REAL(wp) ,PARAMETER :: ppe2_m = pp_not_used !: meridional grid-spacing (meters ) ! Vertical mesh (domzgr) ! parameter used in the analytical function defining the repartition of the level and their thickness REAL(wp), PARAMETER :: ppsur = -4762.96143546300_wp !: ORCA r4, r2 and r05 coefficients REAL(wp), PARAMETER :: ppa0 = 255.58049070440_wp !: (default coefficients) REAL(wp), PARAMETER :: ppa1 = 245.58132232490_wp !: REAL(wp), PARAMETER :: ppkth = 21.43336197938_wp !: (non dimensional): gives the approximate ! !: layer number above which stretching will ! !: be maximum. Usually of order jpk/2. REAL(wp), PARAMETER :: ppacr = 3.00000000000_wp !: (non dimensional): stretching factor ! !: for the grid. The highest zacr, the smallest ! !: the stretching. ! If both ppa0 ppa1 and ppsur are specified to 0, then ! they are computed from ppdzmin, pphmax, ppkth, ppacr in dom_zgr REAL(wp), PARAMETER :: ppdzmin = pp_not_used !: (meters) vertical thickness of the top layer REAL(wp), PARAMETER :: pphmax = pp_not_used !: (meters) Maximum depth of the ocean gdepw(jpk) #else !!--------------------------------------------------------------------- !! default option : Empty module !!--------------------------------------------------------------------- #endif !!====================================================================== END MODULE par_orca_r2