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 6624 for branches/2016/dev_r6409_SIMPLIF_2_usrdef – NEMO

Ignore:
Timestamp:
2016-05-26T10:59:48+02:00 (8 years ago)
Author:
gm
Message:

#1692 - branch SIMPLIF_2_usrdef: add domain_cfg.nc file which includes jperio, and vert. coord. logicals. +code cleaning

Location:
branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM
Files:
1 deleted
24 edited

Legend:

Unmodified
Added
Removed
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/CONFIG/AMM12/EXP00/namelist_cfg

    r6596 r6624  
    2222   cp_cfg      =  "amm"                !  name of the configuration 
    2323   jp_cfg      =     011               !  resolution of the configuration 
    24 !   jpkdta      =      51               !  number of levels      ( >= jpk ) 
    25 !   jpiglo      =     198               !  1st dimension of global domain --> i =jpidta 
    26 !   jpjglo      =     224               !  2nd    -                  -    --> j  =jpjdta 
    27    jperio      =       0               !  lateral cond. type (between 0 and 6) 
    2824/ 
    2925!----------------------------------------------------------------------- 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/CONFIG/GYRE/EXP00/namelist_cfg

    r6596 r6624  
    2929   cp_cfg      =  "gyre"                 !  name of the configuration 
    3030   jp_cfg      =       1                 !  resolution of the configuration 
    31    jperio      =       0                 !  lateral cond. type (between 0 and 6) 
    3231/ 
    3332!----------------------------------------------------------------------- 
     
    4645   nn_bathy    =    0      !  compute (=0) or read (=1) the bathymetry file 
    4746   rn_rdt      = 7200.     !  time step for the dynamics  
    48    nn_msh      =    1      !  create (=1) a mesh file or not (=0) 
     47   nn_msh      =   -1      !  create (=1) a mesh file or not (=0) 
    4948   ppsur       =   -2033.194295283385    !  ORCA r4, r2 and r05 coefficients 
    5049   ppa0        =     155.8325369664153   ! (default coefficients) 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/CONFIG/GYRE_BFM/EXP00/namelist_cfg

    r6596 r6624  
    2424   cp_cfg      =  "gyre"                 !  name of the configuration 
    2525   jp_cfg      =       1                 !  resolution of the configuration 
    26    jperio      =       0                 !  lateral cond. type (between 0 and 6) 
    2726/ 
    2827&namzgr        !   vertical coordinate 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/CONFIG/GYRE_PISCES/EXP00/namelist_cfg

    r6596 r6624  
    1717   cp_cfg      =  "gyre"                 !  name of the configuration 
    1818   jp_cfg      =       1                 !  resolution of the configuration 
    19    jperio      =       0                 !  lateral cond. type (between 0 and 6) 
    2019/ 
    2120!----------------------------------------------------------------------- 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/CONFIG/GYRE_XIOS/EXP00/namelist_cfg

    r6596 r6624  
    1717   cp_cfg      =  "gyre"                 !  name of the configuration 
    1818   jp_cfg      =       1                 !  resolution of the configuration 
    19    jperio      =       0                 !  lateral cond. type (between 0 and 6) 
    2019/ 
    2120!----------------------------------------------------------------------- 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/CONFIG/ORCA2_LIM/EXP00/1_namelist_cfg

    r6596 r6624  
    1717   cp_cfg      =  "default"             !  name of the configuration 
    1818   jp_cfg      =      -1               !  resolution of the configuration 
    19    jpidta      =     182               !  1st lateral dimension ( >= jpi ) 
    20    jpjdta      =     149               !  2nd    "         "    ( >= jpj ) 
    21    jpkdta      =      31               !  number of levels      ( >= jpk ) 
    22    jpiglo      =     182               !  1st dimension of global domain --> i =jpidta 
    23    jpjglo      =     149               !  2nd    -                  -    --> j  =jpjdta 
    24    jpizoom     =       1               !  left bottom (i,j) indices of the zoom 
    25    jpjzoom     =       1               !  in data domain indices 
    26    jperio      =       0               !  lateral cond. type (between 0 and 6) 
    2719/ 
    2820!----------------------------------------------------------------------- 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/CONFIG/ORCA2_LIM/EXP00/namelist_cfg

    r6596 r6624  
    1616   cp_cfg      =  "orca"               !  name of the configuration 
    1717   jp_cfg      =       2               !  resolution of the configuration 
    18    jpidta      =     182               !  1st lateral dimension ( >= jpi ) 
    19    jpjdta      =     149               !  2nd    "         "    ( >= jpj ) 
    20    jpkdta      =      31               !  number of levels      ( >= jpk ) 
    21    jpiglo      =     182               !  1st dimension of global domain --> i =jpidta 
    22    jpjglo      =     149               !  2nd    -                  -    --> j  =jpjdta 
    23    jpizoom     =       1               !  left bottom (i,j) indices of the zoom 
    24    jpjzoom     =       1               !  in data domain indices 
    25    jperio      =       4               !  lateral cond. type (between 0 and 6) 
    2618/ 
    2719!----------------------------------------------------------------------- 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/CONFIG/ORCA2_LIM3/EXP00/1_namelist_cfg

    r6140 r6624  
    1616   cp_cfg      =  "default"             !  name of the configuration 
    1717   jp_cfg      =      -1               !  resolution of the configuration 
    18    jpidta      =     182               !  1st lateral dimension ( >= jpi ) 
    19    jpjdta      =     149               !  2nd    "         "    ( >= jpj ) 
    20    jpkdta      =      31               !  number of levels      ( >= jpk ) 
    21    jpiglo      =     182               !  1st dimension of global domain --> i =jpidta 
    22    jpjglo      =     149               !  2nd    -                  -    --> j  =jpjdta 
    23    jpizoom     =       1               !  left bottom (i,j) indices of the zoom 
    24    jpjzoom     =       1               !  in data domain indices 
    25    jperio      =       0               !  lateral cond. type (between 0 and 6) 
    2618/ 
    2719!----------------------------------------------------------------------- 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/CONFIG/ORCA2_LIM3/EXP00/namelist_cfg

    r6596 r6624  
    1616   cp_cfg      =  "orca"               !  name of the configuration 
    1717   jp_cfg      =       2               !  resolution of the configuration 
    18    jpidta      =     182               !  1st lateral dimension ( >= jpi ) 
    19    jpjdta      =     149               !  2nd    "         "    ( >= jpj ) 
    20    jpkdta      =      31               !  number of levels      ( >= jpk ) 
    21    jpiglo      =     182               !  1st dimension of global domain --> i =jpidta 
    22    jpjglo      =     149               !  2nd    -                  -    --> j  =jpjdta 
    23    jpizoom     =       1               !  left bottom (i,j) indices of the zoom 
    24    jpjzoom     =       1               !  in data domain indices 
    25    jperio      =       4               !  lateral cond. type (between 0 and 6) 
    2618/ 
    2719!----------------------------------------------------------------------- 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/CONFIG/ORCA2_LIM_CFC_C14b/EXP00/namelist_cfg

    r6596 r6624  
    1919   cp_cfg      =  "orca"               !  name of the configuration 
    2020   jp_cfg      =       2               !  resolution of the configuration 
    21    jpidta      =     182               !  1st lateral dimension ( >= jpi ) 
    22    jpjdta      =     149               !  2nd    "         "    ( >= jpj ) 
    23    jpkdta      =      31               !  number of levels      ( >= jpk ) 
    24    jpiglo      =     182               !  1st dimension of global domain --> i =jpidta 
    25    jpjglo      =     149               !  2nd    -                  -    --> j  =jpjdta 
    26    jpizoom     =       1               !  left bottom (i,j) indices of the zoom 
    27    jpjzoom     =       1               !  in data domain indices 
    28    jperio      =       4               !  lateral cond. type (between 0 and 6) 
    2921/ 
    3022!----------------------------------------------------------------------- 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/CONFIG/ORCA2_LIM_PISCES/EXP00/namelist_cfg

    r6596 r6624  
    1212   cp_cfg      =  "orca"               !  name of the configuration 
    1313   jp_cfg      =       2               !  resolution of the configuration 
    14    jpidta      =     182               !  1st lateral dimension ( >= jpi ) 
    15    jpjdta      =     149               !  2nd    "         "    ( >= jpj ) 
    16    jpkdta      =      31               !  number of levels      ( >= jpk ) 
    17    jpiglo      =     182               !  1st dimension of global domain --> i =jpidta 
    18    jpjglo      =     149               !  2nd    -                  -    --> j  =jpjdta 
    19    jpizoom     =       1               !  left bottom (i,j) indices of the zoom 
    20    jpjzoom     =       1               !  in data domain indices 
    21    jperio      =       4               !  lateral cond. type (between 0 and 6) 
    2214/ 
    2315!----------------------------------------------------------------------- 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/CONFIG/ORCA2_OFF_PISCES/EXP00/namelist_cfg

    r6596 r6624  
    1515   cp_cfg      =  "orca"               !  name of the configuration 
    1616   jp_cfg      =       2               !  resolution of the configuration 
    17    jpidta      =     182               !  1st lateral dimension ( >= jpi ) 
    18    jpjdta      =     149               !  2nd    "         "    ( >= jpj ) 
    19    jpkdta      =      31               !  number of levels      ( >= jpk ) 
    20    jpiglo      =     182               !  1st dimension of global domain --> i =jpidta 
    21    jpjglo      =     149               !  2nd    -                  -    --> j  =jpjdta 
    22    jpizoom     =       1               !  left bottom (i,j) indices of the zoom 
    23    jpjzoom     =       1               !  in data domain indices 
    24    jperio      =       4               !  lateral cond. type (between 0 and 6) 
    2517/ 
    2618!----------------------------------------------------------------------- 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/CONFIG/ORCA2_SAS_LIM/EXP00/namelist_cfg

    r6596 r6624  
    1414   cp_cfg      =  "orca"               !  name of the configuration 
    1515   jp_cfg      =       2               !  resolution of the configuration 
    16    jpidta      =     182               !  1st lateral dimension ( >= jpi ) 
    17    jpjdta      =     149               !  2nd    "         "    ( >= jpj ) 
    18    jpkdta      =      31               !  number of levels      ( >= jpk ) 
    19    jpiglo      =     182               !  1st dimension of global domain --> i =jpidta 
    20    jpjglo      =     149               !  2nd    -                  -    --> j  =jpjdta 
    21    jpizoom     =       1               !  left bottom (i,j) indices of the zoom 
    22    jpjzoom     =       1               !  in data domain indices 
    23    jperio      =       4               !  lateral cond. type (between 0 and 6) 
    2416/ 
    2517!----------------------------------------------------------------------- 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/CONFIG/SHARED/namelist_ref

    r6596 r6624  
    7575                           !  bathymetry, boudary condition, initial state, sbc) or (.false.) to call user_defined.F90 module 
    7676   cp_cfg      = "default" !  name of the configuration 
    77    cp_cfz      = "no zoom" !  name of the zoom of configuration 
    7877   jp_cfg      =      0    !  resolution of the configuration 
    79    jperio      =      0    !  lateral cond. type (between 0 and 6) 
    80                                  !  = 0 closed                 ;   = 1 cyclic East-West 
    81                                  !  = 2 equatorial symmetric   ;   = 3 North fold T-point pivot 
    82                                  !  = 4 cyclic East-West AND North fold T-point pivot 
    83                                  !  = 5 North fold F-point pivot 
    84                                  !  = 6 cyclic East-West AND North fold F-point pivot 
    8578   ln_use_jattr = .false.  !  use (T) the file attribute: open_ocean_jstart, if present 
    8679                           !  in netcdf input files, as the start j-row for reading 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OPA_SRC/DOM/dom_oce.F90

    r6596 r6624  
    2929   !! time & space domain namelist 
    3030   !! ---------------------------- 
    31    !                                    !!* Namelist namdom : time & space domain * 
    32    INTEGER , PUBLIC ::   nn_bathy        !: = 0/1 ,compute/read the bathymetry file 
    33    REAL(wp), PUBLIC ::   rn_bathy        !: depth of flat bottom (active if nn_bathy=0; if =0 depth=jpkm1) 
    34    REAL(wp), PUBLIC ::   rn_hmin         !: minimum ocean depth (>0) or minimum number of ocean levels (<0) 
    35    REAL(wp), PUBLIC ::   rn_isfhmin      !: threshold to discriminate grounded ice to floating ice 
    36    REAL(wp), PUBLIC ::   rn_e3zps_min    !: miminum thickness for partial steps (meters) 
    37    REAL(wp), PUBLIC ::   rn_e3zps_rat    !: minimum thickness ration for partial steps 
    38    INTEGER , PUBLIC ::   nn_msh          !: = 1 create a mesh-mask file 
    39    REAL(wp), PUBLIC ::   rn_atfp         !: asselin time filter parameter 
    40    REAL(wp), PUBLIC ::   rn_rdt          !: time step for the dynamics and tracer 
    41    INTEGER , PUBLIC ::   nn_closea       !: =0 suppress closed sea/lake from the ORCA domain or not (=1) 
    42    INTEGER , PUBLIC ::   nn_euler        !: =0 start with forward time step or not (=1) 
     31   !                                   !!* Namelist namdom : time & space domain * 
     32   INTEGER , PUBLIC ::   nn_bathy       !: = 0/1 ,compute/read the bathymetry file 
     33   REAL(wp), PUBLIC ::   rn_bathy       !: depth of flat bottom (active if nn_bathy=0; if =0 depth=jpkm1) 
     34   REAL(wp), PUBLIC ::   rn_hmin        !: minimum ocean depth (>0) or minimum number of ocean levels (<0) 
     35   REAL(wp), PUBLIC ::   rn_isfhmin     !: threshold to discriminate grounded ice to floating ice 
     36   REAL(wp), PUBLIC ::   rn_e3zps_min   !: miminum thickness for partial steps (meters) 
     37   REAL(wp), PUBLIC ::   rn_e3zps_rat   !: minimum thickness ration for partial steps 
     38   INTEGER , PUBLIC ::   nn_msh         !: = 1 create a mesh-mask file 
     39   REAL(wp), PUBLIC ::   rn_atfp        !: asselin time filter parameter 
     40   REAL(wp), PUBLIC ::   rn_rdt         !: time step for the dynamics and tracer 
     41   INTEGER , PUBLIC ::   nn_closea      !: =0 suppress closed sea/lake from the ORCA domain or not (=1) 
     42   INTEGER , PUBLIC ::   nn_euler       !: =0 start with forward time step or not (=1) 
    4343   LOGICAL , PUBLIC ::   ln_iscpl       !: coupling with ice sheet 
    44    LOGICAL , PUBLIC ::   ln_crs          !: Apply grid coarsening to dynamical model output or online passive tracers 
     44   LOGICAL , PUBLIC ::   ln_crs         !: Apply grid coarsening to dynamical model output or online passive tracers 
    4545 
    4646   !! Free surface parameters 
    4747   !! ======================= 
    48    LOGICAL , PUBLIC :: ln_dynspg_exp     !: Explicit free surface flag 
    49    LOGICAL , PUBLIC :: ln_dynspg_ts      !: Split-Explicit free surface flag 
     48   LOGICAL , PUBLIC :: ln_dynspg_exp    !: Explicit free surface flag 
     49   LOGICAL , PUBLIC :: ln_dynspg_ts     !: Split-Explicit free surface flag 
    5050 
    5151   !! Time splitting parameters 
    5252   !! ========================= 
    53    LOGICAL,  PUBLIC :: ln_bt_fw          !: Forward integration of barotropic sub-stepping 
    54    LOGICAL,  PUBLIC :: ln_bt_av          !: Time averaging of barotropic variables 
    55    LOGICAL,  PUBLIC :: ln_bt_auto        !: Set number of barotropic iterations automatically 
    56    INTEGER,  PUBLIC :: nn_bt_flt         !: Filter choice 
    57    INTEGER,  PUBLIC :: nn_baro           !: Number of barotropic iterations during one baroclinic step (rdt) 
    58    REAL(wp), PUBLIC :: rn_bt_cmax        !: Maximum allowed courant number (used if ln_bt_auto=T) 
     53   LOGICAL,  PUBLIC :: ln_bt_fw         !: Forward integration of barotropic sub-stepping 
     54   LOGICAL,  PUBLIC :: ln_bt_av         !: Time averaging of barotropic variables 
     55   LOGICAL,  PUBLIC :: ln_bt_auto       !: Set number of barotropic iterations automatically 
     56   INTEGER,  PUBLIC :: nn_bt_flt        !: Filter choice 
     57   INTEGER,  PUBLIC :: nn_baro          !: Number of barotropic iterations during one baroclinic step (rdt) 
     58   REAL(wp), PUBLIC :: rn_bt_cmax       !: Maximum allowed courant number (used if ln_bt_auto=T) 
    5959 
    6060   !! Vertical grid parameter for domzgr 
    6161   !! ================================== 
    62    REAL(wp)      ::   ppsur              !: ORCA r4, r2 and r05 coefficients 
    63    REAL(wp)      ::   ppa0               !: (default coefficients) 
    64    REAL(wp)      ::   ppa1               !: 
    65    REAL(wp)      ::   ppkth              !: 
    66    REAL(wp)      ::   ppacr              !: 
     62   REAL(wp)      ::   ppsur             !: ORCA r4, r2 and r05 coefficients 
     63   REAL(wp)      ::   ppa0              !: (default coefficients) 
     64   REAL(wp)      ::   ppa1              !: 
     65   REAL(wp)      ::   ppkth             !: 
     66   REAL(wp)      ::   ppacr             !: 
    6767   ! 
    6868   !  If both ppa0 ppa1 and ppsur are specified to 0, then 
    6969   !  they are computed from ppdzmin, pphmax , ppkth, ppacr in dom_zgr 
    70    REAL(wp)      ::   ppdzmin            !: Minimum vertical spacing 
    71    REAL(wp)      ::   pphmax             !: Maximum depth 
     70   REAL(wp)      ::   ppdzmin           !: Minimum vertical spacing 
     71   REAL(wp)      ::   pphmax            !: Maximum depth 
    7272   ! 
    73    LOGICAL       ::   ldbletanh          !: Use/do not use double tanf function for vertical coordinates 
    74    REAL(wp)      ::   ppa2               !: Double tanh function parameters 
    75    REAL(wp)      ::   ppkth2             !: 
    76    REAL(wp)      ::   ppacr2             !: 
    77  
    78    !                                    !! old non-DOCTOR names still used in the model 
    79    INTEGER , PUBLIC ::   ntopo           !: = 0/1 ,compute/read the bathymetry file 
    80    REAL(wp), PUBLIC ::   e3zps_min       !: miminum thickness for partial steps (meters) 
    81    REAL(wp), PUBLIC ::   e3zps_rat       !: minimum thickness ration for partial steps 
    82    INTEGER , PUBLIC ::   nmsh            !: = 1 create a mesh-mask file 
    83    REAL(wp), PUBLIC ::   atfp            !: asselin time filter parameter 
    84    REAL(wp), PUBLIC ::   rdt             !: time step for the dynamics and tracer 
    85  
    86    !                                                  !!! associated variables 
    87    INTEGER , PUBLIC ::   neuler        !: restart euler forward option (0=Euler) 
    88    REAL(wp), PUBLIC ::   atfp1         !: asselin time filter coeff. (atfp1= 1-2*atfp) 
    89    REAL(wp), PUBLIC ::   r2dt          !: = 2*rdt except at nit000 (=rdt) if neuler=0 
     73   LOGICAL       ::   ldbletanh         !: Use/do not use double tanf function for vertical coordinates 
     74   REAL(wp)      ::   ppa2              !: Double tanh function parameters 
     75   REAL(wp)      ::   ppkth2            !: 
     76   REAL(wp)      ::   ppacr2            !: 
     77 
     78   !                                   !! old non-DOCTOR names still used in the model 
     79   INTEGER , PUBLIC ::   ntopo          !: = 0/1 ,compute/read the bathymetry file 
     80   REAL(wp), PUBLIC ::   e3zps_min      !: miminum thickness for partial steps (meters) 
     81   REAL(wp), PUBLIC ::   e3zps_rat      !: minimum thickness ration for partial steps 
     82   INTEGER , PUBLIC ::   nmsh           !: = 1 create a mesh-mask file 
     83   REAL(wp), PUBLIC ::   atfp           !: asselin time filter parameter 
     84   REAL(wp), PUBLIC ::   rdt            !: time step for the dynamics and tracer 
     85 
     86   !                                   !!! associated variables 
     87   INTEGER , PUBLIC ::   neuler         !: restart euler forward option (0=Euler) 
     88   REAL(wp), PUBLIC ::   r2dt           !: = 2*rdt except at nit000 (=rdt) if neuler=0 
    9089 
    9190   !!---------------------------------------------------------------------- 
    9291   !! space domain parameters 
    9392   !!---------------------------------------------------------------------- 
    94    !                                     !!! domain parameters linked to mpp 
    95    INTEGER, PUBLIC ::   nperio            !: type of lateral boundary condition 
    96    INTEGER, PUBLIC ::   nimpp, njmpp      !: i- & j-indexes for mpp-subdomain left bottom 
    97    INTEGER, PUBLIC ::   nreci, nrecj      !: overlap region in i and j 
    98    INTEGER, PUBLIC ::   nproc             !: number for local processor 
    99    INTEGER, PUBLIC ::   narea             !: number for local area 
    100    INTEGER, PUBLIC ::   nbondi, nbondj    !: mark of i- and j-direction local boundaries 
     93   INTEGER, PUBLIC ::   jperio   !: Global domain lateral boundary type (between 0 and 6) 
     94   !                                !  = 0 closed                 ;   = 1 cyclic East-West 
     95   !                                !  = 2 equatorial symmetric   ;   = 3 North fold T-point pivot 
     96   !                                !  = 4 cyclic East-West AND North fold T-point pivot 
     97   !                                !  = 5 North fold F-point pivot 
     98   !                                !  = 6 cyclic East-West AND North fold F-point pivot 
     99   INTEGER, PUBLIC ::   nperio   !: Local domain lateral boundary type (deduced from jperio and MPP decomposition) 
     100 
     101   !                                 !  domain MPP decomposition parameters 
     102   INTEGER             , PUBLIC ::   nimpp, njmpp     !: i- & j-indexes for mpp-subdomain left bottom 
     103   INTEGER             , PUBLIC ::   nreci, nrecj     !: overlap region in i and j 
     104   INTEGER             , PUBLIC ::   nproc            !: number for local processor 
     105   INTEGER             , PUBLIC ::   narea            !: number for local area 
     106   INTEGER             , PUBLIC ::   nbondi, nbondj   !: mark of i- and j-direction local boundaries 
    101107   INTEGER, ALLOCATABLE, PUBLIC ::   nbondi_bdy(:)    !: mark i-direction local boundaries for BDY open boundaries 
    102108   INTEGER, ALLOCATABLE, PUBLIC ::   nbondj_bdy(:)    !: mark j-direction local boundaries for BDY open boundaries 
     
    131137   !! horizontal curvilinear coordinate and scale factors 
    132138   !! --------------------------------------------------------------------- 
    133    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   glamt , glamu, glamv , glamf    !: longitude at t, u, v, f-points [degree] 
    134    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   gphit , gphiu, gphiv , gphif    !: latitude  at t, u, v, f-points [degree] 
     139   REAL(wp), PUBLIC, ALLOCATABLE, SAVE        , DIMENSION(:,:) ::   glamt , glamu, glamv , glamf    !: longitude at t, u, v, f-points [degree] 
     140   REAL(wp), PUBLIC, ALLOCATABLE, SAVE        , DIMENSION(:,:) ::   gphit , gphiu, gphiv , gphif    !: latitude  at t, u, v, f-points [degree] 
    135141   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, TARGET, DIMENSION(:,:) ::   e1t   , e2t  , r1_e1t, r1_e2t   !: t-point horizontal scale factors    [m] 
    136142   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, TARGET, DIMENSION(:,:) ::   e1u   , e2u  , r1_e1u, r1_e2u   !: horizontal scale factors at u-point [m] 
     
    138144   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, TARGET, DIMENSION(:,:) ::   e1f   , e2f  , r1_e1f, r1_e2f   !: horizontal scale factors at f-point [m] 
    139145   ! 
    140    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   e1e2t , r1_e1e2t                !: associated metrics at t-point 
    141    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   e1e2u , r1_e1e2u , e2_e1u       !: associated metrics at u-point 
    142    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   e1e2v , r1_e1e2v , e1_e2v       !: associated metrics at v-point 
    143    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   e1e2f , r1_e1e2f                !: associated metrics at f-point 
     146   REAL(wp), PUBLIC, ALLOCATABLE, SAVE        , DIMENSION(:,:) ::   e1e2t , r1_e1e2t                !: associated metrics at t-point 
     147   REAL(wp), PUBLIC, ALLOCATABLE, SAVE        , DIMENSION(:,:) ::   e1e2u , r1_e1e2u , e2_e1u       !: associated metrics at u-point 
     148   REAL(wp), PUBLIC, ALLOCATABLE, SAVE        , DIMENSION(:,:) ::   e1e2v , r1_e1e2v , e1_e2v       !: associated metrics at v-point 
     149   REAL(wp), PUBLIC, ALLOCATABLE, SAVE        , DIMENSION(:,:) ::   e1e2f , r1_e1e2f                !: associated metrics at f-point 
    144150   ! 
    145    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   ff_f, ff_t                      !: coriolis factor at f- and t-point         [1/s] 
     151   REAL(wp), PUBLIC, ALLOCATABLE, SAVE        , DIMENSION(:,:) ::   ff_f, ff_t                      !: coriolis factor at f- and t-point         [1/s] 
    146152 
    147153   !!---------------------------------------------------------------------- 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OPA_SRC/DOM/domain.F90

    r6596 r6624  
    1717    
    1818   !!---------------------------------------------------------------------- 
    19    !!   dom_init       : initialize the space and time domain 
    20    !!   dom_nam        : read and contral domain namelists 
    21    !!   dom_ctl        : control print for the ocean domain 
    22    !!   dom_stiff      : diagnose maximum grid stiffness/hydrostatic consistency (s-coordinate) 
     19   !!   dom_init      : initialize the space and time domain 
     20   !!   dom_nam       : read and contral domain namelists 
     21   !!   dom_ctl       : control print for the ocean domain 
     22   !!   dom_stiff     : diagnose maximum grid stiffness/hydrostatic consistency (s-coordinate) 
     23   !!   cfg_wri       : create the "domain_cfg.nc" file containing all required configuration information    
    2324   !!---------------------------------------------------------------------- 
    2425   USE oce             ! ocean variables 
     
    2930   USE domhgr          ! domain: set the horizontal mesh 
    3031   USE domzgr          ! domain: set the vertical mesh 
    31    USE domstp          ! domain: set the time-step 
    3232   USE dommsk          ! domain: set the mask system 
    3333   USE domwri          ! domain: write the meshmask file 
     
    3737   ! 
    3838   USE in_out_manager  ! I/O manager 
     39   USE iom             ! I/O library 
     40   USE lbclnk          ! ocean lateral boundary condition (or mpp link) 
     41   USE lib_mpp         ! distributed memory computing library 
    3942   USE wrk_nemo        ! Memory Allocation 
    40    USE lib_mpp         ! distributed memory computing library 
    41    USE lbclnk          ! ocean lateral boundary condition (or mpp link) 
    4243   USE timing          ! Timing 
    4344 
     
    6667      !!                         and scale factors, and the coriolis factor 
    6768      !!              - dom_zgr: define the vertical coordinate and the bathymetry 
    68       !!              - dom_stp: defined the model time step 
    6969      !!              - dom_wri: create the meshmask file if nmsh=1 
    7070      !!              - 1D configuration, move Coriolis, u and v at T-point 
     
    7272      INTEGER ::   jk          ! dummy loop indices 
    7373      INTEGER ::   iconf = 0   ! local integers 
     74      CHARACTER (len=64) ::   cform = "(A12, 3(A13, I7) )"  
    7475      REAL(wp), POINTER, DIMENSION(:,:) ::   z1_hu_0, z1_hv_0 
    7576      !!---------------------------------------------------------------------- 
     
    8384      ENDIF 
    8485      ! 
     86      ! Ocean domain Parameters (control print) 
     87      ! ----------------------- 
     88      IF(lwp) THEN 
     89         WRITE(numout,*)     '   Domain info' 
     90         WRITE(numout,*)     '      dimension of model' 
     91         WRITE(numout,*)     '             Local domain      Global domain       Data domain ' 
     92         WRITE(numout,cform) '        ','   jpi     : ', jpi, '   jpiglo  : ', jpiglo, '   jpidta  : ', jpidta 
     93         WRITE(numout,cform) '        ','   jpj     : ', jpj, '   jpjglo  : ', jpjglo, '   jpjdta  : ', jpjdta 
     94         WRITE(numout,cform) '        ','   jpk     : ', jpk, '   jpkglo  : ', jpkglo, '   jpkdta  : ', jpkdta 
     95         WRITE(numout,cform) '       ' ,'   jpij    : ', jpij 
     96         WRITE(numout,*)     '      mpp local domain info (mpp)' 
     97         WRITE(numout,*)     '              jpni    : ', jpni, '   jpreci  : ', jpreci 
     98         WRITE(numout,*)     '              jpnj    : ', jpnj, '   jprecj  : ', jprecj 
     99         WRITE(numout,*)     '              jpnij   : ', jpnij 
     100         WRITE(numout,*)     '      lateral boundary of the Global domain : jperio  = ', jperio 
     101      ENDIF 
     102 
    85103      !                       !==  Reference coordinate system  ==! 
    86104      ! 
     
    90108                     CALL dom_zgr               ! Vertical mesh and bathymetry 
    91109                     CALL dom_msk               ! Masks 
     110                     ! 
    92111      IF( ln_sco )   CALL dom_stiff             ! Maximum stiffness ratio/hydrostatic consistency 
    93112      ! 
     
    139158      IF( lk_c1d         )   CALL cor_c1d       ! 1D configuration: Coriolis set at T-point 
    140159      ! 
    141                              CALL dom_stp       ! time step 
    142       IF( nmsh /= 0 .AND. .NOT. ln_iscpl )                         CALL dom_wri      ! Create a domain file 
    143       IF( nmsh /= 0 .AND.       ln_iscpl .AND. .NOT. ln_rstart )   CALL dom_wri      ! Create a domain file 
     160      IF( nmsh > 0 .AND. .NOT. ln_iscpl )                         CALL dom_wri      ! Create a domain file 
     161      IF( nmsh > 0 .AND.       ln_iscpl .AND. .NOT. ln_rstart )   CALL dom_wri      ! Create a domain file 
    144162      IF( .NOT.ln_rstart )   CALL dom_ctl       ! Domain control 
     163      ! 
     164       
     165      IF(lwp) THEN 
     166         WRITE(numout,*) 
     167         WRITE(numout,*) 'dom_init : end of domain initialization nmsh=', nmsh 
     168         WRITE(numout,*)  
     169      ENDIF 
     170      ! 
     171      IF( nmsh == -1 )   CALL cfg_wri           ! create the configuration file 
    145172      ! 
    146173      IF( nn_timing == 1 )   CALL timing_stop('dom_init') 
     
    307334         WRITE(numout,*) '                                      ppacr2            = ', ppacr2 
    308335      ENDIF 
     336       
     337      call flush( numout ) 
    309338      ! 
    310339      ntopo     = nn_bathy          ! conversion DOCTOR names into model names (this should disappear soon) 
     
    344373      snc4set%luse = .FALSE.        ! No NetCDF 4 case 
    345374#endif 
     375 
     376      call flush( numout ) 
     377 
    346378      ! 
    347379   END SUBROUTINE dom_nam 
     
    410442      !!                Haney, R. L., 1991: On the pressure gradient force 
    411443      !!                over steep topography in sigma coordinate ocean models.  
    412       !!                J. Phys. Oceanogr., 21, 610???619. 
     444      !!                J. Phys. Oceanogr., 21, 610-619. 
    413445      !!---------------------------------------------------------------------- 
    414446      INTEGER  ::   ji, jj, jk  
     
    458490   END SUBROUTINE dom_stiff 
    459491 
     492 
     493   SUBROUTINE cfg_wri 
     494      !!---------------------------------------------------------------------- 
     495      !!                  ***  ROUTINE cfg_wri  *** 
     496      !!                    
     497      !! ** Purpose :   Create the NetCDF file(s) which contain(s) all the 
     498      !!      ocean domain informations (mesh and mask arrays). This (these) 
     499      !!      file(s) is (are) used for visualisation (SAXO software) and 
     500      !!      diagnostic computation. 
     501      !! 
     502      !! ** Method  :   Write in a file all the arrays generated in routines 
     503      !!      domhgr, domzgr, and dommsk. Note: the file contain depends on 
     504      !!      the vertical coord. used (z-coord, partial steps, s-coord) 
     505      !!            MOD(nmsh, 3) = 1  :   'mesh_mask.nc' file 
     506      !!                         = 2  :   'mesh.nc' and mask.nc' files 
     507      !!                         = 0  :   'mesh_hgr.nc', 'mesh_zgr.nc' and 
     508      !!                                  'mask.nc' files 
     509      !!      For huge size domain, use option 2 or 3 depending on your  
     510      !!      vertical coordinate. 
     511      !! 
     512      !!      if     nmsh <= 3: write full 3D arrays for e3[tuvw] and gdep[tuvw] 
     513      !!      if 3 < nmsh <= 6: write full 3D arrays for e3[tuvw] and 2D arrays  
     514      !!                        corresponding to the depth of the bottom t- and w-points 
     515      !!      if 6 < nmsh <= 9: write 2D arrays corresponding to the depth and the 
     516      !!                        thickness (e3[tw]_ps) of the bottom points  
     517      !! 
     518      !! ** output file :   meshmask.nc  : domain size, horizontal grid-point position, 
     519      !!                                   masks, depth and vertical scale factors 
     520      !!---------------------------------------------------------------------- 
     521      INTEGER           ::   ji, jj, jk   ! dummy loop indices 
     522      INTEGER           ::   izco, izps, isco, icav 
     523      INTEGER           ::   inum     ! temprary units for 'domain_cfg.nc' file 
     524      CHARACTER(len=21) ::   clnam    ! filename (mesh and mask informations) 
     525      !!---------------------------------------------------------------------- 
     526      ! 
     527      IF(lwp) WRITE(numout,*) 
     528      IF(lwp) WRITE(numout,*) 'cfg_wri : create the "domain_cfg.nc" file containing all required configuration information' 
     529      IF(lwp) WRITE(numout,*) '~~~~~~~' 
     530      ! 
     531      !                       ! ============================= ! 
     532      !                       !  create 'domain_cfg.nc' file  ! 
     533      !                       ! ============================= ! 
     534      !          
     535      clnam = 'domain_cfg'  ! filename (configuration information) 
     536      CALL iom_open( TRIM(clnam), inum, ldwrt = .TRUE., kiolib = jprstlib ) 
     537       
     538      !                             !==  global domain size  ==! 
     539      CALL iom_rstput( 0, 0, inum, 'jpiglo', REAL( jpiglo, wp), ktype = jp_i4 ) 
     540      CALL iom_rstput( 0, 0, inum, 'jpjglo', REAL( jpjglo, wp), ktype = jp_i4 ) 
     541      CALL iom_rstput( 0, 0, inum, 'jpkglo', REAL( jpk   , wp), ktype = jp_i4 ) 
     542       
     543      !                             !==  domain characteristics  ==! 
     544      !                                   ! lateral boundary of the global domain 
     545      CALL iom_rstput( 0, 0, inum, 'jperio', REAL( jperio, wp), ktype = jp_i4 ) 
     546      !                                   ! type of vertical coordinate 
     547      IF( ln_zco    ) THEN   ;   izco = 1   ;   ELSE   ;   izco = 0   ;   ENDIF 
     548      IF( ln_zps    ) THEN   ;   izps = 1   ;   ELSE   ;   izps = 0   ;   ENDIF 
     549      IF( ln_sco    ) THEN   ;   isco = 1   ;   ELSE   ;   isco = 0   ;   ENDIF 
     550      CALL iom_rstput( 0, 0, inum, 'ln_zco'   , REAL( izco, wp), ktype = jp_i4 ) 
     551      CALL iom_rstput( 0, 0, inum, 'ln_zps'   , REAL( izps, wp), ktype = jp_i4 ) 
     552      CALL iom_rstput( 0, 0, inum, 'ln_sco'   , REAL( isco, wp), ktype = jp_i4 ) 
     553      !                                   ! ocean cavities under iceshelves 
     554      IF( ln_isfcav ) THEN   ;   icav = 1   ;   ELSE   ;   icav = 0   ;   ENDIF 
     555      CALL iom_rstput( 0, 0, inum, 'ln_isfcav', REAL( icav, wp), ktype = jp_i4 ) 
     556 
     557      !                             !==  horizontal mesh  ! 
     558      ! 
     559      CALL iom_rstput( 0, 0, inum, 'glamt', glamt, ktype = jp_r8 )   ! latitude 
     560      CALL iom_rstput( 0, 0, inum, 'glamu', glamu, ktype = jp_r8 ) 
     561      CALL iom_rstput( 0, 0, inum, 'glamv', glamv, ktype = jp_r8 ) 
     562      CALL iom_rstput( 0, 0, inum, 'glamf', glamf, ktype = jp_r8 ) 
     563      !                                 
     564      CALL iom_rstput( 0, 0, inum, 'gphit', gphit, ktype = jp_r8 )   ! longitude 
     565      CALL iom_rstput( 0, 0, inum, 'gphiu', gphiu, ktype = jp_r8 ) 
     566      CALL iom_rstput( 0, 0, inum, 'gphiv', gphiv, ktype = jp_r8 ) 
     567      CALL iom_rstput( 0, 0, inum, 'gphif', gphif, ktype = jp_r8 ) 
     568      !                                 
     569      CALL iom_rstput( 0, 0, inum, 'e1t'  , e1t  , ktype = jp_r8 )   ! i-scale factors (e1.) 
     570      CALL iom_rstput( 0, 0, inum, 'e1u'  , e1u  , ktype = jp_r8 ) 
     571      CALL iom_rstput( 0, 0, inum, 'e1v'  , e1v  , ktype = jp_r8 ) 
     572      CALL iom_rstput( 0, 0, inum, 'e1f'  , e1f  , ktype = jp_r8 ) 
     573      ! 
     574      CALL iom_rstput( 0, 0, inum, 'e2t'  , e2t  , ktype = jp_r8 )   ! j-scale factors (e2.) 
     575      CALL iom_rstput( 0, 0, inum, 'e2u'  , e2u  , ktype = jp_r8 ) 
     576      CALL iom_rstput( 0, 0, inum, 'e2v'  , e2v  , ktype = jp_r8 ) 
     577      CALL iom_rstput( 0, 0, inum, 'e2f'  , e2f  , ktype = jp_r8 ) 
     578      ! 
     579      CALL iom_rstput( 0, 0, inum, 'ff_f' , ff_f , ktype = jp_r8 )   ! coriolis factor 
     580      CALL iom_rstput( 0, 0, inum, 'ff_t' , ff_t , ktype = jp_r8 ) 
     581 
     582       
     583      !                             !==  vertical mesh - 3D mask  ==! 
     584      !                                                      
     585      CALL iom_rstput( 0, 0, inum, 'gdept_1d', gdept_1d, ktype = jp_r8 )   ! reference 1D-coordinate 
     586      CALL iom_rstput( 0, 0, inum, 'gdepw_1d', gdepw_1d, ktype = jp_r8 ) 
     587      CALL iom_rstput( 0, 0, inum, 'e3t_1d'  , e3t_1d  , ktype = jp_r8 ) 
     588      CALL iom_rstput( 0, 0, inum, 'e3w_1d'  , e3w_1d  , ktype = jp_r8 ) 
     589      !                                                      
     590      CALL iom_rstput( 0, 0, inum, 'gdept_0' , gdept_0 , ktype = jp_r8 )   ! depth (t- & w-points) 
     591      CALL iom_rstput( 0, 0, inum, 'gdepw_0' , gdepw_0 , ktype = jp_r8 ) 
     592      ! 
     593      CALL iom_rstput( 0, 0, inum, 'e3t_0'   , e3t_0   , ktype = jp_r8 )   ! vertical scale factors (e 
     594      CALL iom_rstput( 0, 0, inum, 'e3u_0'   , e3u_0   , ktype = jp_r8 ) 
     595      CALL iom_rstput( 0, 0, inum, 'e3v_0'   , e3v_0   , ktype = jp_r8 ) 
     596      CALL iom_rstput( 0, 0, inum, 'e3w_0'   , e3w_0   , ktype = jp_r8 ) 
     597      !                                    
     598      CALL iom_rstput( 0, 0, inum, 'tmask'   , tmask   , ktype = jp_i1 )   ! masks (in bytes) 
     599      CALL iom_rstput( 0, 0, inum, 'umask'   , umask   , ktype = jp_i1 ) 
     600      CALL iom_rstput( 0, 0, inum, 'vmask'   , vmask   , ktype = jp_i1 ) 
     601      CALL iom_rstput( 0, 0, inum, 'fmask'   , fmask   , ktype = jp_i1 ) 
     602       
     603!!gm  Probably not required fields : 
     604      CALL iom_rstput( 0, 0, inum, 'bathy'  ,       bathy         , ktype = jp_r8 )   ! depth of the ocean at T-points 
     605      CALL iom_rstput( 0, 0, inum, 'mbathy' , REAL( mbathy , wp ) , ktype = jp_i4 )   ! nb of ocean T-points 
     606      CALL iom_rstput( 0, 0, inum, 'mbkt'   , REAL( mbkt   , wp ) , ktype = jp_i4 )   ! nb of ocean T-points 
     607 
     608      ! 
     609      CALL iom_rstput( 0, 0, inum, 'bathy'  ,       risfdep       , ktype = jp_r8 )   ! depth of the iceshelves at T-points 
     610      CALL iom_rstput( 0, 0, inum, 'misfdep', REAL( misfdep, wp ) , ktype = jp_i4 )   ! nb of ocean T-points (ISF) 
     611 
     612!!gm end 
     613 
     614!!gm ? 
     615!         CALL iom_rstput( 0, 0, inum, 'hbatt', hbatt ) 
     616!         CALL iom_rstput( 0, 0, inum, 'hbatu', hbatu ) 
     617!         CALL iom_rstput( 0, 0, inum, 'hbatv', hbatv ) 
     618!         CALL iom_rstput( 0, 0, inum, 'hbatf', hbatf ) 
     619!!gm ? 
     620!!gm ? 
     621!      CALL iom_rstput( 0, 0, inum, 'rx1'  , rx1   )         ! Max. grid stiffness ratio 
     622!!gm ? 
     623         ! 
     624!         DO jk = 1,jpk    
     625!            DO jj = 1, jpjm1    
     626!               DO ji = 1, fs_jpim1   ! vector opt. 
     627!                  zdepu(ji,jj,jk) = MIN( gdept_0(ji,jj,jk) , gdept_0(ji+1,jj  ,jk) ) 
     628!                  zdepv(ji,jj,jk) = MIN( gdept_0(ji,jj,jk) , gdept_0(ji  ,jj+1,jk) ) 
     629!               END DO 
     630!            END DO 
     631!         END DO 
     632!         CALL lbc_lnk( zdepu, 'U', 1. )   ;   CALL lbc_lnk( zdepv, 'V', 1. ) 
     633!         CALL iom_rstput( 0, 0, inum, 'gdepu'  , zdepu  , ktype = jp_r8 ) 
     634!         CALL iom_rstput( 0, 0, inum, 'gdepv'  , zdepv  , ktype = jp_r8 ) 
     635             
     636      !                                ! ============================ 
     637      !                                !        close the files  
     638      !                                ! ============================ 
     639      CALL iom_close( inum ) 
     640      ! 
     641   END SUBROUTINE cfg_wri 
     642 
    460643   !!====================================================================== 
    461644END MODULE domain 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OPA_SRC/DOM/domhgr.F90

    r6596 r6624  
    120120         ff_t(:,:) = 2. * omega * SIN( rad * gphit(:,:) )     !    -        -       -    at t-point 
    121121      ELSE 
    122          IF(lwp) WRITE(numout,*) '          Coriolis parameter have been read in "mesh_mask" file' 
     122         IF( ln_read_cfg ) THEN 
     123            IF(lwp) WRITE(numout,*) '          Coriolis parameter have been read in "mesh_mask" file' 
     124         ELSE 
     125            IF(lwp) WRITE(numout,*) '          Coriolis parameter have been set in usr_def_hgr routine' 
     126         ENDIF 
    123127      ENDIF 
    124128      ! 
     
    152156 
    153157 
    154    SUBROUTINE hgr_read( plamt , plamu , plamv  , plamf  ,     &    ! gridpoints position (required) 
    155       &                 pphit , pphiu , pphiv  , pphif  ,     &      
    156       &                 kff   , pff_f , pff_t  ,              &    ! Coriolis parameter  (if not on the sphere) 
    157       &                 pe1t  , pe1u  , pe1v   , pe1f   ,     &    ! scale factors       (required) 
    158       &                 pe2t  , pe2u  , pe2v   , pe2f   ,     & 
    159       &                 ke1e2u_v      , pe2_e1u, pe1_e2v   )       ! u- & v-surfaces (if gridsize reduction in some straits) 
     158   SUBROUTINE hgr_read( plamt , plamu , plamv  , plamf  ,   &    ! gridpoints position (required) 
     159      &                 pphit , pphiu , pphiv  , pphif  ,   &      
     160      &                 kff   , pff_f , pff_t  ,            &    ! Coriolis parameter  (if not on the sphere) 
     161      &                 pe1t  , pe1u  , pe1v   , pe1f   ,   &    ! scale factors       (required) 
     162      &                 pe2t  , pe2u  , pe2v   , pe2f   ,   & 
     163      &                 ke1e2u_v      , pe2_e1u, pe1_e2v    )    ! u- & v-surfaces (if gridsize reduction in some straits) 
    160164      !!--------------------------------------------------------------------- 
    161165      !!              ***  ROUTINE hgr_read  *** 
     
    174178      ! 
    175179      INTEGER  ::   inum                  ! logical unit 
    176       REAL(wp) ::   ziglo, zjglo, zkglo   ! domain size 
    177180      !!---------------------------------------------------------------------- 
    178181      ! 
     
    183186      ENDIF 
    184187      ! 
    185       CALL iom_open( 'mesh_mask', inum ) 
    186       ! 
    187       CALL iom_get( inum, 'jpiglo', ziglo ) 
    188       CALL iom_get( inum, 'jpjglo', zjglo ) 
    189       CALL iom_get( inum, 'jpkglo', zkglo ) 
    190       WRITE(numout,*) ' read size read: i,j,k = ', INT(ziglo), INT(zjglo), INT(zkglo) 
    191  
     188      CALL iom_open( 'domain_cfg', inum ) 
    192189      ! 
    193190      CALL iom_get( inum, jpdom_data, 'glamt', plamt, lrowattr=ln_use_jattr ) 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OPA_SRC/DOM/domvvl.F90

    r6351 r6624  
    896896               tilde_e3t_b(:,:,:) = 0.0_wp 
    897897               tilde_e3t_n(:,:,:) = 0.0_wp 
    898                IF( ln_vvl_ztilde ) hdiv_lf(:,:,:) = 0.0_wp 
     898               IF( ln_vvl_ztilde ) hdiv_lf(:,:,:) = 0._wp 
    899899            END IF 
    900900         ENDIF 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OPA_SRC/DOM/domwri.F90

    r6596 r6624  
    2727   PUBLIC   dom_wri              ! routine called by inidom.F90 
    2828   PUBLIC   dom_wri_coordinate   ! routine called by domhgr.F90 
     29    
    2930   !! * Substitutions 
    3031#  include "vectopt_loop_substitute.h90" 
     
    140141      CHARACTER(len=21) ::   clnam4   ! filename (vertical   mesh informations) 
    141142      INTEGER           ::   ji, jj, jk   ! dummy loop indices 
     143      INTEGER           ::   izco, izps, isco, icav 
    142144      !                                   !  workspaces 
    143145      REAL(wp), POINTER, DIMENSION(:,:  ) :: zprt, zprw  
     
    193195      CALL iom_rstput( 0, 0, inum2, 'jpkglo', REAL( jpk   , wp), ktype = jp_i4 ) 
    194196 
    195  
    196  
    197  
     197      !                                                         ! domain characteristics 
     198      CALL iom_rstput( 0, 0, inum2, 'jperio', REAL( jperio, wp), ktype = jp_i4 ) 
     199      !                                                         ! type of vertical coordinate 
     200      IF( ln_zco    ) THEN   ;   izco = 1   ;   ELSE   ;   izco = 0   ;   ENDIF 
     201      IF( ln_zps    ) THEN   ;   izps = 1   ;   ELSE   ;   izps = 0   ;   ENDIF 
     202      IF( ln_sco    ) THEN   ;   isco = 1   ;   ELSE   ;   isco = 0   ;   ENDIF 
     203      CALL iom_rstput( 0, 0, inum, 'ln_zco'   , REAL( izco, wp), ktype = jp_i4 ) 
     204      CALL iom_rstput( 0, 0, inum, 'ln_zps'   , REAL( izps, wp), ktype = jp_i4 ) 
     205      CALL iom_rstput( 0, 0, inum, 'ln_sco'   , REAL( isco, wp), ktype = jp_i4 ) 
     206      !                                                         ! ocean cavities under iceshelves 
     207      IF( ln_isfcav ) THEN   ;   icav = 1   ;   ELSE   ;   icav = 0   ;   ENDIF 
     208      CALL iom_rstput( 0, 0, inum, 'ln_isfcav', REAL( icav, wp), ktype = jp_i4 ) 
     209   
    198210      !                                                         ! masks (inum2)  
    199211      CALL iom_rstput( 0, 0, inum2, 'tmask', tmask, ktype = jp_i1 )     !    ! land-sea mask 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OPA_SRC/DOM/domzgr.F90

    r6596 r6624  
    2323   !!---------------------------------------------------------------------- 
    2424   !!   dom_zgr          : defined the ocean vertical coordinate system 
     25   !!       zgr_read     : read the vertical domain coordinate and mask in domain_cfg file 
    2526   !!       zgr_bat      : bathymetry fields (levels and meters) 
    2627   !!       zgr_bat_ctl  : check the bathymetry files 
     
    177178      ! 
    178179   END SUBROUTINE dom_zgr 
     180 
     181 
     182   SUBROUTINE zgr_read( pdept_1d, pdepw_1d, pe3t_1d , pe3w_1d ,    & 
     183      &                 pdept , pdepw ,              &    ! gridpoints depth (required) 
     184      &                 pe3t  , pe3u  , pe3v   , pe3w ,   &    ! scale factors       (required) 
     185      &                 ptmask , pumask , pvmask , pfmask,   & 
     186      &                 pbathy , prisfdep,    & 
     187      &                 kbathy, kbkt, kisfdep    ) 
     188!      &                 pe3f  , pe3uw , pe3vw             )    ! u- & v-surfaces (if gridsize reduction in some straits) 
     189      !!--------------------------------------------------------------------- 
     190      !!              ***  ROUTINE zgr_read  *** 
     191      !! 
     192      !! ** Purpose :   Read the vertical information in a domain_cfg.nc file 
     193      !! 
     194      !!---------------------------------------------------------------------- 
     195      REAL(wp), DIMENSION(:,:,:), INTENT(out) ::   pdept_1d, pdepw_1d          ! 1D grid-point depth     [m] 
     196      REAL(wp), DIMENSION(:,:,:), INTENT(out) ::   pe3t_1d , pe3w_1d           ! 1D grid-point depth     [m] 
     197      REAL(wp), DIMENSION(:,:,:), INTENT(out) ::   pdept, pdepw   !, pde3w         ! grid-point depth        [m] 
     198      REAL(wp), DIMENSION(:,:,:), INTENT(out) ::   pe3t , pe3u , pe3v , pe3w   ! vertical scale factors  [m] 
     199!      REAL(wp), DIMENSION(:,:,:), INTENT(out) ::   pe3f , pe3uw, pe3vw         ! i-scale factors  
     200      REAL(wp), DIMENSION(:,:,:), INTENT(out) ::   ptmask , pumask , pvmask , pfmask   ! masks  [-] 
     201      REAL(wp), DIMENSION(:,:)  , INTENT(out) ::   pbathy , prisfdep   ! bathymetry, iceshelf depth  [m] 
     202      INTEGER , DIMENSION(:,:)  , INTENT(out) ::   kbathy, kbkt, kisfdep   ! bathymetry, iceshelf depth  [m] 
     203      ! 
     204      INTEGER  ::   inum   ! local logical unit 
     205      REAL(wp), DIMENSION(jpi,jpj) ::   z2d   ! 2D workspace 
     206      !!---------------------------------------------------------------------- 
     207      ! 
     208      IF(lwp) THEN 
     209         WRITE(numout,*) 
     210         WRITE(numout,*) 'hgr_read : read the vertical coordinates in mesh_mask' 
     211         WRITE(numout,*) '~~~~~~~~      jpiglo = ', jpiglo, ' jpjglo = ', jpjglo, ' jpk = ', jpk 
     212      ENDIF 
     213      ! 
     214      CALL iom_open( 'mesh_mask', inum ) 
     215      ! 
     216      CALL iom_get( inum, jpdom_unknown, 'gdept_1d', pdept_1d )   ! reference 1D-coordinate 
     217      CALL iom_get( inum, jpdom_unknown, 'gdepw_1d', pdepw_1d ) 
     218      CALL iom_get( inum, jpdom_unknown, 'e3t_1d'  , pe3t_1d  ) 
     219      CALL iom_get( inum, jpdom_unknown, 'e3w_1d'  , pe3w_1d  ) 
     220      ! 
     221      CALL iom_get( inum, jpdom_data, 'gdept_0', pdept, lrowattr=ln_use_jattr )  ! depth 
     222      CALL iom_get( inum, jpdom_data, 'gdepw_0', pdepw, lrowattr=ln_use_jattr ) 
     223!      CALL iom_get( inum, jpdom_data, 'gde3w_0', pde3w, lrowattr=ln_use_jattr ) 
     224      ! 
     225      CALL iom_get( inum, jpdom_data, 'e3t_0'  , pe3t , lrowattr=ln_use_jattr )  ! vertical scale factors 
     226      CALL iom_get( inum, jpdom_data, 'e3u_0'  , pe3u , lrowattr=ln_use_jattr ) 
     227      CALL iom_get( inum, jpdom_data, 'e3v_0'  , pe3v , lrowattr=ln_use_jattr ) 
     228!      CALL iom_get( inum, jpdom_data, 'e3f_0'  , pe3f , lrowattr=ln_use_jattr ) 
     229      CALL iom_get( inum, jpdom_data, 'e3w_0'  , pe3w , lrowattr=ln_use_jattr ) 
     230!      CALL iom_get( inum, jpdom_data, 'e3uw_0' , pe3uw, lrowattr=ln_use_jattr ) 
     231!      CALL iom_get( inum, jpdom_data, 'e3vw_0' , pe3vw, lrowattr=ln_use_jattr ) 
     232 
     233 
     234 
     235 
     236 
     237      CALL iom_get( inum, jpdom_data, 'tmask'   , ptmask )   ! masks 
     238      CALL iom_get( inum, jpdom_data, 'umask'   , pumask ) 
     239      CALL iom_get( inum, jpdom_data, 'vmask'   , pvmask ) 
     240      CALL iom_get( inum, jpdom_data, 'fmask'   , pfmask ) 
     241       
     242 
     243!!gm  Probably not required fields : 
     244      CALL iom_get( inum, jpdom_data, 'bathy'  , bathy  )   ! depth of the ocean at T-points 
     245      CALL iom_get( inum, jpdom_data, 'mbathy' , z2d    )  ! nb of ocean T-points 
     246      kbathy(:,:) = INT( z2d(:,:) ) 
     247      CALL iom_get( inum, jpdom_data, 'mbkt'   , z2d )   ! nb of ocean T-points 
     248      kbkt(:,:) = INT( z2d(:,:) ) 
     249 
     250      ! 
     251      CALL iom_get( inum, jpdom_data, 'bathy'  , risfdep )   ! depth of the iceshelves at T-points 
     252      CALL iom_get( inum, jpdom_data, 'misfdep', z2d     )   ! nb of ocean T-points (ISF) 
     253      kisfdep(:,:) = INT( z2d(:,:) ) 
     254 
     255 
     256      ! 
     257      CALL iom_close( inum ) 
     258      ! 
     259   END SUBROUTINE zgr_read 
    179260 
    180261 
     
    457538            END DO 
    458539         END DO 
    459          risfdep(:,:)=0.e0 
    460          misfdep(:,:)=1 
     540         risfdep(:,:) = 0._wp 
     541         misfdep(:,:) = 1 
    461542         ! 
    462543         DEALLOCATE( idta, zdta ) 
     
    507588            CALL iom_close( inum ) 
    508589            !                                                 
    509             risfdep(:,:)=0._wp          
    510             misfdep(:,:)=1              
     590            risfdep(:,:) = 0._wp          
     591            misfdep(:,:) = 1              
    511592            IF ( ln_isfcav ) THEN 
    512593               CALL iom_open ( 'isf_draft_meter.nc', inum )  
     
    518599               ! (a treshold could be set here if needed, or set it offline based on the grounded fraction) 
    519600               WHERE ( bathy(:,:) <= risfdep(:,:) + rn_isfhmin ) 
    520                   misfdep(:,:) = 0 ; risfdep(:,:) = 0._wp 
    521                   mbathy (:,:) = 0 ; bathy  (:,:) = 0._wp 
     601                  misfdep(:,:) = 0   ;  risfdep(:,:) = 0._wp 
     602                  mbathy (:,:) = 0   ;  bathy  (:,:) = 0._wp 
    522603               END WHERE 
    523604            END IF 
     
    11301211      END DO  
    11311212      WHERE ( 0._wp < risfdep(:,:) .AND. risfdep(:,:) <= e3t_1d(1) ) 
    1132          risfdep(:,:) = 0. ; misfdep(:,:) = 1 
     1213         risfdep(:,:) = 0._wp   ;  misfdep(:,:) = 1 
    11331214      END WHERE 
    11341215 
     
    11491230         ! check at each iteration if isf is grounded or not (1cm treshold have to be update after first coupling experiments) 
    11501231         WHERE (bathy(:,:) <= risfdep(:,:) + rn_isfhmin) 
    1151             misfdep(:,:) = 0 ; risfdep(:,:) = 0._wp 
    1152             mbathy (:,:) = 0 ; bathy  (:,:) = 0._wp 
     1232            misfdep(:,:) = 0   ;  risfdep(:,:) = 0._wp 
     1233            mbathy (:,:) = 0   ;  bathy  (:,:) = 0._wp 
    11531234         END WHERE 
    11541235         WHERE (mbathy(:,:) <= 0)  
    1155             misfdep(:,:) = 0; risfdep(:,:) = 0._wp  
    1156             mbathy (:,:) = 0; bathy  (:,:) = 0._wp 
     1236            misfdep(:,:) = 0   ;  risfdep(:,:) = 0._wp  
     1237            mbathy (:,:) = 0   ;  bathy  (:,:) = 0._wp 
    11571238         END WHERE 
    11581239         IF( lk_mpp ) THEN 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OPA_SRC/DOM/phycst.F90

    r5147 r6624  
    100100      !!                       ***  ROUTINE phy_cst  *** 
    101101      !! 
    102       !! ** Purpose :   Print model parameters and set and print the constants 
    103       !!---------------------------------------------------------------------- 
    104       CHARACTER (len=64) ::   cform = "(A12, 3(A13, I7) )"  
     102      !! ** Purpose :   set and print the constants 
    105103      !!---------------------------------------------------------------------- 
    106104 
    107105      IF(lwp) WRITE(numout,*) 
    108       IF(lwp) WRITE(numout,*) ' phy_cst : initialization of ocean parameters and constants' 
     106      IF(lwp) WRITE(numout,*) ' phy_cst : initialization of physical constants' 
    109107      IF(lwp) WRITE(numout,*) ' ~~~~~~~' 
    110108 
    111       ! Ocean Parameters 
    112       ! ---------------- 
    113       IF(lwp) THEN 
    114          WRITE(numout,*) '       Domain info' 
    115          WRITE(numout,*) '          dimension of model' 
    116          WRITE(numout,*) '                 Local domain      Global domain       Data domain ' 
    117          WRITE(numout,cform) '            ','   jpi     : ', jpi, '   jpiglo  : ', jpiglo, '   jpidta  : ', jpidta 
    118          WRITE(numout,cform) '            ','   jpj     : ', jpj, '   jpjglo  : ', jpjglo, '   jpjdta  : ', jpjdta 
    119          WRITE(numout,cform) '            ','   jpk     : ', jpk, '   jpk     : ', jpk   , '   jpkdta  : ', jpkdta 
    120          WRITE(numout,*)      '           ','   jpij    : ', jpij 
    121          WRITE(numout,*) '          mpp local domain info (mpp)' 
    122          WRITE(numout,*) '             jpni    : ', jpni, '   jpreci  : ', jpreci 
    123          WRITE(numout,*) '             jpnj    : ', jpnj, '   jprecj  : ', jprecj 
    124          WRITE(numout,*) '             jpnij   : ', jpnij 
    125          WRITE(numout,*) '          lateral domain boundary condition type : jperio  = ', jperio 
    126       ENDIF 
    127  
    128       ! Define constants 
    129       ! ---------------- 
     109      ! Define & print constants 
     110      ! ------------------------ 
    130111      IF(lwp) WRITE(numout,*) 
    131112      IF(lwp) WRITE(numout,*) '       Constants' 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OPA_SRC/nemogcm.F90

    r6596 r6624  
    238238      INTEGER  ::   ilocal_comm   ! local integer 
    239239      INTEGER  ::   ios, inum     !   -      - 
    240       REAL(wp) ::   ziglo, zjglo, zkglo   ! local scalars 
     240      REAL(wp) ::   ziglo, zjglo, zkglo, zperio   ! local scalars 
    241241      CHARACTER(len=120), DIMENSION(16) ::   cltxt, cltxt2, clnam, clbug 
    242242      ! 
     
    244244         &             nn_isplt, nn_jsplt, nn_jctls, nn_jctle,   & 
    245245         &             nn_timing, nn_diacfl 
    246       NAMELIST/namcfg/ ln_read_cfg, cp_cfg, cp_cfz, jp_cfg,   & 
    247          &             jperio, ln_use_jattr 
     246      NAMELIST/namcfg/ ln_read_cfg, cp_cfg, jp_cfg, ln_use_jattr 
    248247      !!---------------------------------------------------------------------- 
    249248      ! 
     
    284283 
    285284      !                             !--------------------------! 
    286       !                             !  Set global domain size  ! 
     285      !                             !  Set global domain size  !   (control print return in cltxt2) 
    287286      !                             !--------------------------! 
    288287      IF( ln_read_cfg ) THEN              ! Read sizes in configuration "mesh_mask" file 
    289          CALL iom_open( 'mesh_mask', inum ) 
    290          CALL iom_get( inum, 'jpiglo', ziglo )   ;   jpiglo = INT( ziglo ) 
    291          CALL iom_get( inum, 'jpjglo', zjglo )   ;   jpjglo = INT( zjglo ) 
    292          CALL iom_get( inum, 'jpkglo', zkglo )   ;   jpkglo = INT( zkglo ) 
     288         CALL iom_open( 'domain_cfg', inum ) 
     289         CALL iom_get( inum, 'jpiglo', ziglo  )   ;   jpiglo = INT( ziglo ) 
     290         CALL iom_get( inum, 'jpjglo', zjglo  )   ;   jpjglo = INT( zjglo ) 
     291         CALL iom_get( inum, 'jpkglo', zkglo  )   ;   jpkglo = INT( zkglo ) 
     292         CALL iom_get( inum, 'jperio', zperio )   ;   jperio = INT( zperio ) 
    293293         CALL iom_close( inum ) 
    294294         WRITE(cltxt2(1),*)        
    295          WRITE(cltxt2(2),*) 'mesh_mask : domain size read in "mesh_mask" file : i,j,k = ', jpiglo, jpjglo, jpk         
    296          WRITE(cltxt2(3),*) '~~~~~~~~~'         
    297       ELSE                                ! user-defined namelist (control print return in cltxt2) 
    298          CALL usr_def_nam( cltxt2, clnam, jpiglo, jpjglo, jpkglo ) 
     295         WRITE(cltxt2(2),*) 'domain_cfg : domain size read in "domain_cfg" file : jp(i,j,k)glo = ', jpiglo, jpjglo, jpkglo         
     296         WRITE(cltxt2(3),*) '~~~~~~~~~~   lateral boudary type of the global domain      jperio= ', jperio 
     297         !         
     298      ELSE                                ! user-defined namelist 
     299         CALL usr_def_nam( cltxt2, clnam, jpiglo, jpjglo, jpkglo, jperio ) 
    299300      ENDIF 
    300301      jpk    = jpkglo 
     
    426427         WRITE(numout,*) 
    427428         DO ji = 1, SIZE(cltxt2) 
    428             IF( TRIM(cltxt2(ji)) /= '' )   WRITE(numout,*) cltxt2(ji)     ! control print of domain size 
     429!            IF( TRIM(cltxt2(ji)) /= '' )   WRITE(numout,*) cltxt2(ji)     ! control print of domain size 
     430            IF( cltxt2(ji) /= '' )   WRITE(numout,*) cltxt2(ji)     ! control print of domain size 
    429431         END DO 
    430432         ! 
     
    433435      ENDIF 
    434436 
    435       ! Now we know the dimensions of the grid and numout has been set we can 
    436       ! allocate arrays 
     437      ! Now we know the dimensions of the grid and numout has been set: we can allocate arrays 
    437438      CALL nemo_alloc() 
    438  
    439       WRITE(numout,*) ' -after alloc--    nstop', nstop 
    440  
    441439      !                             !-------------------------------! 
    442440      !                             !  NEMO general initialization  ! 
     
    601599         WRITE(numout,*) '      read configuration definition files          ln_read_cfg = ', ln_read_cfg 
    602600         WRITE(numout,*) '      configuration name                               cp_cfg  = ', TRIM(cp_cfg) 
    603          WRITE(numout,*) '      configuration zoom name                          cp_cfz  = ', TRIM(cp_cfz) 
    604601         WRITE(numout,*) '      configuration resolution                         jp_cfg  = ', jp_cfg 
    605          WRITE(numout,*) '      lateral cond. type (between 0 and 6)             jperio  = ', jperio    
    606602         WRITE(numout,*) '      use file attribute if exists as i/p j-start ln_use_jattr = ', ln_use_jattr 
    607603      ENDIF 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OPA_SRC/par_oce.F90

    r6596 r6624  
    3030   LOGICAL       ::   ln_read_cfg      !: logical to read all needed files for a configuration 
    3131   CHARACTER(lc) ::   cp_cfg           !: name of the configuration 
    32    CHARACTER(lc) ::   cp_cfz           !: name of the zoom of configuration 
    3332   INTEGER       ::   jp_cfg           !: resolution of the configuration 
    3433 
     
    7170 
    7271 
    73    ! Domain characteristics 
    74    INTEGER       ::   jperio         !: lateral cond. type (between 0 and 6) 
    75    !                                      !  = 0 closed                 ;   = 1 cyclic East-West 
    76    !                                      !  = 2 equatorial symmetric   ;   = 3 North fold T-point pivot 
    77    !                                      !  = 4 cyclic East-West AND North fold T-point pivot 
    78    !                                      !  = 5 North fold F-point pivot 
    79    !                                      !  = 6 cyclic East-West AND North fold F-point pivot 
    80  
    8172   ! Input file read offset 
    8273   LOGICAL       ::   ln_use_jattr   !: Use file global attribute: open_ocean_jstart to determine start j-row  
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OPA_SRC/usrdef.F90

    r6596 r6624  
    3838CONTAINS 
    3939 
    40    SUBROUTINE usr_def_nam( ldtxt, ldnam, kpi, kpj, kpk ) 
     40   SUBROUTINE usr_def_nam( ldtxt, ldnam, kpi, kpj, kpk, kperio ) 
    4141      !!---------------------------------------------------------------------- 
    4242      !!                     ***  ROUTINE dom_nam  *** 
     
    5252      CHARACTER(len=*), DIMENSION(:), INTENT(out) ::   ldtxt, ldnam    ! stored print information 
    5353      INTEGER                       , INTENT(out) ::   kpi, kpj, kpk   ! global domain sizes  
     54      INTEGER                       , INTENT(out) ::   kperio          ! lateral global domain b.c.  
    5455      ! 
    5556      INTEGER ::   ios, ii   ! Local integer 
     
    7273      ! 
    7374      !                             ! control print 
    74       WRITE(ldtxt(ii),*)                                                                              ;   ii = ii + 1 
     75      WRITE(ldtxt(ii),*) '   '                                                                            ;   ii = ii + 1 
    7576      WRITE(ldtxt(ii),*) 'usr_def_nam  : read the user defined namelist (namusr_def) in namelist_cfg'     ;   ii = ii + 1 
    7677      WRITE(ldtxt(ii),*) '~~~~~~~~~~~ '                                                                   ;   ii = ii + 1 
     
    8182      WRITE(ldtxt(ii),*) '         jpjglo = 20*nn_GYRE+2                            jpjglo = ', kpj       ;   ii = ii + 1 
    8283      WRITE(ldtxt(ii),*) '      number of model levels                           jpkglo    = ', kpk       ;   ii = ii + 1 
     84 
     85      !                             ! Set the lateral boundary condition of the global domain 
     86      kperio = 0                    ! GYRE configuration : closed domain 
     87      ! 
     88      WRITE(ldtxt(ii),*) '   '                                                                        ;   ii = ii + 1 
     89      WRITE(ldtxt(ii),*) '   Lateral b.c. of the global domain set to closed     jperio = ', kperio   ;   ii = ii + 1 
    8390      ! 
    8491   END SUBROUTINE usr_def_nam 
     
    9097      &                    pe1t  , pe1u  , pe1v   , pe1f   ,   &   ! scale factors       (required) 
    9198      &                    pe2t  , pe2u  , pe2v   , pe2f   ,   &   ! 
    92       &                    ke1e2u_v      , pe1e2u , pe1e2v      ! u- & v-surfaces (if gridsize reduction is used in strait(s)) 
     99      &                    ke1e2u_v      , pe1e2u , pe1e2v     )   ! u- & v-surfaces (if gridsize reduction is used in strait(s)) 
    93100      !!---------------------------------------------------------------------- 
    94101      !!                  ***  ROUTINE usr_def_hgr  *** 
     
    128135      ! 
    129136      IF(lwp) WRITE(numout,*) 
    130       IF(lwp) WRITE(numout,*) '          beta-plane with regular grid-spacing and rotated domain (GYRE configuration)' 
     137      IF(lwp) WRITE(numout,*) 'usr_def_hgr : GYRE configuration (beta-plane with rotated regular grid-spacing)' 
     138      IF(lwp) WRITE(numout,*) '~~~~~~~~~~~' 
     139      ! 
    131140      ! 
    132141      !                       !==  grid point position  ==! 
Note: See TracChangeset for help on using the changeset viewer.