New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 778 – NEMO

Changeset 778


Ignore:
Timestamp:
2007-12-22T11:30:56+01:00 (16 years ago)
Author:
gm
Message:

dev_001_GM - par_oce evolution: suppress the par_...h90 and create new module for all ocean configuration -compilation OK

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  
     1MODULE 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 
    113   !!--------------------------------------------------------------------- 
    2    !!                     ***  par_EEL_R2.h90  *** 
    3    !!   Ocean Domain : 2 km resolution Channel (EEL_R2 configuration) 
     14   !!   'key_eel_r2'   :                            EEL configuration : R2 
    415   !!--------------------------------------------------------------------- 
    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   !!--------------------------------------------------------------------- 
    13128#endif 
    14       ::    &   
    15       cp_cfg = "eel"            !: name of the configuration 
    16    INTEGER     & 
    17 #if !defined key_agrif 
    18       , PARAMETER  & 
    19 #endif 
    20       :: & 
    21       jp_cfg = 2   ,         &  !: resolution of the configuration (km) 
    22129 
    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   !!====================================================================== 
     131END MODULE par_eel_r2 
  • branches/dev_001_GM/NEMO/OPA_SRC/par_eel_r5.F90

    r772 r778  
     1MODULE 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 
    113   !!--------------------------------------------------------------------- 
    2    !!                     ***  par_EEL_R5.h90  ***    
    3    !!   Ocean Domain : 5 km resolution Channel (EEL_R5 configuration) 
     14   !!   'key_eel_r5'   :                            EEL configuration : R5 
    415   !!--------------------------------------------------------------------- 
    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   !!--------------------------------------------------------------------- 
    13128#endif 
    14       ::    &   
    15       cp_cfg = "eel"            !: name of the configuration 
    16    INTEGER     & 
    17 #if !defined key_agrif 
    18       , PARAMETER  & 
    19 #endif 
    20       :: & 
    21       jp_cfg = 5      ,      &  !: resolution of the configuration (km) 
    22129 
    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   !!====================================================================== 
     131END MODULE par_eel_r5 
  • branches/dev_001_GM/NEMO/OPA_SRC/par_eel_r6.F90

    r772 r778  
     1MODULE 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 
    113   !!--------------------------------------------------------------------- 
    2    !!                     ***  par_EEL_R6.h90  ***    
    3    !!   Ocean Domain : 6 km resolution Channel (EEL_R6 configuration) 
     14   !!   'key_eel_r6'   :                            EEL configuration : R6 
    415   !!--------------------------------------------------------------------- 
    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   !!--------------------------------------------------------------------- 
    13128#endif 
    14       ::    &   
    15       cp_cfg = "eel"            !: name of the configuration 
    16    INTEGER     & 
    17 #if !defined key_agrif 
    18       , PARAMETER  & 
    19 #endif 
    20       ::     & 
    21       jp_cfg = 6      ,      &  !: resolution of the configuration (km) 
    22129 
    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   !!====================================================================== 
     131END 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    !!--------------------------------------------------------------------- 
     1MODULE 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 
    59   !!---------------------------------------------------------------------- 
    6    !!  OPA 9.0 , LOCEAN-IPSL (2005)  
    7    !! $Header$  
    8    !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt  
     10   !! NEMO/OPA 2.4 , LOCEAN-IPSL (2007)  
     11   !! $Header: $  
     12   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
    913   !!---------------------------------------------------------------------- 
    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 
    2219 
    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 
    2722 
    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   !------!!-------------------------------------------------------------- 
    3527 
    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) 
    4034 
    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   !------!!-------------------------------------------------------------- 
    6039 
    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 
    8044 
    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    )  
    9249 
    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 
    10284 
    10385   !!--------------------------------------------------------------------- 
     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   !!====================================================================== 
     133END MODULE par_gyre 
  • branches/dev_001_GM/NEMO/OPA_SRC/par_kind.F90

    r719 r778  
    44   !! Ocean :  define the kind of real for the whole model 
    55   !!====================================================================== 
    6    !! History : 
    7    !!   8.5   02/06  (G. Madec)  Original code 
     6   !! History :   8.5   2002/06  (G. Madec)  Original code 
     7   !!             9.0   2007/11  (G. Madec)  Coding style 
    88   !!---------------------------------------------------------------------- 
    9    !!   OPA 9.0 , LOCEAN-IPSL (2005)  
    10    !! $Header$  
    11    !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt  
     9   !! NEMO 2.4, LOCEAN-IPSL (2007)  
     10   !! $Id:$  
     11   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
    1212   !!---------------------------------------------------------------------- 
    1313 
     
    1515   PRIVATE 
    1616 
    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 
    2120 
    2221   ! Number model from which the SELECTED_*_KIND are requested: 
     
    2726   !            exponent = 37     exponent = 307 
    2827 
    29    INTEGER, PUBLIC, PARAMETER ::        &  !: Floating point section 
    30       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 precision 
     28   !                                       !: 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 
    3332 
    34    INTEGER, PUBLIC, PARAMETER ::        &  !: Integer section 
    35       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) 
    3736 
    3837!!---------------------------------------------------------------------- 
  • branches/dev_001_GM/NEMO/OPA_SRC/par_oce.F90

    r719 r778  
    44   !! Ocean :   set the ocean parameters 
    55   !!====================================================================== 
    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 
    109   !!---------------------------------------------------------------------- 
    11    !!  OPA 9.0 , LOCEAN-IPSL (2005)  
    12    !! $Header$  
    13    !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt 
     10   !! NEMO/OPA 2.4 , LOCEAN-IPSL (2007)  
     11   !! $Id:$  
     12   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
    1413   !!---------------------------------------------------------------------- 
    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) 
    1724 
    1825   IMPLICIT NONE 
    1926   PUBLIC 
    2027 
    21    !!---------------------------------------------------------------------- 
    22    !!   Domain decomposition 
    23    !!---------------------------------------------------------------------- 
    24    !! * if we dont use massively parallel computer (parameters jpni=jpnj=1) 
    25    !!      so jpiglo=jpi and jpjglo=jpj 
    26  
    27 #if ! defined key_mpp_dyndist  
    28    INTEGER, PUBLIC, PARAMETER ::    &  !:  
    29       jpni   = 1,                   &  !: number of processors following i  
    30       jpnj   = 1,                   &  !: number of processors following j 
    31       jpnij  = 1                       !: nb of local domain = nb of processors  
    32       !                                !  ( <= jpni x jpnj ) 
    33 #else 
    34    INTEGER, PUBLIC ::               &  ! 
    35       jpni      ,                   &  !: number of processors following i  
    36       jpnj      ,                   &  !: number of processors following j 
    37       jpnij                            !: nb of local domain = nb of processors  
    38       !                                !  ( <= jpni x jpnj ) 
    39 #endif 
    40  
    41    INTEGER, PUBLIC, PARAMETER ::    &  !: 
    42       jpr2di = 0,                   &  !: number of columns for extra outer halo  
    43       jpr2dj = 0,                   &  !: number of rows    for extra outer halo  
    44       jpreci = 1,                   &  !: number of columns for overlap  
    45       jprecj = 1                       !: number of rows    for overlap  
    46  
    47    !! Ocean Domain sizes 
    48    !! ------------------ 
    49    !!   data           domain   (jpidta,jpjdta) 
    50    !!   global or zoom domain   (jpiglo,jpjglo) 
    51    !!   local          domain   ( jpi  , jpj  ) 
    52     
    53 #if   defined key_orca_r4 
    5428   !!--------------------------------------------------------------------- 
    55    !!   'key_orca_r4'   :                           global ocean : ORCA R4 
     29   !! Extra halos for mpp computing  
    5630   !!--------------------------------------------------------------------- 
    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  
    19135 
    19236#if defined key_agrif 
    19337   !!--------------------------------------------------------------------- 
    194    !! Agrif variables 
     38   !!   'key_agrif'   :                                              AGRIF 
    19539   !!--------------------------------------------------------------------- 
    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) 
    19945#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 
    20076   !!--------------------------------------------------------------------- 
    20177   !! Optimization/control flags 
     
    20682   LOGICAL, PUBLIC, PARAMETER ::   lk_esopa     = .FALSE.  !: flag to activate the all options 
    20783#endif 
    208  
    20984#if defined key_vectopt_memory 
    21085   LOGICAL, PUBLIC, PARAMETER ::   lk_vopt_mem  = .TRUE.   !: vector optimization flag 
     
    21287   LOGICAL, PUBLIC, PARAMETER ::   lk_vopt_mem  = .FALSE.  !: vector optimization flag 
    21388#endif 
    214  
    21589#if defined key_vectopt_loop 
    21690   LOGICAL, PUBLIC, PARAMETER ::   lk_vopt_loop = .TRUE.   !: vector optimization flag 
     
    21892   LOGICAL, PUBLIC, PARAMETER ::   lk_vopt_loop = .FALSE.  !: vector optimization flag 
    21993#endif 
    220  
    22194#if defined key_mpp_omp 
    22295   LOGICAL, PUBLIC, PARAMETER ::   lk_jki = .TRUE.   !: j-k-i loop flag 
  • branches/dev_001_GM/NEMO/OPA_SRC/par_orca_r025.F90

    r772 r778  
     1MODULE 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 
    115   !!--------------------------------------------------------------------- 
    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 
    517   !!--------------------------------------------------------------------- 
    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   !!--------------------------------------------------------------------- 
    14133#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 = 025  ,        &  !: resolution of the configuration (degrees) 
    23       ! Original data size 
    24       jpidta  = 1442,        &  !: first horizontal dimension > or = to jpi 
    25       jpjdta  = 1021,        &  !: second                     > or = to jpj 
    26       jpkdta  = 46 ,         &  !: number of levels           > or = to jpk 
    27       ! total domain matrix size 
    28       jpiglo  = jpidta,      &  !: first  dimension of global domain --> i 
    29       jpjglo  = jpjdta,      &  !: second dimension of global domain --> j 
    30       jpk     = jpkdta,      &  !: number of vertical levels 
    31       ! starting position of the zoom 
    32       jpizoom =   1   ,      &  !: left bottom (i,j) indices of the zoom 
    33       jpjzoom =   1   ,      &  !: in data indices 
    34       ! Domain characteristics 
    35       jperio  =    4  ,      &  !: lateral cond. type (between 0 and 6) 
    36       jpisl   =  150  ,      &  !: number of islands 
    37       jpnisl  = 3000            !: maximum number of points per island 
    38134 
    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   !!====================================================================== 
     136END MODULE par_orca_r025 
  • branches/dev_001_GM/NEMO/OPA_SRC/par_orca_r05.F90

    r772 r778  
     1MODULE 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 
    115   !!--------------------------------------------------------------------- 
    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 
    517   !!--------------------------------------------------------------------- 
    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 
    2319 
    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 
    2822 
    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   !------!!-------------------------------------------------------------- 
    4627 
    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) 
    65157 
    66158#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   !!--------------------------------------------------------------------- 
    83162#endif 
    84163 
    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   !!====================================================================== 
     165END MODULE par_ORCA_R05 
  • branches/dev_001_GM/NEMO/OPA_SRC/par_orca_r2.F90

    r772 r778  
     1MODULE 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 
    115   !!--------------------------------------------------------------------- 
    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 
    517   !!--------------------------------------------------------------------- 
    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 
    2319 
    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 
    2822 
    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   !------!!-------------------------------------------------------------- 
    4627 
    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) 
    6434 
    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 
    94158#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   !!--------------------------------------------------------------------- 
    112162#endif 
    113163 
    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   !!====================================================================== 
     165END MODULE par_orca_r2 
  • branches/dev_001_GM/NEMO/OPA_SRC/par_orca_r4.F90

    r772 r778  
     1MODULE 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 
    115   !!--------------------------------------------------------------------- 
    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 
    517   !!--------------------------------------------------------------------- 
    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   !!--------------------------------------------------------------------- 
    14129#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 = 4      ,      &  !: resolution of the configuration (degrees) 
    23       ! Original data size 
    24       jpidta  =  92   ,      &  !: first horizontal dimension > or = to jpi 
    25       jpjdta  =  76   ,      &  !: second                     > or = to jpj 
    26       jpkdta  =  31   ,      &  !: number of levels           > or = to jpk 
    27       ! global domain matrix size 
    28       jpiglo  = jpidta,      &  !: first  dimension of global domain --> i 
    29       jpjglo  = jpjdta,      &  !: second dimension of global domain --> j 
    30       jpk     = jpkdta,      &  !: number of vertical levels 
    31       ! starting position of the zoom 
    32       jpizoom =   1   ,      &  !: left bottom (i,j) indices of the zoom 
    33       jpjzoom =   1   ,      &  !: in data indices 
    34       ! Domain characteristics 
    35       jperio  =   4   ,      &  !: lateral cond. type (between 0 and 6) 
    36       jpisl   =  11   ,      &  !: number of islands 
    37       jpnisl  = 800             !: maximum number of points per island 
    38130 
    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   !!====================================================================== 
     132END MODULE par_orca_r4 
Note: See TracChangeset for help on using the changeset viewer.