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 6596 – NEMO

Changeset 6596


Ignore:
Timestamp:
2016-05-22T20:11:06+02:00 (8 years ago)
Author:
gm
Message:

#1692 - branch SIMPLIF_2_usrdef: remove from namcfg and namdom many obsolete variables ; remove izoom/jzoom option

Location:
branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM
Files:
59 edited

Legend:

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

    r6595 r6596  
    2222   cp_cfg      =  "amm"                !  name of the configuration 
    2323   jp_cfg      =     011               !  resolution of the configuration 
    24    jpidta      =     198               !  1st lateral dimension ( >= jpi ) 
    25    jpjdta      =     224               !  2nd    "         "    ( >= jpj ) 
    26    jpkdta      =      51               !  number of levels      ( >= jpk ) 
    27    jpiglo      =     198               !  1st dimension of global domain --> i =jpidta 
    28    jpjglo      =     224               !  2nd    -                  -    --> j  =jpjdta 
    29    jpizoom     =       1               !  left bottom (i,j) indices of the zoom 
    30    jpjzoom     =       1               !  in data domain indices 
     24!   jpkdta      =      51               !  number of levels      ( >= jpk ) 
     25!   jpiglo      =     198               !  1st dimension of global domain --> i =jpidta 
     26!   jpjglo      =     224               !  2nd    -                  -    --> j  =jpjdta 
    3127   jperio      =       0               !  lateral cond. type (between 0 and 6) 
    3228/ 
     
    4945!----------------------------------------------------------------------- 
    5046   rn_rdt      =   600.    !  time step for the dynamics (and tracer if nn_acc=0) 
    51    ppglam0     =  999999.0             !  longitude of first raw and column T-point (jphgr_msh = 1) 
    52    ppgphi0     =  999999.0             ! latitude  of first raw and column T-point (jphgr_msh = 1) 
    53    ppe1_deg    =  999999.0             !  zonal      grid-spacing (degrees) 
    54    ppe2_deg    =  999999.0             !  meridional grid-spacing (degrees) 
    55    ppe1_m      =  999999.0             !  zonal      grid-spacing (degrees) 
    56    ppe2_m      =  999999.0             !  meridional grid-spacing (degrees) 
    5747   ppsur       =  999999.0             !  ORCA r4, r2 and r05 coefficients 
    5848   ppa0        =  999999.0             ! (default coefficients) 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/CONFIG/C1D_PAPA/EXP00/namelist_cfg

    r6595 r6596  
    1818   cp_cfg      =  "papa"                 !  name of the configuration 
    1919   jp_cfg      =       1                 !  resolution of the configuration 
    20    jpidta      =       3                 !  1st lateral dimension ( >= jpi ) = 30*jp_cfg+2 
    21    jpjdta      =       3                 !  2nd    "         "    ( >= jpj ) = 20*jp_cfg+2  
    22    jpkdta      =      75                 !  number of levels      ( >= jpk ) 
    23    jpiglo      =       3                 !  1st dimension of global domain --> i  = jpidta 
    24    jpjglo      =       3                 !  2nd    -                  -    --> j  = jpjdta 
    25    jpizoom     =       1                 !  left bottom (i,j) indices of the zoom 
    26    jpjzoom     =       1                 !  in data domain indices 
     20!   jpidta      =       3                 !  1st lateral dimension ( >= jpi ) = 30*jp_cfg+2 
     21!   jpjdta      =       3                 !  2nd    "         "    ( >= jpj ) = 20*jp_cfg+2  
     22!   jpkdta      =      75                 !  number of levels      ( >= jpk ) 
     23!   jpiglo      =       3                 !  1st dimension of global domain --> i  = jpidta 
     24!   jpjglo      =       3                 !  2nd    -                  -    --> j  = jpjdta 
    2725   jperio      =       0                 !  lateral cond. type (between 0 and 6) 
    2826/ 
     
    4341   nn_msh      =    0      !  create (=1) a mesh file or not (=0) 
    4442   rn_rdt      =  360.     !  time step for the dynamics  
    45    jphgr_msh   =       1                 !  type of horizontal mesh 
    4643   ppglam0     =    -150.0               !  longitude of first raw and column T-point (jphgr_msh = 1) 
    4744   ppgphi0     =      50.0               ! latitude  of first raw and column T-point (jphgr_msh = 1) 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/CONFIG/GYRE/EXP00/namelist_cfg

    r6595 r6596  
    2626&namcfg     !   parameters of the configuration    
    2727!----------------------------------------------------------------------- 
    28    ln_read_cfg = .false.  !!gm .false.   !  flag to read (.true.) configuration definition files (coordinates, 
     28   ln_read_cfg = .true.  !!gm .false.   !  flag to read (.true.) configuration definition files (coordinates, 
    2929   cp_cfg      =  "gyre"                 !  name of the configuration 
    3030   jp_cfg      =       1                 !  resolution of the configuration 
    31    jpidta      =      32                 !  1st lateral dimension ( >= jpi ) = 30*jp_cfg+2 
    32    jpjdta      =      22                 !  2nd    "         "    ( >= jpj ) = 20*jp_cfg+2  
    33    jpkdta      =      31                 !  number of levels      ( >= jpk ) 
    34    jpiglo      =      32                 !  1st dimension of global domain --> i  = jpidta 
    35    jpjglo      =      22                 !  2nd    -                  -    --> j  = jpjdta 
    36    jpizoom     =       1                 !  left bottom (i,j) indices of the zoom 
    37    jpjzoom     =       1                 !  in data domain indices 
    3831   jperio      =       0                 !  lateral cond. type (between 0 and 6) 
    3932/ 
     
    5346   nn_bathy    =    0      !  compute (=0) or read (=1) the bathymetry file 
    5447   rn_rdt      = 7200.     !  time step for the dynamics  
    55    jphgr_msh   =       5                 !  type of horizontal mesh 
    5648   nn_msh      =    1      !  create (=1) a mesh file or not (=0) 
    57    ppglam0     =       0.0               !  longitude of first raw and column T-point (jphgr_msh = 1) 
    58    ppgphi0     =      29.0               ! latitude  of first raw and column T-point (jphgr_msh = 1) 
    59    ppe1_deg    =  999999.0               !  zonal      grid-spacing (degrees) 
    60    ppe2_deg    =  999999.0               !  meridional grid-spacing (degrees) 
    61    ppe1_m      =  999999.0               !  zonal      grid-spacing (degrees) 
    62    ppe2_m      =  999999.0               !  meridional grid-spacing (degrees) 
    6349   ppsur       =   -2033.194295283385    !  ORCA r4, r2 and r05 coefficients 
    6450   ppa0        =     155.8325369664153   ! (default coefficients) 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/CONFIG/GYRE_BFM/EXP00/namelist_cfg

    r6595 r6596  
    2424   cp_cfg      =  "gyre"                 !  name of the configuration 
    2525   jp_cfg      =       1                 !  resolution of the configuration 
    26    jpidta      =      32                 !  1st lateral dimension ( >= jpi ) = 30*jp_cfg+2 
    27    jpjdta      =      22                 !  2nd    "         "    ( >= jpj ) = 20*jp_cfg+2  
    28    jpkdta      =      31                 !  number of levels      ( >= jpk ) 
    29    jpiglo      =      32                 !  1st dimension of global domain --> i  = jpidta 
    30    jpjglo      =      22                 !  2nd    -                  -    --> j  = jpjdta 
    31    jpizoom     =       1                 !  left bottom (i,j) indices of the zoom 
    32    jpjzoom     =       1                 !  in data domain indices 
    3326   jperio      =       0                 !  lateral cond. type (between 0 and 6) 
    3427/ 
     
    4740   nn_bathy    =    0      !  compute (=0) or read (=1) the bathymetry file 
    4841   rn_rdt      = 7200.     !  time step for the dynamics  
    49    jphgr_msh   =       5                 !  type of horizontal mesh 
    50    ppglam0     =       0.0               !  longitude of first raw and column T-point (jphgr_msh = 1) 
    51    ppgphi0     =      29.0               ! latitude  of first raw and column T-point (jphgr_msh = 1) 
    52    ppe1_deg    =  999999.0               !  zonal      grid-spacing (degrees) 
    53    ppe2_deg    =  999999.0               !  meridional grid-spacing (degrees) 
    54    ppe1_m      =  999999.0               !  zonal      grid-spacing (degrees) 
    55    ppe2_m      =  999999.0               !  meridional grid-spacing (degrees) 
    5642   ppsur       =   -2033.194295283385    !  ORCA r4, r2 and r05 coefficients 
    5743   ppa0        =     155.8325369664153   ! (default coefficients) 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/CONFIG/GYRE_PISCES/EXP00/namelist_cfg

    r6595 r6596  
    1717   cp_cfg      =  "gyre"                 !  name of the configuration 
    1818   jp_cfg      =       1                 !  resolution of the configuration 
    19    jpidta      =      32                 !  1st lateral dimension ( >= jpi ) = 30*jp_cfg+2 
    20    jpjdta      =      22                 !  2nd    "         "    ( >= jpj ) = 20*jp_cfg+2  
    21    jpkdta      =      31                 !  number of levels      ( >= jpk ) 
    22    jpiglo      =      32                 !  1st dimension of global domain --> i  = jpidta 
    23    jpjglo      =      22                 !  2nd    -                  -    --> j  = jpjdta 
    24    jpizoom     =       1                 !  left bottom (i,j) indices of the zoom 
    25    jpjzoom     =       1                 !  in data domain indices 
    2619   jperio      =       0                 !  lateral cond. type (between 0 and 6) 
    2720/ 
     
    3730   nn_bathy    =    0      !  compute (=0) or read (=1) the bathymetry file 
    3831   rn_rdt      = 7200.     !  time step for the dynamics  
    39    jphgr_msh   =       5                 !  type of horizontal mesh 
    40    ppglam0     =       0.0               !  longitude of first raw and column T-point (jphgr_msh = 1) 
    41    ppgphi0     =      29.0               ! latitude  of first raw and column T-point (jphgr_msh = 1) 
    42    ppe1_deg    =  999999.0               !  zonal      grid-spacing (degrees) 
    43    ppe2_deg    =  999999.0               !  meridional grid-spacing (degrees) 
    44    ppe1_m      =  999999.0               !  zonal      grid-spacing (degrees) 
    45    ppe2_m      =  999999.0               !  meridional grid-spacing (degrees) 
    4632   ppsur       =   -2033.194295283385    !  ORCA r4, r2 and r05 coefficients 
    4733   ppa0        =     155.8325369664153   ! (default coefficients) 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/CONFIG/GYRE_XIOS/EXP00/namelist_cfg

    r6595 r6596  
    1717   cp_cfg      =  "gyre"                 !  name of the configuration 
    1818   jp_cfg      =       1                 !  resolution of the configuration 
    19    jpidta      =      32                 !  1st lateral dimension ( >= jpi ) = 30*jp_cfg+2 
    20    jpjdta      =      22                 !  2nd    "         "    ( >= jpj ) = 20*jp_cfg+2  
    21    jpkdta      =      31                 !  number of levels      ( >= jpk ) 
    22    jpiglo      =      32                 !  1st dimension of global domain --> i  = jpidta 
    23    jpjglo      =      22                 !  2nd    -                  -    --> j  = jpjdta 
    24    jpizoom     =       1                 !  left bottom (i,j) indices of the zoom 
    25    jpjzoom     =       1                 !  in data domain indices 
    2619   jperio      =       0                 !  lateral cond. type (between 0 and 6) 
    2720/ 
     
    4134   nn_bathy    =    0      !  compute (=0) or read (=1) the bathymetry file 
    4235   rn_rdt      = 7200.     !  time step for the dynamics  
    43 !   nn_baro     =   60      !  number of barotropic time step            ("key_dynspg_ts") 
    44    jphgr_msh   =       5                 !  type of horizontal mesh 
    45    ppglam0     =       0.0               !  longitude of first raw and column T-point (jphgr_msh = 1) 
    46    ppgphi0     =      29.0               ! latitude  of first raw and column T-point (jphgr_msh = 1) 
    47    ppe1_deg    =  999999.0               !  zonal      grid-spacing (degrees) 
    48    ppe2_deg    =  999999.0               !  meridional grid-spacing (degrees) 
    49    ppe1_m      =  999999.0               !  zonal      grid-spacing (degrees) 
    50    ppe2_m      =  999999.0               !  meridional grid-spacing (degrees) 
    5136   ppsur       =   -2033.194295283385    !  ORCA r4, r2 and r05 coefficients 
    5237   ppa0        =     155.8325369664153   ! (default coefficients) 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/CONFIG/ORCA2_LIM/EXP00/1_namelist_cfg

    r6595 r6596  
    3535&namdom        !   space and time domain (bathymetry, mesh, timestep) 
    3636!-----------------------------------------------------------------------   
    37    jphgr_msh   =       0               !  type of horizontal mesh 
    38    ppglam0     =  999999.0             !  longitude of first raw and column T-point (jphgr_msh = 1) 
    39    ppgphi0     =  999999.0             ! latitude  of first raw and column T-point (jphgr_msh = 1) 
    40    ppe1_deg    =  999999.0             !  zonal      grid-spacing (degrees) 
    41    ppe2_deg    =  999999.0             !  meridional grid-spacing (degrees) 
    42    ppe1_m      =  999999.0             !  zonal      grid-spacing (degrees) 
    43    ppe2_m      =  999999.0             !  meridional grid-spacing (degrees) 
    4437   ppsur       =   -4762.96143546300   !  ORCA r4, r2 and r05 coefficients 
    4538   ppa0        =     255.58049070440   ! (default coefficients) 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/CONFIG/ORCA2_LIM/EXP00/namelist_cfg

    r6595 r6596  
    3434&namdom        !   space and time domain (bathymetry, mesh, timestep) 
    3535!----------------------------------------------------------------------- 
    36    jphgr_msh   =       0               !  type of horizontal mesh 
    37    ppglam0     =  999999.0             !  longitude of first raw and column T-point (jphgr_msh = 1) 
    38    ppgphi0     =  999999.0             ! latitude  of first raw and column T-point (jphgr_msh = 1) 
    39    ppe1_deg    =  999999.0             !  zonal      grid-spacing (degrees) 
    40    ppe2_deg    =  999999.0             !  meridional grid-spacing (degrees) 
    41    ppe1_m      =  999999.0             !  zonal      grid-spacing (degrees) 
    42    ppe2_m      =  999999.0             !  meridional grid-spacing (degrees) 
    4336   ppsur       =   -4762.96143546300   !  ORCA r4, r2 and r05 coefficients 
    4437   ppa0        =     255.58049070440   ! (default coefficients) 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/CONFIG/ORCA2_LIM3/EXP00/namelist_cfg

    r6595 r6596  
    3333&namdom        !   space and time domain (bathymetry, mesh, timestep) 
    3434!----------------------------------------------------------------------- 
    35    jphgr_msh   =       0               !  type of horizontal mesh 
    36    ppglam0     =  999999.0             !  longitude of first raw and column T-point (jphgr_msh = 1) 
    37    ppgphi0     =  999999.0             ! latitude  of first raw and column T-point (jphgr_msh = 1) 
    38    ppe1_deg    =  999999.0             !  zonal      grid-spacing (degrees) 
    39    ppe2_deg    =  999999.0             !  meridional grid-spacing (degrees) 
    40    ppe1_m      =  999999.0             !  zonal      grid-spacing (degrees) 
    41    ppe2_m      =  999999.0             !  meridional grid-spacing (degrees) 
    4235   ppsur       =   -4762.96143546300   !  ORCA r4, r2 and r05 coefficients 
    4336   ppa0        =     255.58049070440   ! (default coefficients) 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/CONFIG/ORCA2_LIM_CFC_C14b/EXP00/namelist_cfg

    r6595 r6596  
    4949&namdom        !   space and time domain (bathymetry, mesh, timestep) 
    5050!----------------------------------------------------------------------- 
    51    jphgr_msh   =       0               !  type of horizontal mesh 
    52    ppglam0     =  999999.0             !  longitude of first raw and column T-point (jphgr_msh = 1) 
    53    ppgphi0     =  999999.0             ! latitude  of first raw and column T-point (jphgr_msh = 1) 
    54    ppe1_deg    =  999999.0             !  zonal      grid-spacing (degrees) 
    55    ppe2_deg    =  999999.0             !  meridional grid-spacing (degrees) 
    56    ppe1_m      =  999999.0             !  zonal      grid-spacing (degrees) 
    57    ppe2_m      =  999999.0             !  meridional grid-spacing (degrees) 
    5851   ppsur       =   -4762.96143546300   !  ORCA r4, r2 and r05 coefficients 
    5952   ppa0        =     255.58049070440   ! (default coefficients) 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/CONFIG/ORCA2_LIM_PISCES/EXP00/namelist_cfg

    r6595 r6596  
    3030&namdom        !   space and time domain (bathymetry, mesh, timestep) 
    3131!----------------------------------------------------------------------- 
    32    jphgr_msh   =       0               !  type of horizontal mesh 
    33    ppglam0     =  999999.0             !  longitude of first raw and column T-point (jphgr_msh = 1) 
    34    ppgphi0     =  999999.0             ! latitude  of first raw and column T-point (jphgr_msh = 1) 
    35    ppe1_deg    =  999999.0             !  zonal      grid-spacing (degrees) 
    36    ppe2_deg    =  999999.0             !  meridional grid-spacing (degrees) 
    37    ppe1_m      =  999999.0             !  zonal      grid-spacing (degrees) 
    38    ppe2_m      =  999999.0             !  meridional grid-spacing (degrees) 
    3932   ppsur       =   -4762.96143546300   !  ORCA r4, r2 and r05 coefficients 
    4033   ppa0        =     255.58049070440   ! (default coefficients) 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/CONFIG/ORCA2_OFF_PISCES/EXP00/namelist_cfg

    r6595 r6596  
    3535   nn_msh      =    1      !  create (=1) a mesh file or not (=0) 
    3636   rn_rdt      = 21600.    !  time step for the dynamics  
    37    jphgr_msh   =       0               !  type of horizontal mesh 
    38    ppglam0     =  999999.0             !  longitude of first raw and column T-point (jphgr_msh = 1) 
    39    ppgphi0     =  999999.0             ! latitude  of first raw and column T-point (jphgr_msh = 1) 
    40    ppe1_deg    =  999999.0             !  zonal      grid-spacing (degrees) 
    41    ppe2_deg    =  999999.0             !  meridional grid-spacing (degrees) 
    42    ppe1_m      =  999999.0             !  zonal      grid-spacing (degrees) 
    43    ppe2_m      =  999999.0             !  meridional grid-spacing (degrees) 
     37                           ! 
    4438   ppsur       =   -4762.96143546300   !  ORCA r4, r2 and r05 coefficients 
    4539   ppa0        =     255.58049070440   ! (default coefficients) 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/CONFIG/ORCA2_SAS_LIM/EXP00/namelist_cfg

    r6595 r6596  
    3232&namdom        !   space and time domain (bathymetry, mesh, timestep) 
    3333!----------------------------------------------------------------------- 
    34    jphgr_msh   =       0               !  type of horizontal mesh 
    35    ppglam0     =  999999.0             !  longitude of first raw and column T-point (jphgr_msh = 1) 
    36    ppgphi0     =  999999.0             ! latitude  of first raw and column T-point (jphgr_msh = 1) 
    37    ppe1_deg    =  999999.0             !  zonal      grid-spacing (degrees) 
    38    ppe2_deg    =  999999.0             !  meridional grid-spacing (degrees) 
    39    ppe1_m      =  999999.0             !  zonal      grid-spacing (degrees) 
    40    ppe2_m      =  999999.0             !  meridional grid-spacing (degrees) 
    4134   ppsur       =   -4762.96143546300   !  ORCA r4, r2 and r05 coefficients 
    4235   ppa0        =     255.58049070440   ! (default coefficients) 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/CONFIG/SHARED/namelist_ref

    r6595 r6596  
    7777   cp_cfz      = "no zoom" !  name of the zoom of configuration 
    7878   jp_cfg      =      0    !  resolution of the configuration 
    79    jpidta      =     10    !  1st lateral dimension ( >= jpi ) 
    80    jpjdta      =     12    !  2nd    "         "    ( >= jpj ) 
    81    jpkdta      =     31    !  number of levels      ( >= jpk ) 
    82    jpiglo      =     10    !  1st dimension of global domain --> i =jpidta 
    83    jpjglo      =     12    !  2nd    -                  -    --> j =jpjdta 
    84    jpizoom     =      1    !  left bottom (i,j) indices of the zoom 
    85    jpjzoom     =      1    !  in data domain indices 
    8679   jperio      =      0    !  lateral cond. type (between 0 and 6) 
    8780                                 !  = 0 closed                 ;   = 1 cyclic East-West 
     
    141134   rn_rdt      = 5760.     !  time step for the dynamics (and tracer if nn_acc=0) 
    142135   rn_atfp     =    0.1    !  asselin time filter parameter 
    143    ln_crs      = .false.      !  Logical switch for coarsening module 
    144    jphgr_msh   =       0               !  type of horizontal mesh 
    145                                        !  = 0 curvilinear coordinate on the sphere read in coordinate.nc 
    146                                        !  = 1 geographical mesh on the sphere with regular grid-spacing 
    147                                        !  = 2 f-plane with regular grid-spacing 
    148                                        !  = 3 beta-plane with regular grid-spacing 
    149                                        !  = 4 Mercator grid with T/U point at the equator 
    150    ppglam0     =       0.0             !  longitude of first raw and column T-point (jphgr_msh = 1) 
    151    ppgphi0     =     -35.0             ! latitude  of first raw and column T-point (jphgr_msh = 1) 
    152    ppe1_deg    =       1.0             !  zonal      grid-spacing (degrees) 
    153    ppe2_deg    =       0.5             !  meridional grid-spacing (degrees) 
    154    ppe1_m      =    5000.0             !  zonal      grid-spacing (degrees) 
    155    ppe2_m      =    5000.0             !  meridional grid-spacing (degrees) 
     136   ln_crs      = .false.   !  Logical switch for coarsening module 
     137                           !    
    156138   ppsur       =    -4762.96143546300  !  ORCA r4, r2 and r05 coefficients 
    157139   ppa0        =      255.58049070440  ! (default coefficients) 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/LIM_SRC_2/dom_ice_2.F90

    r3764 r6596  
    2727      !                                        !  (otherwise = jpj+10 (SH) or -10 (SH) ) 
    2828 
    29    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)         ::   fs2cor , fcor     !: coriolis factor and coeficient 
    3029   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)         ::   covrai            !: sine of geographic latitude 
    3130   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)         ::   area              !: surface of grid cell  
     
    4847      ierr(:) = 0 
    4948      ! 
    50       ALLOCATE( fs2cor(jpi,jpj)     , fcor(jpi,jpj) ,                                   & 
    51          &      covrai(jpi,jpj)     , area(jpi,jpj) , tms(jpi,jpj) , tmu(jpi,jpj) ,     & 
     49      ALLOCATE( covrai(jpi,jpj)     , area(jpi,jpj) , tms(jpi,jpj) , tmu(jpi,jpj) ,     & 
    5250         &      wght  (jpi,jpj,2,2)                                               , STAT=ierr(1) ) 
    5351         ! 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/LIM_SRC_2/limistate_2.F90

    r5541 r6596  
    7979               ENDIF 
    8080               ! 
    81                IF( fcor(ji,jj) >= 0.e0 ) THEN     !--  Northern hemisphere. 
     81               IF( ff_t(ji,jj) >= 0._wp ) THEN     !--  Northern hemisphere. 
    8282                  hicif(ji,jj)   = zidto * hginn 
    8383                  frld(ji,jj)    = zidto * alinn + ( 1.0 - zidto ) * 1.0 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/LIM_SRC_2/limmsh_2.F90

    r3625 r6596  
    7070      ENDIF 
    7171       
    72       IF( jphgr_msh == 2 .OR. jphgr_msh == 3 .OR. jphgr_msh == 5 )   & 
    73           &      CALL ctl_stop(' Coriolis parameter in LIM not set for f- or beta-plane' ) 
    74  
    7572      !----------------------------------------------------------                           
    7673      !    Initialization of local and some global (common) variables  
     
    7976      njeq   = INT( jpj / 2 )   !i bug mpp potentiel 
    8077      njeqm1 = njeq - 1  
    81  
    82       fcor(:,:) = 2. * omega * SIN( gphit(:,:) * rad )   !  coriolis factor at T-point 
    8378  
    8479!i    DO jj = 1, jpj 
     
    8782!i    END DO 
    8883 
    89       IF( fcor(1,1) * fcor(1,nlcj) < 0.e0 ) THEN   ! local domain include both hemisphere 
     84      IF( ff_t(1,1) * ff_t(1,nlcj) < 0.e0 ) THEN   ! local domain include both hemisphere 
    9085         l_jeq = .TRUE. 
    9186         njeq  = 1 
    92          DO WHILE ( njeq <= jpj .AND. fcor(1,njeq) < 0.e0 ) 
     87         DO WHILE ( njeq <= jpj .AND. ff_t(1,njeq) < 0.e0 ) 
    9388            njeq = njeq + 1 
    9489         END DO 
    9590         IF(lwp ) WRITE(numout,*) '          the equator is inside the domain at about njeq = ', njeq 
    96       ELSEIF( fcor(1,1) < 0.e0 ) THEN 
     91      ELSEIF( ff_t(1,1) < 0.e0 ) THEN 
    9792         l_jeq = .FALSE. 
    9893         njeq = jpj 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/LIM_SRC_2/limrhg_2.F90

    r5836 r6596  
    163163         DO ji = 1 , jpi 
    164164            ! only the sinus changes its sign with the hemisphere 
    165             zsang(ji,jj)  = SIGN( 1._wp, fcor(ji,jj) ) * sangvg   ! only the sinus changes its sign with the hemisphere 
     165            zsang(ji,jj)  = SIGN( 1._wp, ff_t(ji,jj) ) * sangvg   ! only the sinus changes its sign with the hemisphere 
    166166            ! 
    167167            zmasst(ji,jj) = tms(ji,jj) * ( rhosn * hsnm(ji,jj) + rhoic * hicm(ji,jj) ) 
     
    198198               &           + zmasst(ji,jj-1) * wght(ji,jj,2,1) + zmasst(ji-1,jj-1) * wght(ji,jj,1,1) ) * zusw 
    199199            zcorl(ji,jj) = zmass(ji,jj) & 
    200                &           *( fcor(ji,jj  ) * wght(ji,jj,2,2) + fcor(ji-1,jj  )*wght(ji,jj,1,2)   & 
    201                &            + fcor(ji,jj-1) * wght(ji,jj,2,1) + fcor(ji-1,jj-1)*wght(ji,jj,1,1) ) * zusw 
     200               &           *( ff_t(ji,jj  ) * wght(ji,jj,2,2) + ff_t(ji-1,jj  )*wght(ji,jj,1,2)   & 
     201               &            + ff_t(ji,jj-1) * wght(ji,jj,2,1) + ff_t(ji-1,jj-1)*wght(ji,jj,1,1) ) * zusw 
    202202 
    203203            ! Wind stress. 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/LIM_SRC_2/limthd_2.F90

    r6140 r6596  
    347347      ! Tricky trick : add 2 to frld in the Southern Hemisphere 
    348348      !-------------------------------------------------------- 
    349       IF( fcor(1,1) < 0.e0 ) THEN 
     349      IF( ff_t(1,1) < 0._wp ) THEN 
    350350         DO jj = 1, njeqm1 
    351351            DO ji = 1, jpi 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/LIM_SRC_2/limtrp_2.F90

    r4624 r6596  
    234234         !-------------------------------------------------------------------! 
    235235         DO jj = 1, jpj 
    236             zindhe = MAX( 0.e0, SIGN( 1.e0, fcor(1,jj) ) )              ! = 0 for SH, =1 for NH 
     236            zindhe = MAX( 0._wp, SIGN( 1._wp, ff_t(1,jj) ) )              ! = 0 for SH, =1 for NH 
    237237            DO ji = 1, jpi 
    238238               ! 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/LIM_SRC_3/dom_ice.F90

    r5123 r6596  
    2020   INTEGER, PUBLIC ::   njeq , njeqm1        !: j-index of the equator if it is inside the domain 
    2121 
    22    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::   fcor   !: coriolis coefficient 
    2322   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:,:) ::   wght   !: weight of the 4 neighbours to compute averages 
    2423 
     
    3736      !!------------------------------------------------------------------- 
    3837      ! 
    39       ALLOCATE( fcor(jpi,jpj), wght(jpi,jpj,2,2), STAT = dom_ice_alloc ) 
     38      ALLOCATE( wght(jpi,jpj,2,2), STAT = dom_ice_alloc ) 
    4039      ! 
    4140      IF( dom_ice_alloc /= 0 )   CALL ctl_warn( 'dom_ice_alloc: failed to allocate arrays.' ) 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/LIM_SRC_3/limistate.F90

    r6140 r6596  
    168168            DO jj = 1, jpj 
    169169               DO ji = 1, jpi 
    170                   IF( fcor(ji,jj) >= 0._wp ) THEN 
     170                  IF( ff_t(ji,jj) >= 0._wp ) THEN 
    171171                     zht_i_ini(ji,jj) = rn_hti_ini_n 
    172172                     zht_s_ini(ji,jj) = rn_hts_ini_n 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/LIM_SRC_3/limmsh.F90

    r5123 r6596  
    5454      ENDIF 
    5555 
    56       IF( jphgr_msh == 2 .OR. jphgr_msh == 3 .OR. jphgr_msh == 5 )   & 
    57           &      CALL ctl_stop(' Coriolis parameter in LIM not set for f- or beta-plane') 
    58  
    59       !                           !==  coriolis factor & Equator position ==! 
     56      !                           !==  Equator position  ==! 
    6057      njeq   = INT( jpj / 2 )  
    6158      njeqm1 = njeq - 1  
    6259      ! 
    63       fcor(:,:) = 2. * omega * SIN( gphit(:,:) * rad )   ! coriolis factor 
    64       ! 
    65       IF( fcor(1,1) * fcor(1,nlcj) < 0.e0 ) THEN   ! local domain include both hemisphere 
     60      IF( ff_t(1,1) * ff_t(1,nlcj) < 0._wp ) THEN   ! local domain include both hemisphere 
    6661         l_jeq = .TRUE. 
    6762         njeq  = 1 
    68          DO WHILE ( njeq <= jpj .AND. fcor(1,njeq) < 0.e0 ) 
     63         DO WHILE ( njeq <= jpj .AND. ff_t(1,njeq) < 0._wp ) 
    6964            njeq = njeq + 1 
    7065         END DO 
    7166         IF(lwp ) WRITE(numout,*) '          the equator is inside the domain at about njeq = ', njeq 
    72       ELSEIF( fcor(1,1) < 0.e0 ) THEN 
     67      ELSEIF( ff_t(1,1) < 0._wp ) THEN 
    7368         l_jeq = .FALSE. 
    7469         njeq = jpj 
     
    8479 
    8580      !                           !==  metric coefficients for sea ice dynamic  ==! 
    86       wght(:,:,:,:) = 0.e0 
     81      wght(:,:,:,:) = 0._wp 
    8782!!gm  Optimisation :  wght to be defined at F-point, not I-point  and change in limrhg 
    8883      DO jj = 2, jpj 
    8984         DO ji = 2, jpi 
    90             zusden = 1.e0 / (  ( e1t(ji,jj) + e1t(ji-1,jj  ) )   & 
    91                &             * ( e2t(ji,jj) + e2t(ji  ,jj-1) ) ) 
     85            zusden = 1._wp / (  ( e1t(ji,jj) + e1t(ji-1,jj  ) )   & 
     86               &              * ( e2t(ji,jj) + e2t(ji  ,jj-1) ) ) 
    9287            wght(ji,jj,1,1) = zusden * e1t(ji  ,jj) * e2t(ji,jj  ) 
    9388            wght(ji,jj,1,2) = zusden * e1t(ji  ,jj) * e2t(ji,jj-1) 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/LIM_SRC_3/limrhg.F90

    r5836 r6596  
    267267            zmass1(ji,jj) = ( zt12 * zc1 + zt11 * zc2 ) / ( zt11 + zt12 + zepsi ) 
    268268            zmass2(ji,jj) = ( zt22 * zc1 + zt21 * zc3 ) / ( zt21 + zt22 + zepsi ) 
    269             zcorl1(ji,jj) = zmass1(ji,jj) * ( e1t(ji+1,jj) * fcor(ji,jj) + e1t(ji,jj) * fcor(ji+1,jj) )   & 
     269            zcorl1(ji,jj) = zmass1(ji,jj) * ( e1t(ji+1,jj) * ff_t(ji,jj) + e1t(ji,jj) * ff_t(ji+1,jj) )   & 
    270270               &                          / ( e1t(ji,jj) + e1t(ji+1,jj) + zepsi ) 
    271             zcorl2(ji,jj) = zmass2(ji,jj) * ( e2t(ji,jj+1) * fcor(ji,jj) + e2t(ji,jj) * fcor(ji,jj+1) )   & 
     271            zcorl2(ji,jj) = zmass2(ji,jj) * ( e2t(ji,jj+1) * ff_t(ji,jj) + e2t(ji,jj) * ff_t(ji,jj+1) )   & 
    272272               &                          / ( e2t(ji,jj+1) + e2t(ji,jj) + zepsi ) 
    273273            ! 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/NST_SRC/agrif_user.F90

    r6140 r6596  
    4141      jpidta  = jpiglo 
    4242      jpjdta  = jpjglo 
    43       jpizoom = 1 
    44       jpjzoom = 1 
    4543      nperio  = 0 
    4644      jperio  = 0 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OFF_SRC/domrea.F90

    r6140 r6596  
    118118         &             nn_write, ln_iscpl  , ln_mskland  , ln_cfmeta    , ln_clobber, nn_chunksz, nn_euler 
    119119      NAMELIST/namdom/ nn_bathy , rn_bathy , rn_e3zps_min, rn_e3zps_rat , nn_msh    , rn_hmin   , rn_isfhmin,& 
    120          &             rn_atfp  , rn_rdt   , nn_baro     , nn_closea    , ln_crs    , jphgr_msh,             & 
    121          &             ppglam0, ppgphi0, ppe1_deg, ppe2_deg, ppe1_m, ppe2_m, & 
     120         &             rn_atfp  , rn_rdt   , nn_baro     , nn_closea    , ln_crs    ,             & 
    122121         &             ppsur, ppa0, ppa1, ppkth, ppacr, ppdzmin, pphmax, ldbletanh, & 
    123122         &             ppa2, ppkth2, ppacr2 
     
    229228         WRITE(numout,*) '      time-splitting: nb of sub time-step  nn_baro   = ', nn_baro 
    230229         WRITE(numout,*) '      suppression of closed seas (=0)      nn_closea = ', nn_closea 
    231          WRITE(numout,*) '      type of horizontal mesh jphgr_msh           = ', jphgr_msh 
    232          WRITE(numout,*) '      longitude of first raw and column T-point ppglam0 = ', ppglam0 
    233          WRITE(numout,*) '      latitude  of first raw and column T-point ppgphi0 = ', ppgphi0 
    234          WRITE(numout,*) '      zonal      grid-spacing (degrees) ppe1_deg        = ', ppe1_deg 
    235          WRITE(numout,*) '      meridional grid-spacing (degrees) ppe2_deg        = ', ppe2_deg 
    236          WRITE(numout,*) '      zonal      grid-spacing (degrees) ppe1_m          = ', ppe1_m 
    237          WRITE(numout,*) '      meridional grid-spacing (degrees) ppe2_m          = ', ppe2_m 
     230 
    238231         WRITE(numout,*) '      ORCA r4, r2 and r05 coefficients  ppsur           = ', ppsur 
    239232         WRITE(numout,*) '                                        ppa0            = ', ppa0 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OFF_SRC/nemogcm.F90

    r6140 r6596  
    155155         &             nn_bench, nn_timing, nn_diacfl 
    156156      NAMELIST/namcfg/ cp_cfg, cp_cfz, jp_cfg, jpidta, jpjdta, jpkdta, jpiglo, jpjglo, & 
    157          &             jpizoom, jpjzoom, jperio, ln_use_jattr 
     157         &             jperio, ln_use_jattr 
    158158      !!---------------------------------------------------------------------- 
    159159      cltxt = '' 
     
    351351         WRITE(numout,*) '      configuration name              cp_cfg      = ', TRIM(cp_cfg) 
    352352         WRITE(numout,*) '      configuration resolution        jp_cfg      = ', jp_cfg 
    353          WRITE(numout,*) '      1st lateral dimension ( >= jpi ) jpidta     = ', jpidta 
    354          WRITE(numout,*) '      2nd    "         "    ( >= jpj ) jpjdta     = ', jpjdta 
    355          WRITE(numout,*) '      3nd    "         "               jpkdta     = ', jpkdta 
    356          WRITE(numout,*) '      1st dimension of global domain in i jpiglo  = ', jpiglo 
    357          WRITE(numout,*) '      2nd    -                  -    in j jpjglo  = ', jpjglo 
    358          WRITE(numout,*) '      left bottom i index of the zoom (in data domain) jpizoom = ', jpizoom 
    359          WRITE(numout,*) '      left bottom j index of the zoom (in data domain) jpizoom = ', jpjzoom 
    360353         WRITE(numout,*) '      lateral cond. type (between 0 and 6) jperio = ', jperio    
    361354         WRITE(numout,*) '      use file attribute if exists as i/p j-start ln_use_jattr = ', ln_use_jattr 
     
    400393      ENDIF 
    401394      ! 
    402       IF( nbench == 1 )   THEN            ! Benchmark  
    403          SELECT CASE ( cp_cfg ) 
    404          CASE ( 'gyre' )   ;   CALL ctl_warn( ' The Benchmark is activated ' ) 
    405          CASE DEFAULT      ;   CALL ctl_stop( ' The Benchmark is based on the GYRE configuration:',   & 
    406             &                                 ' cp_cfg="gyre" in namelsit &namcfg or set nbench = 0' ) 
    407          END SELECT 
    408       ENDIF 
    409       ! 
    410395      IF( lk_c1d .AND. .NOT.lk_iomput )   CALL ctl_stop( 'nemo_ctl: The 1D configuration must be used ',   & 
    411396         &                                               'with the IOM Input/Output manager. '        ,   & 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OPA_SRC/BDY/bdyini.F90

    r6140 r6596  
    769769!      is = mjg(1) + 1            ! if monotasking and no zoom, is=2 
    770770!      in = mjg(1) + nlcj-1 - 1   ! if monotasking and no zoom, in=jpjm1       
    771       iwe = mig(1) - jpizoom + 2         ! if monotasking and no zoom, iw=2 
    772       ies = mig(1) + nlci - jpizoom - 1  ! if monotasking and no zoom, ie=jpim1 
    773       iso = mjg(1) - jpjzoom + 2         ! if monotasking and no zoom, is=2 
    774       ino = mjg(1) + nlcj - jpjzoom - 1  ! if monotasking and no zoom, in=jpjm1 
     771      iwe = mig(1) - 1 + 2         ! if monotasking and no zoom, iw=2 
     772      ies = mig(1) + nlci-1 - 1  ! if monotasking and no zoom, ie=jpim1 
     773      iso = mjg(1) - 1 + 2         ! if monotasking and no zoom, is=2 
     774      ino = mjg(1) + nlcj-1 - 1  ! if monotasking and no zoom, in=jpjm1 
    775775 
    776776      ALLOCATE( nbondi_bdy(nb_bdy)) 
     
    785785      ! Work out dimensions of boundary data on each neighbour process 
    786786      IF(nbondi == 0) THEN 
    787          iw_b(1) = jpizoom + nimppt(nowe+1) 
    788          ie_b(1) = jpizoom + nimppt(nowe+1)+nlcit(nowe+1)-3 
    789          is_b(1) = jpjzoom + njmppt(nowe+1) 
    790          in_b(1) = jpjzoom + njmppt(nowe+1)+nlcjt(nowe+1)-3 
    791  
    792          iw_b(2) = jpizoom + nimppt(noea+1) 
    793          ie_b(2) = jpizoom + nimppt(noea+1)+nlcit(noea+1)-3 
    794          is_b(2) = jpjzoom + njmppt(noea+1) 
    795          in_b(2) = jpjzoom + njmppt(noea+1)+nlcjt(noea+1)-3 
     787         iw_b(1) = 1 + nimppt(nowe+1) 
     788         ie_b(1) = 1 + nimppt(nowe+1)+nlcit(nowe+1)-3 
     789         is_b(1) = 1 + njmppt(nowe+1) 
     790         in_b(1) = 1 + njmppt(nowe+1)+nlcjt(nowe+1)-3 
     791 
     792         iw_b(2) = 1 + nimppt(noea+1) 
     793         ie_b(2) = 1 + nimppt(noea+1)+nlcit(noea+1)-3 
     794         is_b(2) = 1 + njmppt(noea+1) 
     795         in_b(2) = 1 + njmppt(noea+1)+nlcjt(noea+1)-3 
    796796      ELSEIF(nbondi == 1) THEN 
    797          iw_b(1) = jpizoom + nimppt(nowe+1) 
    798          ie_b(1) = jpizoom + nimppt(nowe+1)+nlcit(nowe+1)-3 
    799          is_b(1) = jpjzoom + njmppt(nowe+1) 
    800          in_b(1) = jpjzoom + njmppt(nowe+1)+nlcjt(nowe+1)-3 
     797         iw_b(1) = 1 + nimppt(nowe+1) 
     798         ie_b(1) = 1 + nimppt(nowe+1)+nlcit(nowe+1)-3 
     799         is_b(1) = 1 + njmppt(nowe+1) 
     800         in_b(1) = 1 + njmppt(nowe+1)+nlcjt(nowe+1)-3 
    801801      ELSEIF(nbondi == -1) THEN 
    802          iw_b(2) = jpizoom + nimppt(noea+1) 
    803          ie_b(2) = jpizoom + nimppt(noea+1)+nlcit(noea+1)-3 
    804          is_b(2) = jpjzoom + njmppt(noea+1) 
    805          in_b(2) = jpjzoom + njmppt(noea+1)+nlcjt(noea+1)-3 
     802         iw_b(2) = 1 + nimppt(noea+1) 
     803         ie_b(2) = 1 + nimppt(noea+1)+nlcit(noea+1)-3 
     804         is_b(2) = 1 + njmppt(noea+1) 
     805         in_b(2) = 1 + njmppt(noea+1)+nlcjt(noea+1)-3 
    806806      ENDIF 
    807807 
    808808      IF(nbondj == 0) THEN 
    809          iw_b(3) = jpizoom + nimppt(noso+1) 
    810          ie_b(3) = jpizoom + nimppt(noso+1)+nlcit(noso+1)-3 
    811          is_b(3) = jpjzoom + njmppt(noso+1) 
    812          in_b(3) = jpjzoom + njmppt(noso+1)+nlcjt(noso+1)-3 
    813  
    814          iw_b(4) = jpizoom + nimppt(nono+1) 
    815          ie_b(4) = jpizoom + nimppt(nono+1)+nlcit(nono+1)-3 
    816          is_b(4) = jpjzoom + njmppt(nono+1) 
    817          in_b(4) = jpjzoom + njmppt(nono+1)+nlcjt(nono+1)-3 
     809         iw_b(3) = 1 + nimppt(noso+1) 
     810         ie_b(3) = 1 + nimppt(noso+1)+nlcit(noso+1)-3 
     811         is_b(3) = 1 + njmppt(noso+1) 
     812         in_b(3) = 1 + njmppt(noso+1)+nlcjt(noso+1)-3 
     813 
     814         iw_b(4) = 1 + nimppt(nono+1) 
     815         ie_b(4) = 1 + nimppt(nono+1)+nlcit(nono+1)-3 
     816         is_b(4) = 1 + njmppt(nono+1) 
     817         in_b(4) = 1 + njmppt(nono+1)+nlcjt(nono+1)-3 
    818818      ELSEIF(nbondj == 1) THEN 
    819          iw_b(3) = jpizoom + nimppt(noso+1) 
    820          ie_b(3) = jpizoom + nimppt(noso+1)+nlcit(noso+1)-3 
    821          is_b(3) = jpjzoom + njmppt(noso+1) 
    822          in_b(3) = jpjzoom + njmppt(noso+1)+nlcjt(noso+1)-3 
     819         iw_b(3) = 1 + nimppt(noso+1) 
     820         ie_b(3) = 1 + nimppt(noso+1)+nlcit(noso+1)-3 
     821         is_b(3) = 1 + njmppt(noso+1) 
     822         in_b(3) = 1 + njmppt(noso+1)+nlcjt(noso+1)-3 
    823823      ELSEIF(nbondj == -1) THEN 
    824          iw_b(4) = jpizoom + nimppt(nono+1) 
    825          ie_b(4) = jpizoom + nimppt(nono+1)+nlcit(nono+1)-3 
    826          is_b(4) = jpjzoom + njmppt(nono+1) 
    827          in_b(4) = jpjzoom + njmppt(nono+1)+nlcjt(nono+1)-3 
     824         iw_b(4) = 1 + nimppt(nono+1) 
     825         ie_b(4) = 1 + nimppt(nono+1)+nlcit(nono+1)-3 
     826         is_b(4) = 1 + njmppt(nono+1) 
     827         in_b(4) = 1 + njmppt(nono+1)+nlcjt(nono+1)-3 
    828828      ENDIF 
    829829 
     
    899899!                     idx_bdy(ib_bdy)%nbi(icount,igrd)   = nbidta(ib,igrd,ib_bdy)- mig(1)+1 
    900900!                     idx_bdy(ib_bdy)%nbj(icount,igrd)   = nbjdta(ib,igrd,ib_bdy)- mjg(1)+1 
    901                      idx_bdy(ib_bdy)%nbi(icount,igrd)   = nbidta(ib,igrd,ib_bdy)- mig(1)+jpizoom 
    902                      idx_bdy(ib_bdy)%nbj(icount,igrd)   = nbjdta(ib,igrd,ib_bdy)- mjg(1)+jpjzoom 
     901                     idx_bdy(ib_bdy)%nbi(icount,igrd)   = nbidta(ib,igrd,ib_bdy)- mig(1)+1 
     902                     idx_bdy(ib_bdy)%nbj(icount,igrd)   = nbjdta(ib,igrd,ib_bdy)- mjg(1)+1 
    903903                     ! check if point has to be sent 
    904904                     ii = idx_bdy(ib_bdy)%nbi(icount,igrd) 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OPA_SRC/C1D/domc1d.F90

    r6140 r6596  
    2424 
    2525   PUBLIC   dom_c1d   ! called in domcfg.F90 
     26 
     27   INTEGER ::   jpizoom = 1      !: left bottom (i,j) indices of the zoom 
     28   INTEGER ::   jpjzoom = 1      !: in data domain indices 
    2629 
    2730   !!---------------------------------------------------------------------- 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OPA_SRC/C1D/dyncor_c1d.F90

    r6140 r6596  
    4949      IF(lwp) WRITE(numout,*) '~~~~~~~' 
    5050 
    51       SELECT CASE( jphgr_msh )   ! type of horizontal mesh 
    52       ! 
    53       CASE ( 0, 1, 4 )               ! mesh on the sphere 
    54          ff(:,:) = 2. * omega * SIN( rad * gphit(:,:) )  
    55          ! 
    56       CASE ( 2 )                     ! f-plane at ppgphi0  
    57          ff(:,:) = 2. * omega * SIN( rad * ppgphi0 ) 
    58          IF(lwp) WRITE(numout,*) '          f-plane: Coriolis parameter = constant = ', ff(1,1) 
    59          ! 
    60       CASE ( 3 )                     ! beta-plane 
    61          zbeta   = 2. * omega * COS( rad * ppgphi0 ) / ra                     ! beta at latitude ppgphi0 
    62          zphi0   = ppgphi0 - FLOAT( jpjglo/2) * ppe2_m *1.e-3  / ( ra * rad ) ! latitude of the first row F-points 
    63          zf0     = 2. * omega * SIN( rad * zphi0 )                            ! compute f0 1st point south 
    64          ff(:,:) = ( zf0  + zbeta * gphit(:,:) * 1.e+3 )                      ! f = f0 +beta* y ( y=0 at south) 
    65          IF(lwp) WRITE(numout,*) '          Beta-plane: Beta parameter = constant = ', ff(1,1) 
    66          IF(lwp) WRITE(numout,*) '                      Coriolis parameter varies from ', ff(1,1),' to ', ff(1,jpj) 
    67          ! 
    68       CASE ( 5 )                     ! beta-plane and rotated domain 
    69          zbeta = 2. * omega * COS( rad * ppgphi0 ) / ra                     ! beta at latitude ppgphi0 
    70          zphi0 = 15.e0                                                      ! latitude of the first row F-points 
    71          zf0   = 2. * omega * SIN( rad * zphi0 )                            ! compute f0 1st point south 
    72          ff(:,:) = ( zf0 + zbeta * ABS( gphit(:,:) - zphi0 ) * rad * ra )   ! f = f0 +beta* y ( y=0 at south) 
    73          IF(lwp) WRITE(numout,*) '          Beta-plane: Beta parameter = constant = ', ff(1,1) 
    74          IF(lwp) WRITE(numout,*) '                      Coriolis parameter varies from ', ff(1,1),' to ', ff(1,jpj) 
    75          ! 
    76       END SELECT 
    7751      ! 
    7852   END SUBROUTINE cor_c1d 
     
    10074         DO jj = 2, jpjm1 
    10175            DO ji = fs_2, fs_jpim1   ! vector opt. 
    102                ua(ji,jj,jk) = ua(ji,jj,jk) + ff(ji,jj) * vn(ji,jj,jk) 
    103                va(ji,jj,jk) = va(ji,jj,jk) - ff(ji,jj) * un(ji,jj,jk) 
     76               ua(ji,jj,jk) = ua(ji,jj,jk) + ff_t(ji,jj) * vn(ji,jj,jk) 
     77               va(ji,jj,jk) = va(ji,jj,jk) - ff_t(ji,jj) * un(ji,jj,jk) 
    10478            END DO 
    10579         END DO 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OPA_SRC/CRS/crsdom.F90

    r6140 r6596  
    20232023         nimpp_crs = nimppt_crs(nproc + 1) 
    20242024 
    2025          ! No coarsening with zoom 
    2026          IF( jpizoom /= 1 .OR. jpjzoom /= 1)    STOP  
    2027  
    20282025         DO ji = 1, jpi_crs 
    20292026            mig_crs(ji) = ji + nimpp_crs - 1 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OPA_SRC/CRS/crsini.F90

    r6140 r6596  
    1111   !!---------------------------------------------------------------------- 
    1212   USE par_kind, ONLY: wp 
    13    USE par_oce                  ! For parameter jpi,jpj,jphgr_msh 
     13   USE par_oce                  ! For parameter jpi,jpj 
    1414   USE dom_oce                  ! For parameters in par_oce 
    1515   USE crs                      ! Coarse grid domain 
     
    170170     !      3.c.2 Coriolis factor   
    171171 
    172       SELECT CASE( jphgr_msh )   ! type of horizontal mesh 
    173  
    174       CASE ( 0, 1, 4 )           ! mesh on the sphere 
    175  
    176          ff_crs(:,:) = 2. * omega * SIN( rad * gphif_crs(:,:) ) 
    177  
    178       CASE DEFAULT  
    179  
    180        IF(lwp)    WRITE(numout,*) 'crsini.F90. crs_init. Only jphgr_msh = 0, 1 or 4 supported'  
     172!!gm  Not sure CRS needs Coriolis parameter.... 
     173!!gm  If needed, then update this to have Coriolis at both f- and t-points 
     174 
     175      ff_crs(:,:) = 2. * omega * SIN( rad * gphif_crs(:,:) ) 
     176 
     177      CALL ctl_warn( 'crsini: CAUTION, CRS only designed for Coriolis defined on the sphere' )  
    181178  
    182       END SELECT  
    183179 
    184180     !    3.d.1 mbathy ( vertical k-levels of bathymetry )      
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OPA_SRC/DIA/diadct.F90

    r6140 r6596  
    424424              IF( iiglo==jpidta .AND. nimpp==1 ) iiglo = 2 
    425425 
    426               iiloc=iiglo-jpizoom+1-nimpp+1   ! local coordinates of the point 
    427               ijloc=ijglo-jpjzoom+1-njmpp+1   !  " 
     426              iiloc=iiglo-nimpp+1   ! local coordinates of the point 
     427              ijloc=ijglo-njmpp+1   !  " 
    428428 
    429429              !verify if the point is on the local domain:(1,nlei)*(1,nlej) 
     
    444444              WRITE(numout,*)"      List of points selected by the proc:" 
    445445              DO jpt = 1,iptloc 
    446                  iiglo = secs(jsec)%listPoint(jpt)%I + jpizoom - 1 + nimpp - 1 
    447                  ijglo = secs(jsec)%listPoint(jpt)%J + jpjzoom - 1 + njmpp - 1 
     446                 iiglo = secs(jsec)%listPoint(jpt)%I + nimpp - 1 
     447                 ijglo = secs(jsec)%listPoint(jpt)%J + njmpp - 1 
    448448                 WRITE(numout,*)'         # I J : ',iiglo,ijglo 
    449449              ENDDO 
     
    452452              IF(jsec==nn_secdebug .AND. secs(jsec)%nb_point .NE. 0)THEN 
    453453              DO jpt = 1,iptloc 
    454                  iiglo = secs(jsec)%listPoint(jpt)%I + jpizoom - 1 + nimpp - 1 
    455                  ijglo = secs(jsec)%listPoint(jpt)%J + jpjzoom - 1 + njmpp - 1 
     454                 iiglo = secs(jsec)%listPoint(jpt)%I + nimpp - 1 
     455                 ijglo = secs(jsec)%listPoint(jpt)%J + njmpp - 1 
    456456              ENDDO 
    457457              ENDIF 
     
    468468           IF(jsec==nn_secdebug .AND. secs(jsec)%nb_point .NE. 0)THEN 
    469469              DO jpt = 1,secs(jsec)%nb_point 
    470                  iiglo = secs(jsec)%listPoint(jpt)%I + jpizoom - 1 + nimpp - 1 
    471                  ijglo = secs(jsec)%listPoint(jpt)%J + jpjzoom - 1 + njmpp - 1 
     470                 iiglo = secs(jsec)%listPoint(jpt)%I + nimpp - 1 
     471                 ijglo = secs(jsec)%listPoint(jpt)%J + njmpp - 1 
    472472              ENDDO 
    473473           ENDIF 
     
    479479              iptloc = secs(jsec)%nb_point 
    480480              DO jpt = 1,iptloc 
    481                  iiglo = secs(jsec)%listPoint(jpt)%I + jpizoom - 1 + nimpp - 1 
    482                  ijglo = secs(jsec)%listPoint(jpt)%J + jpjzoom - 1 + njmpp - 1 
     481                 iiglo = secs(jsec)%listPoint(jpt)%I + nimpp - 1 
     482                 ijglo = secs(jsec)%listPoint(jpt)%J + njmpp - 1 
    483483                 WRITE(numout,*)'         # I J : ',iiglo,ijglo 
    484484                 CALL FLUSH(numout) 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OPA_SRC/DOM/dom_oce.F90

    r6140 r6596  
    5757   INTEGER,  PUBLIC :: nn_baro           !: Number of barotropic iterations during one baroclinic step (rdt) 
    5858   REAL(wp), PUBLIC :: rn_bt_cmax        !: Maximum allowed courant number (used if ln_bt_auto=T) 
    59  
    60    !! Horizontal grid parameters for domhgr 
    61    !! ===================================== 
    62    INTEGER       ::   jphgr_msh          !: type of horizontal mesh 
    63    !                                       !  = 0 curvilinear coordinate on the sphere read in coordinate.nc 
    64    !                                       !  = 1 geographical mesh on the sphere with regular grid-spacing 
    65    !                                       !  = 2 f-plane with regular grid-spacing 
    66    !                                       !  = 3 beta-plane with regular grid-spacing 
    67    !                                       !  = 4 Mercator grid with T/U point at the equator 
    68  
    69    REAL(wp)      ::   ppglam0            !: longitude of first raw and column T-point (jphgr_msh = 1) 
    70    REAL(wp)      ::   ppgphi0            !: latitude  of first raw and column T-point (jphgr_msh = 1) 
    71    !                                                        !  used for Coriolis & Beta parameters (jphgr_msh = 2 or 3) 
    72    REAL(wp)      ::   ppe1_deg           !: zonal      grid-spacing (degrees) 
    73    REAL(wp)      ::   ppe2_deg           !: meridional grid-spacing (degrees) 
    74    REAL(wp)      ::   ppe1_m             !: zonal      grid-spacing (degrees) 
    75    REAL(wp)      ::   ppe2_m             !: meridional grid-spacing (degrees) 
    7659 
    7760   !! Vertical grid parameter for domzgr 
     
    10285 
    10386   !                                                  !!! associated variables 
    104    INTEGER , PUBLIC                 ::   neuler        !: restart euler forward option (0=Euler) 
    105    REAL(wp), PUBLIC                 ::   atfp1         !: asselin time filter coeff. (atfp1= 1-2*atfp) 
    106    REAL(wp), PUBLIC                 ::   r2dt          !: = 2*rdt except at nit000 (=rdt) if neuler=0 
     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 
    10790 
    10891   !!---------------------------------------------------------------------- 
    10992   !! space domain parameters 
    11093   !!---------------------------------------------------------------------- 
    111    LOGICAL, PUBLIC ::   lzoom      =  .FALSE.   !: zoom flag 
    112    LOGICAL, PUBLIC ::   lzoom_e    =  .FALSE.   !: East  zoom type flag 
    113    LOGICAL, PUBLIC ::   lzoom_w    =  .FALSE.   !: West  zoom type flag 
    114    LOGICAL, PUBLIC ::   lzoom_s    =  .FALSE.   !: South zoom type flag 
    115    LOGICAL, PUBLIC ::   lzoom_n    =  .FALSE.   !: North zoom type flag 
    116  
    11794   !                                     !!! domain parameters linked to mpp 
    11895   INTEGER, PUBLIC ::   nperio            !: type of lateral boundary condition 
     
    166143   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   e1e2f , r1_e1e2f                !: associated metrics at f-point 
    167144   ! 
    168    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   ff                              !: coriolis factor                   [1/s] 
     145   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   ff_f, ff_t                      !: coriolis factor at f- and t-point         [1/s] 
    169146 
    170147   !!---------------------------------------------------------------------- 
     
    229206   !! --------------------------------------------------------------------- 
    230207   INTEGER , PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   mbathy             !: number of ocean level (=0, 1, ... , jpk-1) 
    231    INTEGER , PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   mbkt               !: vertical index of the bottom last T- ocean level 
    232    INTEGER , PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   mbku, mbkv         !: vertical index of the bottom last U- and W- ocean level 
     208   INTEGER , PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   mbkt, mbku, mbkv   !: bottom last wet T-, U- and W-level 
    233209   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   bathy              !: ocean depth (meters) 
    234210   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   tmask_i            !: interior domain T-point mask 
    235211   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   tmask_h            !: internal domain T-point mask (Figure 8.5 NEMO book) 
    236212 
    237    INTEGER , PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   misfdep                 !: top first ocean level                (ISF) 
    238    INTEGER , PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   mikt, miku, mikv, mikf  !: first wet T-, U-, V-, F- ocean level (ISF) 
    239    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   risfdep                 !: Iceshelf draft                       (ISF) 
     213   INTEGER , PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   misfdep                 !: top first ocean level             (ISF) 
     214   INTEGER , PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   mikt, miku, mikv, mikf  !: top first wet T-, U-, V-, F-level (ISF) 
     215   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   risfdep                 !: Iceshelf draft                    (ISF) 
    240216 
    241217   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   ssmask, ssumask, ssvmask, ssfmask    !: surface mask at T-,U-, V- and F-pts 
     
    319295         &      njmppt(jpnij) , ibonjt(jpnij) , nldit(jpnij) , nldjt(jpnij) ,     & 
    320296         &                                      nleit(jpnij) , nlejt(jpnij) ,     & 
    321          &      mi0(jpidta)   , mi1 (jpidta),  mj0(jpjdta)   , mj1 (jpjdta),      & 
    322          &      tpol(jpiglo)  , fpol(jpiglo)                               , STAT=ierr(2) ) 
     297         &      mi0(jpidta)   , mi1 (jpidta),  mj0(jpjdta)   , mj1 (jpjdta) ,     & 
     298         &      tpol(jpiglo)  , fpol(jpiglo)                                , STAT=ierr(2) ) 
    323299         ! 
    324300      ALLOCATE( glamt(jpi,jpj) ,    glamu(jpi,jpj) ,  glamv(jpi,jpj) ,  glamf(jpi,jpj) ,     & 
     
    332308         &      e1e2v(jpi,jpj) , r1_e1e2v(jpi,jpj) , e1_e2v(jpi,jpj)                   ,     & 
    333309         &      e1e2f(jpi,jpj) , r1_e1e2f(jpi,jpj)                                     ,     & 
    334          &        ff (jpi,jpj)                                                         , STAT=ierr(3) ) 
    335          ! 
    336       ALLOCATE( gdept_0(jpi,jpj,jpk) , gdepw_0(jpi,jpj,jpk) , gde3w_0(jpi,jpj,jpk) ,     & 
     310         &      ff_f (jpi,jpj) ,    ff_t (jpi,jpj)                                     , STAT=ierr(3) ) 
     311         ! 
     312      ALLOCATE( gdept_0(jpi,jpj,jpk) , gdepw_0(jpi,jpj,jpk) , gde3w_0(jpi,jpj,jpk) ,      & 
    337313         &      gdept_b(jpi,jpj,jpk) , gdepw_b(jpi,jpj,jpk) ,                             & 
    338314         &      gdept_n(jpi,jpj,jpk) , gdepw_n(jpi,jpj,jpk) , gde3w_n(jpi,jpj,jpk) , STAT=ierr(4) ) 
     
    364340         &      hift  (jpi,jpj) , hifu  (jpi,jpj) , rx1(jpi,jpj) , STAT=ierr(8) ) 
    365341 
    366       ALLOCATE( mbathy(jpi,jpj) , bathy  (jpi,jpj) ,                                       & 
    367          &     tmask_i(jpi,jpj) , tmask_h(jpi,jpj) ,                                       &  
    368          &     ssmask (jpi,jpj) , ssumask(jpi,jpj) , ssvmask(jpi,jpj) , ssfmask(jpi,jpj) , & 
    369          &     mbkt   (jpi,jpj) , mbku   (jpi,jpj) , mbkv   (jpi,jpj) , STAT=ierr(9) ) 
    370  
    371 ! (ISF) Allocation of basic array    
    372       ALLOCATE( misfdep(jpi,jpj) , risfdep(jpi,jpj),     & 
    373          &     mikt(jpi,jpj), miku(jpi,jpj), mikv(jpi,jpj) ,           & 
    374          &     mikf(jpi,jpj), STAT=ierr(10) ) 
    375  
    376       ALLOCATE( tmask(jpi,jpj,jpk) , umask(jpi,jpj,jpk),     &  
    377          &      vmask(jpi,jpj,jpk) , fmask(jpi,jpj,jpk), STAT=ierr(11) ) 
     342      ALLOCATE( mbathy (jpi,jpj) , bathy  (jpi,jpj) ,                                       & 
     343         &      tmask_i(jpi,jpj) , tmask_h(jpi,jpj) ,                                       &  
     344         &      ssmask (jpi,jpj) , ssumask(jpi,jpj) , ssvmask(jpi,jpj) , ssfmask(jpi,jpj) , & 
     345         &      mbkt   (jpi,jpj) , mbku   (jpi,jpj) , mbkv   (jpi,jpj) , STAT=ierr(9) ) 
     346 
     347      ALLOCATE( misfdep(jpi,jpj) , mikt(jpi,jpj) , miku(jpi,jpj) ,     & 
     348         &      risfdep(jpi,jpj) , mikv(jpi,jpj) , mikf(jpi,jpj) , STAT=ierr(10) ) 
     349 
     350      ALLOCATE( tmask(jpi,jpj,jpk) , umask(jpi,jpj,jpk) ,     &  
     351         &      vmask(jpi,jpj,jpk) , fmask(jpi,jpj,jpk) , STAT=ierr(11) ) 
    378352 
    379353      ALLOCATE( wmask(jpi,jpj,jpk) , wumask(jpi,jpj,jpk), wvmask(jpi,jpj,jpk) , STAT=ierr(12) ) 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OPA_SRC/DOM/domain.F90

    r6140 r6596  
    166166         &             ln_cfmeta, ln_iscpl 
    167167      NAMELIST/namdom/ nn_bathy, rn_bathy , rn_e3zps_min, rn_e3zps_rat, nn_msh, rn_hmin, rn_isfhmin, & 
    168          &             rn_atfp , rn_rdt   , nn_closea   , ln_crs      , jphgr_msh ,                  & 
    169          &             ppglam0, ppgphi0, ppe1_deg, ppe2_deg, ppe1_m, ppe2_m,                         & 
     168         &             rn_atfp , rn_rdt   , nn_closea   , ln_crs      ,                              & 
    170169         &             ppsur, ppa0, ppa1, ppkth, ppacr, ppdzmin, pphmax, ldbletanh,                  & 
    171170         &             ppa2, ppkth2, ppacr2 
     
    295294         WRITE(numout,*) '      suppression of closed seas (=0)       nn_closea = ', nn_closea 
    296295         WRITE(numout,*) '      online coarsening of dynamical fields ln_crs    = ', ln_crs 
    297          WRITE(numout,*) '      type of horizontal mesh jphgr_msh           = ', jphgr_msh 
    298          WRITE(numout,*) '      longitude of first raw and column T-point ppglam0 = ', ppglam0 
    299          WRITE(numout,*) '      latitude  of first raw and column T-point ppgphi0 = ', ppgphi0 
    300          WRITE(numout,*) '      zonal      grid-spacing (degrees) ppe1_deg        = ', ppe1_deg 
    301          WRITE(numout,*) '      meridional grid-spacing (degrees) ppe2_deg        = ', ppe2_deg 
    302          WRITE(numout,*) '      zonal      grid-spacing (degrees) ppe1_m          = ', ppe1_m 
    303          WRITE(numout,*) '      meridional grid-spacing (degrees) ppe2_m          = ', ppe2_m 
     296 
    304297         WRITE(numout,*) '      ORCA r4, r2 and r05 coefficients  ppsur           = ', ppsur 
    305298         WRITE(numout,*) '                                        ppa0            = ', ppa0 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OPA_SRC/DOM/domcfg.F90

    r6140 r6596  
    99 
    1010   !!---------------------------------------------------------------------- 
    11    !!   dom_cfg        : initialize the domain configuration 
     11   !!   dom_cfg       : initialize the domain configuration 
    1212   !!---------------------------------------------------------------------- 
    13    USE dom_oce         ! ocean space and time domain 
    14    USE phycst          ! physical constants 
    15    USE in_out_manager  ! I/O manager 
    16    USE lib_mpp         ! distributed memory computing library 
    17    USE timing          ! Timing 
    18    USE c1d             ! 1D configuration 
    19    USE domc1d          ! 1D configuration: column location 
     13   USE dom_oce        ! ocean space and time domain 
     14   USE phycst         ! physical constants 
     15   ! 
     16   USE in_out_manager ! I/O manager 
     17   USE lib_mpp        ! distributed memory computing library 
     18   USE timing         ! Timing 
     19   USE c1d            ! 1D configuration 
     20   USE domc1d         ! 1D configuration: column location 
    2021 
    2122   IMPLICIT NONE 
     
    7172      !!                     ***  ROUTINE dom_glo  *** 
    7273      !! 
    73       !! ** Purpose :   initialization for global domain, zoom and local domain 
     74      !! ** Purpose :   initialization for global and local domain 
    7475      !! 
    7576      !! ** Method  :    
    7677      !! 
    77       !! ** Action  : - mig  , mjg :  
    78       !!              - mi0  , mi1   : 
    79       !!              - mj0, , mj1   : 
     78      !! ** Action  : - mig , mjg : local  domain indices ==> global domain indices 
     79      !!              - mi0 , mi1 : global domain indices ==> local  domain indices 
     80      !!              - mj0,, mj1   (global point not in the local domain ==> mi0>mi1 and/or mj0>mj1) 
    8081      !!---------------------------------------------------------------------- 
    8182      INTEGER ::   ji, jj   ! dummy loop argument 
    8283      !!---------------------------------------------------------------------- 
    83       !                              ! recalculate jpizoom/jpjzoom given lat/lon 
     84!!gm  This should be removed with the new configuration interface 
     85      !                              ! recalculate jp_izoom/jp_jzoom given lat/lon 
    8486      IF( lk_c1d .AND. ln_c1d_locpt )  CALL dom_c1d( rn_lat1d, rn_lon1d ) 
     87!!gm end 
    8588      ! 
    8689      !                        ! ============== ! 
    8790      !                        !  Local domain  !  
    8891      !                        ! ============== ! 
    89       DO ji = 1, jpi                 ! local domain indices ==> data domain indices 
    90         mig(ji) = ji + jpizoom - 1 + nimpp - 1 
     92      DO ji = 1, jpi                 ! local domain indices ==> global domain indices 
     93        mig(ji) = ji + nimpp - 1 
    9194      END DO 
    9295      DO jj = 1, jpj 
    93         mjg(jj) = jj + jpjzoom - 1 + njmpp - 1 
     96        mjg(jj) = jj + njmpp - 1 
    9497      END DO 
    9598      ! 
    96       !                              ! data domain indices ==> local domain indices 
     99      !                              ! global domain indices ==> local domain indices 
    97100      !                                   ! (return (m.0,m.1)=(1,0) if data domain gridpoint is to the west/south of the  
    98101      !                                   !local domain, or (m.0,m.1)=(jp.+1,jp.) to the east/north of local domain.  
    99       DO ji = 1, jpidta 
    100         mi0(ji) = MAX( 1, MIN( ji - jpizoom + 1 - nimpp + 1, jpi+1 ) ) 
    101         mi1(ji) = MAX( 0, MIN( ji - jpizoom + 1 - nimpp + 1, jpi   ) ) 
     102      DO ji = 1, jpiglo 
     103        mi0(ji) = MAX( 1 , MIN( ji - nimpp + 1, jpi+1 ) ) 
     104        mi1(ji) = MAX( 0 , MIN( ji - nimpp + 1, jpi   ) ) 
    102105      END DO 
    103       DO jj = 1, jpjdta 
    104         mj0(jj) = MAX( 1, MIN( jj - jpjzoom + 1 - njmpp + 1, jpj+1 ) ) 
    105         mj1(jj) = MAX( 0, MIN( jj - jpjzoom + 1 - njmpp + 1, jpj   ) ) 
     106      DO jj = 1, jpjglo 
     107        mj0(jj) = MAX( 1 , MIN( jj - njmpp + 1, jpj+1 ) ) 
     108        mj1(jj) = MAX( 0 , MIN( jj - njmpp + 1, jpj   ) ) 
    106109      END DO 
    107110      IF(lwp) THEN                   ! control print 
    108111         WRITE(numout,*) 
    109          WRITE(numout,*) 'dom_glo : domain: data / local ' 
     112         WRITE(numout,*) 'dom_glo : domain: global <<==>> local ' 
    110113         WRITE(numout,*) '~~~~~~~ ' 
    111          WRITE(numout,*) '          data input domain    : jpidta = ', jpidta,   & 
    112             &                                            ' jpjdta = ', jpjdta, ' jpkdta = ', jpkdta 
    113          WRITE(numout,*) '          global or zoom domain: jpiglo = ', jpiglo,   & 
    114             &                                            ' jpjglo = ', jpjglo, ' jpk    = ', jpk 
    115          WRITE(numout,*) '          local domain         : jpi    = ', jpi   ,   & 
    116             &                                            ' jpj    = ', jpj   , ' jpk    = ', jpk 
     114         WRITE(numout,*) '          global domain:   jpiglo = ', jpiglo, ' jpjglo = ', jpjglo, ' jpkglo = ', jpkglo 
     115         WRITE(numout,*) '          local  domain:   jpi    = ', jpi   , ' jpj    = ', jpj   , ' jpk    = ', jpk 
    117116         WRITE(numout,*) 
    118          WRITE(numout,*) '          south-west indices    jpizoom = ', jpizoom,   & 
    119             &                                           ' jpjzoom = ', jpjzoom 
    120117         IF( nn_print >= 1 ) THEN 
    121118            WRITE(numout,*) 
     
    125122            WRITE(numout,*) '          conversion data   ==> local  i-index domain' 
    126123            WRITE(numout,*) '             starting index' 
    127             WRITE(numout,25)              (mi0(ji),ji = 1,jpidta) 
     124            WRITE(numout,25)              (mi0(ji),ji = 1,jpiglo) 
    128125            WRITE(numout,*) '             ending index' 
    129             WRITE(numout,25)              (mi1(ji),ji = 1,jpidta) 
     126            WRITE(numout,25)              (mi1(ji),ji = 1,jpiglo) 
    130127            WRITE(numout,*) 
    131128            WRITE(numout,*) '          conversion local  ==> data j-index domain' 
     
    134131            WRITE(numout,*) '          conversion data  ==> local j-index domain' 
    135132            WRITE(numout,*) '             starting index' 
    136             WRITE(numout,25)              (mj0(jj),jj = 1,jpjdta) 
     133            WRITE(numout,25)              (mj0(jj),jj = 1,jpjglo) 
    137134            WRITE(numout,*) '             ending index' 
    138             WRITE(numout,25)              (mj1(jj),jj = 1,jpjdta) 
     135            WRITE(numout,25)              (mj1(jj),jj = 1,jpjglo) 
    139136         ENDIF 
    140137      ENDIF 
    141138 25   FORMAT( 100(10x,19i4,/) ) 
    142139 
    143       !                        ! ============== ! 
    144       !                        !  Zoom domain   ! 
    145       !                        ! ============== ! 
    146       !                              ! zoom control 
    147       IF( jpiglo + jpizoom - 1  >  jpidta .OR.   & 
    148           jpjglo + jpjzoom - 1  >  jpjdta      ) & 
    149           &   CALL ctl_stop( ' global or zoom domain exceed the data domain ! ' ) 
    150  
    151       !                              ! set zoom flag 
    152       IF( jpiglo < jpidta .OR. jpjglo < jpjdta )   lzoom = .TRUE. 
    153  
    154       !                              ! set zoom type flags 
    155       IF( lzoom .AND. jpizoom /= 1 )   lzoom_w = .TRUE.                     !  
    156       IF( lzoom .AND. jpjzoom /= 1 )   lzoom_s = .TRUE. 
    157       IF( lzoom .AND. jpiglo + jpizoom -1 /= jpidta )   lzoom_e = .TRUE. 
    158       IF( lzoom .AND. jpjglo + jpjzoom -1 /= jpjdta )   lzoom_n = .TRUE. 
    159       IF(lwp) THEN 
    160          WRITE(numout,*) 
    161          WRITE(numout,*) '          zoom flags : ' 
    162          WRITE(numout,*) '             lzoom   = ', lzoom  , ' (T = zoom, F = global )' 
    163          WRITE(numout,*) '             lzoom_e = ', lzoom_e, ' (T = forced closed east  boundary)' 
    164          WRITE(numout,*) '             lzoom_w = ', lzoom_w, ' (T = forced closed west  boundary)' 
    165          WRITE(numout,*) '             lzoom_s = ', lzoom_s, ' (T = forced closed South boundary)' 
    166          WRITE(numout,*) '             lzoom_n = ', lzoom_n, ' (T = forced closed North boundary)' 
    167       ENDIF 
    168       IF(  ( lzoom_e .OR. lzoom_w )  .AND.  ( jperio == 1 .OR. jperio == 4 .OR. jperio == 6 )  )   & 
    169            &   CALL ctl_stop( ' Your zoom choice is inconsistent with east-west cyclic boundary condition' ) 
    170       IF(  lzoom_n  .AND.  ( 3 <= jperio .AND. jperio <= 6 )  )   & 
    171            &   CALL ctl_stop( ' Your zoom choice is inconsistent with North fold boundary condition' ) 
    172  
    173       !                              ! Pre-defined arctic/antarctic zoom of ORCA configuration flag 
    174       IF( cp_cfg == "orca" ) THEN 
    175          SELECT CASE ( jp_cfg ) 
    176          CASE ( 2 )                               !  ORCA_R2 configuration 
    177             IF(  cp_cfz == "arctic"    .AND. jpiglo  == 142    .AND. jpjglo  ==  53 .AND.   & 
    178                & jpizoom ==  21    .AND. jpjzoom ==  97         )   THEN 
    179               IF(lwp) WRITE(numout,*) '          ORCA configuration: arctic zoom ' 
    180             ENDIF 
    181             IF(  cp_cfz == "antarctic" .AND. jpiglo  == jpidta .AND. jpjglo  ==  50 .AND.   & 
    182                & jpizoom ==   1    .AND. jpjzoom ==   1         )   THEN 
    183               IF(lwp) WRITE(numout,*) '          ORCA configuration: antarctic zoom ' 
    184             ENDIF 
    185             !                              
    186          CASE ( 05 )                              !  ORCA_R05 configuration 
    187             IF(    cp_cfz == "arctic"    .AND. jpiglo  == 562    .AND. jpjglo  == 202 .AND.   & 
    188                & jpizoom ==  81    .AND. jpjzoom == 301         )   THEN 
    189               IF(lwp) WRITE(numout,*) '          ORCA configuration: arctic zoom ' 
    190             ENDIF 
    191             IF(    cp_cfz == "antarctic" .AND. jpiglo  == jpidta .AND. jpjglo  == 187 .AND.   & 
    192                & jpizoom ==   1    .AND. jpjzoom ==   1         )   THEN 
    193               IF(lwp) WRITE(numout,*) '          ORCA configuration: antarctic zoom ' 
    194             ENDIF 
    195          END SELECT 
    196          ! 
    197       ENDIF 
    198140      ! 
    199141   END SUBROUTINE dom_glo 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OPA_SRC/DOM/domhgr.F90

    r6595 r6596  
    9595         CALL hgr_read   ( glamt , glamu , glamv , glamf ,   &    ! geographic position (required) 
    9696            &              gphit , gphiu , gphiv , gphif ,   &    !     -        - 
    97             &              iff   , ff    ,                   &    ! Coriolis parameter (if not on the sphere) 
     97            &              iff   , ff_f  , ff_t  ,           &    ! Coriolis parameter (if not on the sphere) 
    9898            &              e1t   , e1u   , e1v   , e1f   ,   &    ! scale factors (required) 
    9999            &              e2t   , e2u   , e2v   , e2f   ,   &    !    -     -        - 
     
    106106         CALL usr_def_hgr( glamt , glamu , glamv , glamf ,   &    ! geographic position (required) 
    107107            &              gphit , gphiu , gphiv , gphif ,   &    ! 
    108             &              iff   , ff    ,                   &    ! Coriolis parameter  (if domain not on the sphere) 
     108            &              iff   , ff_f  , ff_t  ,           &    ! Coriolis parameter  (if domain not on the sphere) 
    109109            &              e1t   , e1u   , e1v   , e1f   ,   &    ! scale factors       (required) 
    110110            &              e2t   , e2u   , e2v   , e2f   ,   &    ! 
     
    116116      ! 
    117117      IF( iff == 0 ) THEN                 ! Coriolis parameter has not been defined  
    118          IF(lwp) WRITE(numout,*) '          Coriolis parameter calculated on the sphere from gphif' 
    119          ff(:,:) = 2. * omega * SIN( rad * gphif(:,:) )     ! compute it on the sphere 
     118         IF(lwp) WRITE(numout,*) '          Coriolis parameter calculated on the sphere from gphif & gphit' 
     119         ff_f(:,:) = 2. * omega * SIN( rad * gphif(:,:) )     ! compute it on the sphere at f-point 
     120         ff_t(:,:) = 2. * omega * SIN( rad * gphit(:,:) )     !    -        -       -    at t-point 
    120121      ELSE 
    121122         IF(lwp) WRITE(numout,*) '          Coriolis parameter have been read in "mesh_mask" file' 
     
    153154   SUBROUTINE hgr_read( plamt , plamu , plamv  , plamf  ,     &    ! gridpoints position (required) 
    154155      &                 pphit , pphiu , pphiv  , pphif  ,     &      
    155       &                 kff   , pff   ,                       &    ! Coriolis parameter  (if not on the sphere) 
     156      &                 kff   , pff_f , pff_t  ,              &    ! Coriolis parameter  (if not on the sphere) 
    156157      &                 pe1t  , pe1u  , pe1v   , pe1f   ,     &    ! scale factors       (required) 
    157158      &                 pe2t  , pe2u  , pe2v   , pe2f   ,     & 
     
    166167      REAL(wp), DIMENSION(:,:), INTENT(out) ::   pphit, pphiu, pphiv, pphif   ! latitude outputs 
    167168      INTEGER                 , INTENT(out) ::   kff                          ! =1 Coriolis parameter read here, =0 otherwise 
    168       REAL(wp), DIMENSION(:,:), INTENT(out) ::   pff                          ! Coriolis factor at f-point (if found in file) 
     169      REAL(wp), DIMENSION(:,:), INTENT(out) ::   pff_f, pff_t                 ! Coriolis factor at f-point (if found in file) 
    169170      REAL(wp), DIMENSION(:,:), INTENT(out) ::   pe1t, pe1u, pe1v, pe1f       ! i-scale factors  
    170171      REAL(wp), DIMENSION(:,:), INTENT(out) ::   pe2t, pe2u, pe2v, pe2f       ! j-scale factors 
     
    210211      CALL iom_get( inum, jpdom_data, 'e2f'  , pe2f  , lrowattr=ln_use_jattr ) 
    211212      ! 
    212       IF( iom_varid( inum, 'ff', ldstop = .FALSE. ) > 0 ) THEN 
    213          IF(lwp) WRITE(numout,*) '           ff read in mesh_mask file' 
    214          CALL iom_get( inum, jpdom_data, 'ff'  , ff  , lrowattr=ln_use_jattr ) 
     213      IF(  iom_varid( inum, 'ff_f', ldstop = .FALSE. ) > 0  .AND.  & 
     214         & iom_varid( inum, 'ff_t', ldstop = .FALSE. ) > 0    ) THEN 
     215         IF(lwp) WRITE(numout,*) '           Coriolis factor at f- and t-points read in mesh_mask file' 
     216         CALL iom_get( inum, jpdom_data, 'ff_f'  , ff_f  , lrowattr=ln_use_jattr ) 
     217         CALL iom_get( inum, jpdom_data, 'ff_t'  , ff_t  , lrowattr=ln_use_jattr ) 
    215218         kff = 1 
    216219      ELSE 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OPA_SRC/DOM/domngb.F90

    r6140 r6596  
    6262      END SELECT 
    6363 
    64       IF (jphgr_msh /= 2 .AND. jphgr_msh /= 3) THEN 
    65          zlon       = MOD( plon       + 720., 360. )                                     ! plon between    0 and 360 
    66          zglam(:,:) = MOD( zglam(:,:) + 720., 360. )                                     ! glam between    0 and 360 
    67          IF( zlon > 270. )   zlon = zlon - 360.                                          ! zlon between  -90 and 270 
    68          IF( zlon <  90. )   WHERE( zglam(:,:) > 180. ) zglam(:,:) = zglam(:,:) - 360.   ! glam between -180 and 180 
    69          zglam(:,:) = zglam(:,:) - zlon 
    70       ELSE 
    71          zglam(:,:) = zglam(:,:) - plon 
    72       END IF 
     64      zlon       = MOD( plon       + 720., 360. )                                     ! plon between    0 and 360 
     65      zglam(:,:) = MOD( zglam(:,:) + 720., 360. )                                     ! glam between    0 and 360 
     66      IF( zlon > 270. )   zlon = zlon - 360.                                          ! zlon between  -90 and 270 
     67      IF( zlon <  90. )   WHERE( zglam(:,:) > 180. ) zglam(:,:) = zglam(:,:) - 360.   ! glam between -180 and 180 
     68      zglam(:,:) = zglam(:,:) - zlon 
    7369 
    7470      zgphi(:,:) = zgphi(:,:) - plat 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OPA_SRC/DOM/domwri.F90

    r6595 r6596  
    256256      CALL iom_rstput( 0, 0, inum3, 'e2f', e2f, ktype = jp_r8 ) 
    257257       
    258       CALL iom_rstput( 0, 0, inum3, 'ff', ff, ktype = jp_r8 )           !    ! coriolis factor 
     258      CALL iom_rstput( 0, 0, inum3, 'ff_f', ff_f, ktype = jp_r8 )           !    ! coriolis factor 
     259      CALL iom_rstput( 0, 0, inum3, 'ff_t', ff_t, ktype = jp_r8 ) 
    259260       
    260261      ! note that mbkt is set to 1 over land ==> use surface tmask 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OPA_SRC/DOM/domzgr.F90

    r6152 r6596  
    2424   !!   dom_zgr          : defined the ocean vertical coordinate system 
    2525   !!       zgr_bat      : bathymetry fields (levels and meters) 
    26    !!       zgr_bat_zoom : modify the bathymetry field if zoom domain 
    2726   !!       zgr_bat_ctl  : check the bathymetry files 
    2827   !!       zgr_bot_level: deepest ocean level for t-, u, and v-points 
     
    149148      ! final adjustment of mbathy & check  
    150149      ! ----------------------------------- 
    151       IF( lzoom       )   CALL zgr_bat_zoom     ! correct mbathy in case of zoom subdomain 
    152150      IF( .NOT.lk_c1d )   CALL zgr_bat_ctl      ! check bathymetry (mbathy) and suppress isolated ocean points 
    153151                          CALL zgr_bot_level    ! deepest ocean level for t-, u- and v-points 
     
    225223         ! 
    226224#if defined key_agrif 
    227          za1  = (  ppdzmin - pphmax / FLOAT(jpkdta-1)  )                                                   & 
    228             & / ( TANH((1-ppkth)/ppacr) - ppacr/FLOAT(jpkdta-1) * (  LOG( COSH( (jpkdta - ppkth) / ppacr) )& 
    229             &                                                      - LOG( COSH( ( 1  - ppkth) / ppacr) )  )  ) 
     225         za1  = (  ppdzmin - pphmax / REAL( jpkdta-1 , wp )  )                                                   & 
     226            & / ( TANH((1-ppkth)/ppacr) - ppacr/REAL( jpkdta-1 , wp ) * (  LOG( COSH( (jpkdta - ppkth) / ppacr) )& 
     227            &                                                            - LOG( COSH( ( 1     - ppkth) / ppacr) )  )  ) 
    230228#else 
    231229         za1  = (  ppdzmin - pphmax / FLOAT(jpkm1)  )                                                      & 
     
    429427               zdta(:,:) = gdepw_1d(jpk)                     ! last w-point depth 
    430428               h_oce     = gdepw_1d(jpk) 
    431             ENDIF 
    432          ELSE                                         ! bump centered in the basin 
    433             IF(lwp) WRITE(numout,*) 
    434             IF(lwp) WRITE(numout,*) '         bathymetry field: flat basin with a bump' 
    435             ii_bump = jpidta / 2                           ! i-index of the bump center 
    436             ij_bump = jpjdta / 2                           ! j-index of the bump center 
    437             r_bump  = 50000._wp                            ! bump radius (meters)        
    438             h_bump  =  2700._wp                            ! bump height (meters) 
    439             h_oce   = gdepw_1d(jpk)                        ! background ocean depth (meters) 
    440             IF(lwp) WRITE(numout,*) '            bump characteristics: ' 
    441             IF(lwp) WRITE(numout,*) '               bump center (i,j)   = ', ii_bump, ii_bump 
    442             IF(lwp) WRITE(numout,*) '               bump height         = ', h_bump , ' meters' 
    443             IF(lwp) WRITE(numout,*) '               bump radius         = ', r_bump , ' index' 
    444             IF(lwp) WRITE(numout,*) '            background ocean depth = ', h_oce  , ' meters' 
    445             !                                         
    446             DO jj = 1, jpjdta                              ! zdta : 
    447                DO ji = 1, jpidta 
    448                   zi = FLOAT( ji - ii_bump ) * ppe1_m / r_bump 
    449                   zj = FLOAT( jj - ij_bump ) * ppe2_m / r_bump 
    450                   zdta(ji,jj) = h_oce - h_bump * EXP( -( zi*zi + zj*zj ) ) 
    451                END DO 
    452             END DO 
    453             !                                              ! idta : 
    454             IF( ln_sco ) THEN                                   ! s-coordinate (zsc       ): idta()=jpk 
    455                idta(:,:) = jpkm1 
    456             ELSE                                                ! z-coordinate (zco or zps): step-like topography 
    457                idta(:,:) = jpkm1 
    458                DO jk = 1, jpkm1 
    459                   WHERE( gdept_1d(jk) < zdta(:,:) .AND. zdta(:,:) <= gdept_1d(jk+1) )   idta(:,:) = jk 
    460                END DO 
    461429            ENDIF 
    462430         ENDIF 
     
    605573 
    606574 
    607    SUBROUTINE zgr_bat_zoom 
    608       !!---------------------------------------------------------------------- 
    609       !!                    ***  ROUTINE zgr_bat_zoom  *** 
    610       !! 
    611       !! ** Purpose : - Close zoom domain boundary if necessary 
    612       !!              - Suppress Med Sea from ORCA R2 and R05 arctic zoom 
    613       !! 
    614       !! ** Method  :  
    615       !! 
    616       !! ** Action  : - update mbathy: level bathymetry (in level index) 
    617       !!---------------------------------------------------------------------- 
    618       INTEGER ::   ii0, ii1, ij0, ij1   ! temporary integers 
    619       !!---------------------------------------------------------------------- 
    620       ! 
    621       IF(lwp) WRITE(numout,*) 
    622       IF(lwp) WRITE(numout,*) '    zgr_bat_zoom : modify the level bathymetry for zoom domain' 
    623       IF(lwp) WRITE(numout,*) '    ~~~~~~~~~~~~' 
    624       ! 
    625       ! Zoom domain 
    626       ! =========== 
    627       ! 
    628       ! Forced closed boundary if required 
    629       IF( lzoom_s )   mbathy(  : , mj0(jpjzoom):mj1(jpjzoom) )      = 0 
    630       IF( lzoom_w )   mbathy(      mi0(jpizoom):mi1(jpizoom) , :  ) = 0 
    631       IF( lzoom_e )   mbathy(      mi0(jpiglo+jpizoom-1):mi1(jpiglo+jpizoom-1) , :  ) = 0 
    632       IF( lzoom_n )   mbathy(  : , mj0(jpjglo+jpjzoom-1):mj1(jpjglo+jpjzoom-1) )      = 0 
    633       ! 
    634       ! Configuration specific domain modifications 
    635       ! (here, ORCA arctic configuration: suppress Med Sea) 
    636       IF( cp_cfg == "orca" .AND. cp_cfz == "arctic" ) THEN 
    637          SELECT CASE ( jp_cfg ) 
    638          !                                        ! ======================= 
    639          CASE ( 2 )                               !  ORCA_R2 configuration 
    640             !                                     ! ======================= 
    641             IF(lwp) WRITE(numout,*) '                   ORCA R2 arctic zoom: suppress the Med Sea' 
    642             ii0 = 141   ;   ii1 = 162      ! Sea box i,j indices 
    643             ij0 =  98   ;   ij1 = 110 
    644             !                                     ! ======================= 
    645          CASE ( 05 )                              !  ORCA_R05 configuration 
    646             !                                     ! ======================= 
    647             IF(lwp) WRITE(numout,*) '                   ORCA R05 arctic zoom: suppress the Med Sea' 
    648             ii0 = 563   ;   ii1 = 642      ! zero over the Med Sea boxe 
    649             ij0 = 314   ;   ij1 = 370  
    650          END SELECT 
    651          ! 
    652          mbathy( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) = 0   ! zero over the Med Sea boxe 
    653          ! 
    654       ENDIF 
    655       ! 
    656    END SUBROUTINE zgr_bat_zoom 
    657575 
    658576 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OPA_SRC/DOM/istate.F90

    r6579 r6596  
    3434   USE domvvl          ! varying vertical mesh 
    3535   USE iscplrst        ! ice sheet coupling 
     36   USE usrdef          ! User defined routine 
    3637   ! 
    3738   USE in_out_manager  ! I/O manager 
     
    4142   USE wrk_nemo        ! Memory allocation 
    4243   USE timing          ! Timing 
    43    USE usrdef          ! User defined routine 
    44  
    45  
    4644 
    4745   IMPLICIT NONE 
     
    136134      ub_b(:,:) = 0._wp   ;   vb_b(:,:) = 0._wp 
    137135      ! 
    138 !!gm  the use of umsak & vmask is not necessary belox as un, vn, ub, vb are always masked 
     136!!gm  the use of umsak & vmask is not necessary below as un, vn, ub, vb are always masked 
    139137      DO jk = 1, jpkm1 
    140138         DO jj = 1, jpj 
     
    159157   END SUBROUTINE istate_init 
    160158 
     159   !!====================================================================== 
    161160END MODULE istate 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_ts.F90

    r6152 r6596  
    6969   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:) ::   wgtbtp1, wgtbtp2   !: 1st & 2nd weights used in time filtering of barotropic fields 
    7070 
    71    REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) ::  zwz          !: ff/h at F points 
     71   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) ::  zwz          !: ff_f/h at F points 
    7272   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) ::  ftnw, ftne   !: triad of coriolis parameter 
    7373   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) ::  ftsw, ftse   !: (only used with een vorticity scheme) 
     
    220220      IF( kt == nit000 .OR. .NOT.ln_linssh ) THEN 
    221221         IF( ln_dynvor_een ) THEN               !==  EEN scheme  ==! 
    222             SELECT CASE( nn_een_e3f )              !* ff/e3 at F-point 
     222            SELECT CASE( nn_een_e3f )              !* ff_f/e3 at F-point 
    223223            CASE ( 0 )                                   ! original formulation  (masked averaging of e3t divided by 4) 
    224224               DO jj = 1, jpjm1 
     
    226226                     zwz(ji,jj) =   ( ht_n(ji  ,jj+1) + ht_n(ji+1,jj+1) +                    & 
    227227                        &             ht_n(ji  ,jj  ) + ht_n(ji+1,jj  )   ) * 0.25_wp   
    228                      IF( zwz(ji,jj) /= 0._wp )   zwz(ji,jj) = ff(ji,jj) / zwz(ji,jj) 
     228                     IF( zwz(ji,jj) /= 0._wp )   zwz(ji,jj) = ff_f(ji,jj) / zwz(ji,jj) 
    229229                  END DO 
    230230               END DO 
     
    236236                        &       / ( MAX( 1._wp, tmask(ji  ,jj+1, 1) + tmask(ji+1,jj+1, 1) +    & 
    237237                        &                       tmask(ji  ,jj  , 1) + tmask(ji+1,jj  , 1) ) ) 
    238                      IF( zwz(ji,jj) /= 0._wp )   zwz(ji,jj) = ff(ji,jj) / zwz(ji,jj) 
     238                     IF( zwz(ji,jj) /= 0._wp )   zwz(ji,jj) = ff_f(ji,jj) / zwz(ji,jj) 
    239239                  END DO 
    240240               END DO 
     
    285285               END DO 
    286286            END DO 
    287             zwz(:,:) = ff(:,:) * zwz(:,:) 
     287            zwz(:,:) = ff_f(:,:) * zwz(:,:) 
    288288         ENDIF 
    289289      ENDIF 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OPA_SRC/DYN/dynvor.F90

    r6140 r6596  
    237237         SELECT CASE( kvor )                 !==  vorticity considered  ==! 
    238238         CASE ( np_COR )                           !* Coriolis (planetary vorticity) 
    239             zwz(:,:) = ff(:,:)  
     239            zwz(:,:) = ff_f(:,:)  
    240240         CASE ( np_RVO )                           !* relative vorticity 
    241241            DO jj = 1, jpjm1 
     
    256256            DO jj = 1, jpjm1 
    257257               DO ji = 1, fs_jpim1   ! vector opt. 
    258                   zwz(ji,jj) = ff(ji,jj) + (  e2v(ji+1,jj  ) * vn(ji+1,jj  ,jk) - e2v(ji,jj) * vn(ji,jj,jk)    & 
    259                      &                      - e1u(ji  ,jj+1) * un(ji  ,jj+1,jk) + e1u(ji,jj) * un(ji,jj,jk)  ) & 
    260                      &                   * r1_e1e2f(ji,jj) 
     258                  zwz(ji,jj) = ff_f(ji,jj) + (  e2v(ji+1,jj  ) * vn(ji+1,jj  ,jk) - e2v(ji,jj) * vn(ji,jj,jk)    & 
     259                     &                        - e1u(ji  ,jj+1) * un(ji  ,jj+1,jk) + e1u(ji,jj) * un(ji,jj,jk)  ) & 
     260                     &                     * r1_e1e2f(ji,jj) 
    261261               END DO 
    262262            END DO 
     
    264264            DO jj = 1, jpjm1 
    265265               DO ji = 1, fs_jpim1   ! vector opt. 
    266                   zwz(ji,jj) = ff(ji,jj)                                                                        & 
     266                  zwz(ji,jj) = ff_f(ji,jj)                                                                      & 
    267267                       &     + (   ( vn(ji+1,jj  ,jk) + vn (ji,jj,jk) ) * ( e2v(ji+1,jj  ) - e2v(ji,jj) )       & 
    268268                       &         - ( un(ji  ,jj+1,jk) + un (ji,jj,jk) ) * ( e1u(ji  ,jj+1) - e1u(ji,jj) )   )   & 
     
    357357         SELECT CASE( kvor )                 !==  vorticity considered  ==! 
    358358         CASE ( np_COR )                           !* Coriolis (planetary vorticity) 
    359             zwz(:,:) = ff(:,:)  
     359            zwz(:,:) = ff_f(:,:)  
    360360         CASE ( np_RVO )                           !* relative vorticity 
    361361            DO jj = 1, jpjm1 
     
    376376            DO jj = 1, jpjm1 
    377377               DO ji = 1, fs_jpim1   ! vector opt. 
    378                   zwz(ji,jj) = ff(ji,jj) + (  e2v(ji+1,jj  ) * vn(ji+1,jj  ,jk) - e2v(ji,jj) * vn(ji,jj,jk)    & 
    379                      &                      - e1u(ji  ,jj+1) * un(ji  ,jj+1,jk) + e1u(ji,jj) * un(ji,jj,jk)  ) & 
    380                      &                   * r1_e1e2f(ji,jj) 
     378                  zwz(ji,jj) = ff_f(ji,jj) + (  e2v(ji+1,jj  ) * vn(ji+1,jj  ,jk) - e2v(ji,jj) * vn(ji,jj,jk)    & 
     379                     &                        - e1u(ji  ,jj+1) * un(ji  ,jj+1,jk) + e1u(ji,jj) * un(ji,jj,jk)  ) & 
     380                     &                     * r1_e1e2f(ji,jj) 
    381381               END DO 
    382382            END DO 
     
    384384            DO jj = 1, jpjm1 
    385385               DO ji = 1, fs_jpim1   ! vector opt. 
    386                   zwz(ji,jj) = ff(ji,jj)                                                                       & 
     386                  zwz(ji,jj) = ff_f(ji,jj)                                                                      & 
    387387                       &     + (   ( vn(ji+1,jj  ,jk) + vn (ji,jj,jk) ) * ( e2v(ji+1,jj  ) - e2v(ji,jj) )       & 
    388388                       &         - ( un(ji  ,jj+1,jk) + un (ji,jj,jk) ) * ( e1u(ji  ,jj+1) - e1u(ji,jj) )   )   & 
     
    506506            DO jj = 1, jpjm1 
    507507               DO ji = 1, fs_jpim1   ! vector opt. 
    508                   zwz(ji,jj) = ff(ji,jj) * z1_e3f(ji,jj) 
     508                  zwz(ji,jj) = ff_f(ji,jj) * z1_e3f(ji,jj) 
    509509               END DO 
    510510            END DO 
     
    528528            DO jj = 1, jpjm1 
    529529               DO ji = 1, fs_jpim1   ! vector opt. 
    530                   zwz(ji,jj) = (  ff(ji,jj) + (  e2v(ji+1,jj  ) * vn(ji+1,jj  ,jk) - e2v(ji,jj) * vn(ji,jj,jk)    & 
    531                      &                         - e1u(ji  ,jj+1) * un(ji  ,jj+1,jk) + e1u(ji,jj) * un(ji,jj,jk)  ) & 
    532                      &                      * r1_e1e2f(ji,jj)    ) * z1_e3f(ji,jj) 
     530                  zwz(ji,jj) = (  ff_f(ji,jj) + (  e2v(ji+1,jj  ) * vn(ji+1,jj  ,jk) - e2v(ji,jj) * vn(ji,jj,jk)    & 
     531                     &                           - e1u(ji  ,jj+1) * un(ji  ,jj+1,jk) + e1u(ji,jj) * un(ji,jj,jk)  ) & 
     532                     &                        * r1_e1e2f(ji,jj)    ) * z1_e3f(ji,jj) 
    533533               END DO 
    534534            END DO 
     
    536536            DO jj = 1, jpjm1 
    537537               DO ji = 1, fs_jpim1   ! vector opt. 
    538                   zwz(ji,jj) = (  ff(ji,jj)                                                                        & 
     538                  zwz(ji,jj) = (  ff_f(ji,jj)                                                                      & 
    539539                       &        + (   ( vn(ji+1,jj  ,jk) + vn (ji,jj,jk) ) * ( e2v(ji+1,jj  ) - e2v(ji,jj) )       & 
    540540                       &            - ( un(ji  ,jj+1,jk) + un (ji,jj,jk) ) * ( e1u(ji  ,jj+1) - e1u(ji,jj) )   )   & 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OPA_SRC/FLO/floblk.F90

    r6140 r6596  
    106106222   DO jfl = 1, jpnfl 
    107107# if   defined key_mpp_mpi 
    108          IF( (iil(jfl) >= (mig(nldi)-jpizoom+1)) .AND. (iil(jfl) <= (mig(nlei)-jpizoom+1)) .AND.   & 
    109              (ijl(jfl) >= (mjg(nldj)-jpjzoom+1)) .AND. (ijl(jfl) <= (mjg(nlej)-jpjzoom+1)) ) THEN 
    110             iiloc(jfl) = iil(jfl) - (mig(1)-jpizoom+1) + 1 
    111             ijloc(jfl) = ijl(jfl) - (mjg(1)-jpjzoom+1) + 1 
     108         IF( iil(jfl) >= mig(nldi) .AND. iil(jfl) <= mig(nlei) .AND.   & 
     109             ijl(jfl) >= mjg(nldj) .AND. ijl(jfl) <= mjg(nlej)  ) THEN 
     110            iiloc(jfl) = iil(jfl) - mig(1) + 1 
     111            ijloc(jfl) = ijl(jfl) - mjg(1) + 1 
    112112# else  
    113113            iiloc(jfl) = iil(jfl) 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OPA_SRC/FLO/flodom.F90

    r6140 r6596  
    234234 
    235235            ! Translation of this distances (in meter) in indexes 
    236             zgifl(jfl)= (iimfl(jfl)-0.5) + zdxab/e1u(iimfl(jfl)-1,ijmfl(jfl)) + (mig(1)-jpizoom) 
    237             zgjfl(jfl)= (ijmfl(jfl)-0.5) + zdyad/e2v(iimfl(jfl),ijmfl(jfl)-1) + (mjg(1)-jpjzoom) 
     236            zgifl(jfl)= (iimfl(jfl)-0.5) + zdxab/e1u(iimfl(jfl)-1,ijmfl(jfl)) + (mig(1)-1) 
     237            zgjfl(jfl)= (ijmfl(jfl)-0.5) + zdyad/e2v(iimfl(jfl),ijmfl(jfl)-1) + (mjg(1)-1) 
    238238            zgkfl(jfl) = (( gdepw_n(iimfl(jfl),ijmfl(jfl),ikmfl(jfl)+1) - flzz(jfl) )* ikmfl(jfl))   & 
    239239               &                 / (  gdepw_n(iimfl(jfl),ijmfl(jfl),ikmfl(jfl)+1)                              & 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OPA_SRC/FLO/florst.F90

    r6140 r6596  
    102102         IF( lk_mpp ) THEN 
    103103            DO jfl = 1, jpnfl 
    104                IF( (INT(tpifl(jfl)) >= (mig(nldi)-jpizoom+1)) .AND.   & 
    105                   &(INT(tpifl(jfl)) <= (mig(nlei)-jpizoom+1)) .AND.   & 
    106                   &(INT(tpjfl(jfl)) >= (mjg(nldj)-jpjzoom+1)) .AND.   & 
    107                   &(INT(tpjfl(jfl)) <= (mjg(nlej)-jpjzoom+1)) ) THEN 
     104               IF( (INT(tpifl(jfl)) >= mig(nldi)) .AND.   & 
     105                  &(INT(tpifl(jfl)) <= mig(nlei)) .AND.   & 
     106                  &(INT(tpjfl(jfl)) >= mjg(nldj)) .AND.   & 
     107                  &(INT(tpjfl(jfl)) <= mjg(nlej)) ) THEN 
    108108                  iperproc(narea) = iperproc(narea)+1 
    109109               ENDIF 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OPA_SRC/ICB/icbutl.F90

    r5215 r6596  
    7272      uo_e(:,:) = 0._wp ;   uo_e(1:jpi, 1:jpj) = ssu_m(:,:) * umask(:,:,1) 
    7373      vo_e(:,:) = 0._wp ;   vo_e(1:jpi, 1:jpj) = ssv_m(:,:) * vmask(:,:,1) 
    74       ff_e(:,:) = 0._wp ;   ff_e(1:jpi, 1:jpj) = ff  (:,:)  
     74      ff_e(:,:) = 0._wp ;   ff_e(1:jpi, 1:jpj) = ff_f (:,:)  
    7575      tt_e(:,:) = 0._wp ;   tt_e(1:jpi, 1:jpj) = sst_m(:,:) 
    7676      fr_e(:,:) = 0._wp ;   fr_e(1:jpi, 1:jpj) = fr_i (:,:) 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OPA_SRC/LBC/mppini_2.h90

    r6140 r6596  
    109109         CALL iom_getatt(inum, 'open_ocean_jstart', jstartrow ) ! -999 is returned if the attribute is not found 
    110110         jstartrow = MAX(1,jstartrow) 
    111          CALL iom_get ( inum, jpdom_unknown, 'Bathy_level', zdta, kstart=(/jpizoom,jpjzoom+jstartrow-1/), kcount=(/jpiglo,jpjglo/) ) 
     111         CALL iom_get( inum, jpdom_unknown, 'Bathy_level', zdta, kstart=(/1,1+jstartrow-1/), kcount=(/jpiglo,jpjglo/) ) 
    112112      ELSE 
    113113         CALL iom_open ( 'bathy_meter.nc', inum )   ! Meter bathy in case of partial steps 
    114114         IF ( ln_isfcav ) THEN 
    115              CALL iom_get ( inum, jpdom_unknown, 'Bathymetry_isf' , zdta, kstart=(/jpizoom,jpjzoom/), kcount=(/jpiglo,jpjglo/) ) 
     115             CALL iom_get( inum, jpdom_unknown, 'Bathymetry_isf' , zdta, kstart=(/1,1/), kcount=(/jpiglo,jpjglo/) ) 
    116116         ELSE 
    117117             ! Optionally use a file attribute (open_ocean_jstart) to set a start row for reading from the global file 
     
    119119             CALL iom_getatt(inum, 'open_ocean_jstart', jstartrow ) ! -999 is returned if the attribute is not found 
    120120             jstartrow = MAX(1,jstartrow) 
    121              CALL iom_get ( inum, jpdom_unknown, 'Bathymetry' , zdta, kstart=(/jpizoom,jpjzoom+jstartrow-1/)   & 
    122                 &                                                   , kcount=(/jpiglo,jpjglo/) ) 
     121             CALL iom_get( inum, jpdom_unknown, 'Bathymetry' , zdta, kstart=(/1,1+jstartrow-1/), kcount=(/jpiglo,jpjglo/) ) 
    123122         ENDIF 
    124123      ENDIF 
     
    129128      IF ( ln_isfcav ) THEN 
    130129         CALL iom_open ( 'bathy_meter.nc', inum )   ! Meter bathy in case of partial steps 
    131          CALL iom_get ( inum, jpdom_unknown, 'isf_draft' , zdtaisf, kstart=(/jpizoom,jpjzoom/), kcount=(/jpiglo,jpjglo/) ) 
     130         CALL iom_get ( inum, jpdom_unknown, 'isf_draft' , zdtaisf, kstart=(/1,1/), kcount=(/jpiglo,jpjglo/) ) 
    132131      END IF 
    133132      CALL iom_close (inum) 
    134133 
    135       ! land/sea mask over the global/zoom domain 
     134      ! land/sea mask over the global domain 
    136135 
    137136      imask(:,:)=1 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OPA_SRC/LDF/ldftra.F90

    r6140 r6596  
    298298      ! 
    299299      INTEGER  ::   ji, jj, jk   ! dummy loop indices 
    300       REAL(wp) ::   zaht, zaht_min, z1_f20       ! local scalar 
     300      REAL(wp) ::   zaht, zahf, zaht_min, z1_f20       ! local scalar 
    301301      !!---------------------------------------------------------------------- 
    302302      ! 
     
    327327         DO jj = 1, jpj 
    328328            DO ji = 1, jpi 
    329                zaht = ( 1._wp -  MIN( 1._wp , ABS( ff(ji,jj) * z1_f20 ) ) ) * ( rn_aht_0 - zaht_min ) 
     329               !!gm CAUTION : here we assume lat/lon grid in 20deg N/S band (like all ORCA cfg) 
     330               !!     ==>>>   The Coriolis value is identical for t- & u_points, and for v- and f-points 
     331               zaht = ( 1._wp -  MIN( 1._wp , ABS( ff_t(ji,jj) * z1_f20 ) ) ) * ( rn_aht_0 - zaht_min ) 
     332               zahf = ( 1._wp -  MIN( 1._wp , ABS( ff_f(ji,jj) * z1_f20 ) ) ) * ( rn_aht_0 - zaht_min ) 
    330333               ahtu(ji,jj,1) = (  MAX( zaht_min, ahtu(ji,jj,1) ) + zaht  ) * umask(ji,jj,1)     ! min value zaht_min 
    331                ahtv(ji,jj,1) = (  MAX( zaht_min, ahtv(ji,jj,1) ) + zaht  ) * vmask(ji,jj,1)     ! increase within 20S-20N 
     334               ahtv(ji,jj,1) = (  MAX( zaht_min, ahtv(ji,jj,1) ) + zahf  ) * vmask(ji,jj,1)     ! increase within 20S-20N 
    332335            END DO 
    333336         END DO 
     
    568571      DO jj = 2, jpjm1 
    569572         DO ji = fs_2, fs_jpim1   ! vector opt. 
    570             zzaei = MIN( 1._wp, ABS( ff(ji,jj) * z1_f20 ) ) * zaeiw(ji,jj)       ! tropical decrease 
     573            zzaei = MIN( 1._wp, ABS( ff_t(ji,jj) * z1_f20 ) ) * zaeiw(ji,jj)       ! tropical decrease 
    571574            zaeiw(ji,jj) = MIN( zzaei , paei0 )                                  ! Max value = paei0 
    572575         END DO 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_if.F90

    r6140 r6596  
    134134               !      # qns = zqrp -2(-4) watt/m2  if climatological ice and opa ice     (zfr_obs=1, fr_i=1) 
    135135               !                                   (-2=arctic, -4=antarctic)    
    136                zqi = -3. + SIGN( 1.e0, ff(ji,jj) ) 
     136               zqi = -3. + SIGN( 1._wp, ff_f(ji,jj) ) 
    137137               qns(ji,jj) = ( ( 1.- zfr_obs ) * qns(ji,jj)                             & 
    138138                  &          +      zfr_obs   * fr_i(ji,jj) * zqi ) * tmask(ji,jj,1)   & 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OPA_SRC/SBC/sbcisf.F90

    r6140 r6596  
    536536   END SUBROUTINE sbc_isf_cav 
    537537 
     538 
    538539   SUBROUTINE sbc_isf_gammats(pgt, pgs, pqhisf, pqwisf ) 
    539540      !!---------------------------------------------------------------------- 
     
    635636 
    636637                  !! compute eta* (stability parameter) 
    637                   zetastar = 1._wp / ( SQRT(1._wp + MAX(zxsiN * zustar(ji,jj) / ( ABS(ff(ji,jj)) * zmols * zRc ), 0.0_wp))) 
     638                  zetastar = 1._wp / ( SQRT(1._wp + MAX(zxsiN * zustar(ji,jj) / ( ABS(ff_f(ji,jj)) * zmols * zRc ), 0._wp))) 
    638639 
    639640                  !! compute the sublayer thickness 
     
    641642 
    642643                  !! compute gamma turb 
    643                   zgturb = 1._wp / vkarmn * LOG(zustar(ji,jj) * zxsiN * zetastar * zetastar / ( ABS(ff(ji,jj)) * zhnu )) & 
     644                  zgturb = 1._wp / vkarmn * LOG(zustar(ji,jj) * zxsiN * zetastar * zetastar / ( ABS(ff_f(ji,jj)) * zhnu )) & 
    644645                  &      + 1._wp / ( 2 * zxsiN * zetastar ) - 1._wp / vkarmn 
    645646 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_mle.F90

    r6140 r6596  
    329329            DO jj = 2, jpj                           ! "coriolis+ time^-1" at u- & v-points 
    330330               DO ji = fs_2, jpi   ! vector opt. 
    331                   zfu = ( ff(ji,jj) + ff(ji,jj-1) ) * 0.5_wp 
    332                   zfv = ( ff(ji,jj) + ff(ji-1,jj) ) * 0.5_wp 
     331                  zfu = ( ff_f(ji,jj) + ff_f(ji,jj-1) ) * 0.5_wp 
     332                  zfv = ( ff_f(ji,jj) + ff_f(ji-1,jj) ) * 0.5_wp 
    333333                  rfu(ji,jj) = SQRT(  zfu * zfu + z1_t2 ) 
    334334                  rfv(ji,jj) = SQRT(  zfv * zfv + z1_t2 ) 
     
    347347         ! 
    348348         z1_t2 = 1._wp / ( rn_time * rn_time ) 
    349          r1_ft(:,:) = 2._wp * omega * SIN( rad * gphit(:,:) ) 
    350          r1_ft(:,:) = 1._wp / SQRT(  r1_ft(:,:) * r1_ft(:,:) + z1_t2 ) 
     349         r1_ft(:,:) = 1._wp / SQRT(  ff_t(:,:) * ff_t(:,:) + z1_t2  ) 
    351350         ! 
    352351      ENDIF 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OPA_SRC/nemogcm.F90

    r6595 r6596  
    239239      INTEGER  ::   ios, inum     !   -      - 
    240240      REAL(wp) ::   ziglo, zjglo, zkglo   ! local scalars 
    241       CHARACTER(len=120), DIMENSION(16) ::   cltxt, cltxt2, clnam 
     241      CHARACTER(len=120), DIMENSION(16) ::   cltxt, cltxt2, clnam, clbug 
    242242      ! 
    243243      NAMELIST/namctl/ ln_ctl  , nn_print, nn_ictls, nn_ictle,   & 
    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, jpidta, jpjdta, jpkdta, jpiglo, jpjglo, & 
    247          &             jpizoom, jpjzoom, jperio, ln_use_jattr 
     246      NAMELIST/namcfg/ ln_read_cfg, cp_cfg, cp_cfz, jp_cfg,   & 
     247         &             jperio, ln_use_jattr 
    248248      !!---------------------------------------------------------------------- 
    249249      ! 
    250250      cltxt  = '' 
    251251      cltxt2 = '' 
    252       clnam  = '' 
     252      clnam  = ''   
     253      clbug  = '' 
    253254      cxios_context = 'nemo' 
    254255      ! 
     
    257258      CALL ctl_opn( numnam_cfg, 'namelist_cfg', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE. ) 
    258259      ! 
     260 
     261!!gm      WRITE(clbug(1),*) ' before namelist / namctl read    nstop', nstop       
     262 
    259263      REWIND( numnam_ref )              ! Namelist namctl in reference namelist : Control prints 
    260264      READ  ( numnam_ref, namctl, IOSTAT = ios, ERR = 901 ) 
     
    265269902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namctl in configuration namelist', .TRUE. ) 
    266270 
     271 
     272!!gm      WRITE(clbug(2),*) ' before namelist namcfg read    nstop', nstop       
     273 
    267274      ! 
    268275      REWIND( numnam_ref )              ! Namelist namcfg in reference namelist 
     
    273280      READ  ( numnam_cfg, namcfg, IOSTAT = ios, ERR = 904 ) 
    274281904   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namcfg in configuration namelist', .TRUE. )    
     282 
     283!!gm      WRITE(clbug(3),*) ' after namelist namcfg read    nstop', nstop 
    275284 
    276285      !                             !--------------------------! 
     
    291300      jpk    = jpkglo 
    292301      jpidta = jpiglo         !!gm  jpidta, jpjdta : to be suppressed 
    293       jpjdta = jpjglo         !!gm  together with jpizoom, jpjzoom and all associated variables...  
     302      jpjdta = jpjglo         !!gm    
     303      jpkdta = jpkglo 
    294304      ! 
    295305#if defined key_agrif 
     
    301311         jpidta  = jpiglo 
    302312         jpjdta  = jpjglo 
    303          jpizoom = 1 
    304          jpjzoom = 1 
    305313         nperio  = 0 
    306314         jperio  = 0 
     
    338346      ENDIF 
    339347#endif 
     348 
    340349      narea = narea + 1                                     ! mynode return the rank of proc (0 --> jpnij -1 ) 
    341350 
     
    376385         jpj = ( jpjglo     -2*jprecj + (jpnj-1) ) / jpnj + 2*jprecj    ! second dim. 
    377386#endif 
    378       ENDIF          
    379          jpk = jpkdta                                             ! third dim 
     387      ENDIF 
     388                
     389      jpk = jpkdta                                             ! third dim 
     390       
    380391#if defined key_agrif 
    381          ! simple trick to use same vertical grid as parent but different number of levels:  
    382          ! Save maximum number of levels in jpkdta, then define all vertical grids with this number. 
    383          ! Suppress once vertical online interpolation is ok 
    384          IF(.NOT.Agrif_Root())   jpkdta = Agrif_Parent( jpkdta ) 
    385 #endif 
    386          jpim1 = jpi-1                                            ! inner domain indices 
    387          jpjm1 = jpj-1                                            !   "           " 
    388          jpkm1 = jpk-1                                            !   "           " 
    389          jpij  = jpi*jpj                                          !  jpi x j 
     392      ! simple trick to use same vertical grid as parent but different number of levels:  
     393      ! Save maximum number of levels in jpkdta, then define all vertical grids with this number. 
     394      ! Suppress once vertical online interpolation is ok 
     395      IF(.NOT.Agrif_Root())   jpkdta = Agrif_Parent( jpkdta ) 
     396#endif 
     397      jpim1 = jpi-1                                            ! inner domain indices 
     398      jpjm1 = jpj-1                                            !   "           " 
     399      jpkm1 = jpk-1                                            !   "           " 
     400      jpij  = jpi*jpj                                          !  jpi x j 
    390401 
    391402      IF(lwp) THEN                            ! open listing units 
     
    393404         CALL ctl_opn( numout, 'ocean.output', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE., narea ) 
    394405         ! 
     406 
     407         DO ji = 1, SIZE(clbug) 
     408            IF( TRIM(clbug (ji)) /= '' )   WRITE(numout,*) clbug(ji)      ! bug print  
     409         END DO 
     410         WRITE(numout,*) 
     411 
     412 
     413 
     414 
    395415         WRITE(numout,*) 
    396416         WRITE(numout,*) '   CNRS - NERC - Met OFFICE - MERCATOR-ocean - INGV - CMCC' 
     
    416436      ! allocate arrays 
    417437      CALL nemo_alloc() 
     438 
     439      WRITE(numout,*) ' -after alloc--    nstop', nstop 
    418440 
    419441      !                             !-------------------------------! 
     
    581603         WRITE(numout,*) '      configuration zoom name                          cp_cfz  = ', TRIM(cp_cfz) 
    582604         WRITE(numout,*) '      configuration resolution                         jp_cfg  = ', jp_cfg 
    583          WRITE(numout,*) '      1st lateral dimension ( >= jpiglo )              jpidta  = ', jpidta 
    584          WRITE(numout,*) '      2nd    "         "    ( >= jpjglo )              jpjdta  = ', jpjdta 
    585          WRITE(numout,*) '      3nd    "         "                               jpkdta  = ', jpkdta 
    586          WRITE(numout,*) '      1st dimension of global domain in i              jpiglo  = ', jpiglo 
    587          WRITE(numout,*) '      2nd    -                  -    in j              jpjglo  = ', jpjglo 
    588          WRITE(numout,*) '      left bottom i index of the zoom (in data domain) jpizoom = ', jpizoom 
    589          WRITE(numout,*) '      left bottom j index of the zoom (in data domain) jpizoom = ', jpjzoom 
    590605         WRITE(numout,*) '      lateral cond. type (between 0 and 6)             jperio  = ', jperio    
    591606         WRITE(numout,*) '      use file attribute if exists as i/p j-start ln_use_jattr = ', ln_use_jattr 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OPA_SRC/par_oce.F90

    r6595 r6596  
    3333   INTEGER       ::   jp_cfg           !: resolution of the configuration 
    3434 
    35    ! data size                                       !!! * size of all input files * 
    36    INTEGER       ::   jpidta           !: 1st lateral dimension ( >= jpi ) 
    37    INTEGER       ::   jpjdta           !: 2nd    "         "    ( >= jpj ) 
    38    INTEGER       ::   jpkdta           !: number of levels      ( >= jpk ) 
     35   !!--------------------------------------------------------------------- 
     36   !! Domain Matrix size  
     37   !!--------------------------------------------------------------------- 
    3938 
    40    ! global or zoom domain size                      !!! * computational domain * 
     39!!gm  TO BE SUPRESSED 
     40   ! data size                        !!! * size of all input files * 
     41   INTEGER       ::   jpidta           !: 1st lateral dimension  
     42   INTEGER       ::   jpjdta           !: 2nd    "         "    
     43   INTEGER       ::   jpkdta           !: number of levels      
     44!!gm  END 
     45 
     46   ! global domain size               !!! * total computational domain * 
    4147   INTEGER       ::   jpiglo           !: 1st dimension of global domain --> i-direction 
    4248   INTEGER       ::   jpjglo           !: 2nd    -                  -    --> j-direction 
    4349   INTEGER       ::   jpkglo           !: 3nd    -                  -    --> k levels 
    4450 
    45    ! zoom starting position  
    46    INTEGER       ::   jpizoom          !: left bottom (i,j) indices of the zoom 
    47    INTEGER       ::   jpjzoom          !: in data domain indices 
     51#if defined key_agrif 
     52 
     53!!gm  BUG ?   I'm surprised by the calculation below of nbcellsx and nbcellsy before jpiglo,jpjglo  
     54!!gm                           has been assigned to a value.... 
     55!!gm 
     56 
     57   ! global domain size for AGRIF     !!! * total AGRIF computational domain * 
     58   INTEGER, PUBLIC, PARAMETER ::   nbghostcells = 1                             !: number of ghost cells 
     59   INTEGER, PUBLIC            ::   nbcellsx     = jpiglo - 2 - 2*nbghostcells   !: number of cells in i-direction 
     60   INTEGER, PUBLIC            ::   nbcellsy     = jpjglo - 2 - 2*nbghostcells   !: number of cells in j-direction 
     61#endif 
     62 
     63   ! local domain size                !!! * local computational domain * 
     64   INTEGER, PUBLIC ::   jpi   ! = ( jpiglo-2*jpreci + (jpni-1) ) / jpni + 2*jpreci   !: first  dimension 
     65   INTEGER, PUBLIC ::   jpj   ! = ( jpjglo-2*jprecj + (jpnj-1) ) / jpnj + 2*jprecj   !: second dimension 
     66   INTEGER, PUBLIC ::   jpk   ! = jpkdta 
     67   INTEGER, PUBLIC ::   jpim1 ! = jpi-1                                            !: inner domain indices 
     68   INTEGER, PUBLIC ::   jpjm1 ! = jpj-1                                            !:   -     -      - 
     69   INTEGER, PUBLIC ::   jpkm1 ! = jpk-1                                            !:   -     -      - 
     70   INTEGER, PUBLIC ::   jpij  ! = jpi*jpj                                          !:  jpi x jpj 
     71 
    4872 
    4973   ! Domain characteristics 
    50    INTEGER       ::   jperio           !: lateral cond. type (between 0 and 6) 
    51    !                                       !  = 0 closed                 ;   = 1 cyclic East-West 
    52    !                                       !  = 2 equatorial symmetric   ;   = 3 North fold T-point pivot 
    53    !                                       !  = 4 cyclic East-West AND North fold T-point pivot 
    54    !                                       !  = 5 North fold F-point pivot 
    55    !                                       !  = 6 cyclic East-West AND North fold F-point pivot 
     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 
    5680 
    5781   ! Input file read offset 
    58    LOGICAL       ::   ln_use_jattr     !: Use file global attribute: open_ocean_jstart to determine start j-row  
    59                                            ! when reading input from those netcdf files that have the  
    60                                            ! attribute defined. This is designed to enable input files associated  
    61                                            ! with the extended grids used in the under ice shelf configurations to  
    62                                            ! be used without redundant rows when the ice shelves are not in use. 
     82   LOGICAL       ::   ln_use_jattr   !: Use file global attribute: open_ocean_jstart to determine start j-row  
     83                                          ! when reading input from those netcdf files that have the  
     84                                          ! attribute defined. This is designed to enable input files associated  
     85                                          ! with the extended grids used in the under ice shelf configurations to  
     86                                          ! be used without redundant rows when the ice shelves are not in use. 
    6387 
    6488   !!  Values set to pp_not_used indicates that this parameter is not used in THIS config. 
     
    6690   REAL(wp)      ::   pp_not_used       = 999999._wp   !: vertical grid parameter 
    6791   REAL(wp)      ::   pp_to_be_computed = 999999._wp   !:    -      -       - 
    68  
    69  
    7092 
    7193 
     
    7799   INTEGER, PUBLIC, PARAMETER ::   jp_sal = 2    !: indice for salinity 
    78100 
    79    !!--------------------------------------------------------------------- 
    80    !! Domain Matrix size  (if AGRIF, they are not all parameters) 
    81    !!--------------------------------------------------------------------- 
    82 #if defined key_agrif 
    83    INTEGER, PUBLIC, PARAMETER ::   nbghostcells = 1                             !: number of ghost cells 
    84    INTEGER, PUBLIC            ::   nbcellsx     = jpiglo - 2 - 2*nbghostcells   !: number of cells in i-direction 
    85    INTEGER, PUBLIC            ::   nbcellsy     = jpjglo - 2 - 2*nbghostcells   !: number of cells in j-direction 
    86    ! 
    87 #endif 
    88    INTEGER, PUBLIC  ::   jpi   ! = ( jpiglo-2*jpreci + (jpni-1) ) / jpni + 2*jpreci   !: first  dimension 
    89    INTEGER, PUBLIC  ::   jpj   ! = ( jpjglo-2*jprecj + (jpnj-1) ) / jpnj + 2*jprecj   !: second dimension 
    90    INTEGER, PUBLIC  ::   jpk   ! = jpkdta 
    91    INTEGER, PUBLIC  ::   jpim1 ! = jpi-1                                            !: inner domain indices 
    92    INTEGER, PUBLIC  ::   jpjm1 ! = jpj-1                                            !:   -     -      - 
    93    INTEGER, PUBLIC  ::   jpkm1 ! = jpk-1                                            !:   -     -      - 
    94    INTEGER, PUBLIC  ::   jpij  ! = jpi*jpj                                          !:  jpi x jpj 
    95101 
    96102   !!---------------------------------------------------------------------- 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OPA_SRC/usrdef.F90

    r6595 r6596  
    8787   SUBROUTINE usr_def_hgr( plamt , plamu , plamv  , plamf  ,   &   ! geographic position (required) 
    8888      &                    pphit , pphiu , pphiv  , pphif  ,   &   ! 
    89       &                    kff   , pff   ,                     &   ! Coriolis parameter  (if domain not on the sphere) 
     89      &                    kff   , pff_f , pff_t  ,            &   ! Coriolis parameter  (if domain not on the sphere) 
    9090      &                    pe1t  , pe1u  , pe1v   , pe1f   ,   &   ! scale factors       (required) 
    9191      &                    pe2t  , pe2u  , pe2v   , pe2f   ,   &   ! 
     
    112112      REAL(wp), DIMENSION(:,:), INTENT(out) ::   pphit, pphiu, pphiv, pphif   ! latitude outputs                      [degrees] 
    113113      INTEGER                 , INTENT(out) ::   kff                          ! =1 Coriolis parameter computed here, =0 otherwise 
    114       REAL(wp), DIMENSION(:,:), INTENT(out) ::   pff                          ! Coriolis factor at f-point                [1/s] 
     114      REAL(wp), DIMENSION(:,:), INTENT(out) ::   pff_f, pff_t                 ! Coriolis factor at f-point                [1/s] 
    115115      REAL(wp), DIMENSION(:,:), INTENT(out) ::   pe1t, pe1u, pe1v, pe1f       ! i-scale factors                             [m] 
    116116      REAL(wp), DIMENSION(:,:), INTENT(out) ::   pe2t, pe2u, pe2v, pe2f       ! j-scale factors                             [m] 
     
    130130      IF(lwp) WRITE(numout,*) '          beta-plane with regular grid-spacing and rotated domain (GYRE configuration)' 
    131131      ! 
    132       !           !==  grid point position  ==! 
    133       ! 
    134       zlam1 = -85._wp                        ! position of gridpoint (i,j) = (1,jpjglo) 
     132      !                       !==  grid point position  ==! 
     133      ! 
     134      zlam1 = -85._wp                           ! position of gridpoint (i,j) = (1,jpjglo) 
    135135      zphi1 =  29._wp 
    136136      ! 
    137       ze1 = 106000. / REAL( nn_GYRE , wp )   ! gridspacing in meters 
    138       ! 
    139       zsin_alpha = - SQRT( 2._wp ) * 0.5_wp  ! angle: 45 degrees 
     137      ze1 = 106000._wp / REAL( nn_GYRE , wp )   ! gridspacing in meters 
     138      ! 
     139      zsin_alpha = - SQRT( 2._wp ) * 0.5_wp     ! angle: 45 degrees 
    140140      zcos_alpha =   SQRT( 2._wp ) * 0.5_wp 
    141141      ze1deg = ze1 / (ra * rad) 
     
    179179      END DO 
    180180      ! 
    181       !           !== Horizontal scale factors ==! (in meters) 
     181      !                       !== Horizontal scale factors ==! (in meters) 
    182182      !                      
    183       !                             ! constant grid spacing 
     183      !                                         ! constant grid spacing 
    184184      pe1t(:,:) =  ze1     ;      pe2t(:,:) = ze1 
    185185      pe1u(:,:) =  ze1     ;      pe2u(:,:) = ze1 
     
    187187      pe1f(:,:) =  ze1     ;      pe2f(:,:) = ze1 
    188188      ! 
    189       !                             ! NO reduction of grid size in some straits  
    190       ke1e2u_v = 0                  !    ==>> u_ & v_surfaces will be computed in dom_ghr routine 
    191       ! 
    192       ! 
    193       !           !==  Coriolis parameter  ==! 
     189      !                                         ! NO reduction of grid size in some straits  
     190      ke1e2u_v = 0                              !    ==>> u_ & v_surfaces will be computed in dom_ghr routine 
     191      ! 
     192      ! 
     193      !                       !==  Coriolis parameter  ==! 
    194194      kff = 1                                            !  indicate not to compute ff afterward 
    195195      ! 
     
    200200      zf0   = 2. * omega * SIN( rad * zphi0 )            !  compute f0 1st point south 
    201201      ! 
    202       pff(:,:) = ( zf0 + zbeta * ABS( pphif(:,:) - zphi0 ) * rad * ra ) ! f = f0 +beta* y ( y=0 at south) 
     202      pff_f(:,:) = ( zf0 + zbeta * ABS( pphif(:,:) - zphi0 ) * rad * ra ) ! f = f0 +beta* y ( y=0 at south) 
     203      pff_t(:,:) = ( zf0 + zbeta * ABS( pphit(:,:) - zphi0 ) * rad * ra ) ! f = f0 +beta* y ( y=0 at south) 
    203204      ! 
    204205      IF(lwp) WRITE(numout,*) '                           beta-plane used. beta = ', zbeta, ' 1/(s.m)' 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/SAO_SRC/nemogcm.F90

    r5600 r6596  
    119119      INTEGER ::   ilocal_comm   ! local integer 
    120120      INTEGER ::   ios 
    121       CHARACTER(len=80), DIMENSION(16) ::   cltxt 
     121!!gm      CHARACTER(len=80), DIMENSION(16) ::   cltxt 
     122      CHARACTER(len=80), DIMENSION(-10:16) ::   cltxt 
    122123      ! 
    123124      NAMELIST/namctl/ ln_ctl, nn_print, nn_ictls, nn_ictle,   & 
    124125         &             nn_isplt, nn_jsplt, nn_jctls, nn_jctle,   & 
    125126         &             nn_bench, nn_timing 
    126       NAMELIST/namcfg/ cp_cfg, cp_cfz, jp_cfg, jpidta, jpjdta, jpkdta, jpiglo, jpjglo, & 
    127          &             jpizoom, jpjzoom, jperio, ln_use_jattr 
     127      NAMELIST/namcfg/ cp_cfg, cp_cfz, jp_cfg,   & 
     128         &             jperio, ln_use_jattr 
    128129      !!---------------------------------------------------------------------- 
    129130      ! 
     
    161162      jpidta  = jpiglo 
    162163      jpjdta  = jpjglo 
    163       jpizoom = 1 
    164       jpjzoom = 1 
    165164      nperio  = 0 
    166165      jperio  = 0 
     
    333332         WRITE(numout,*) '      configuration zoom name         cp_cfz      = ', TRIM(cp_cfz) 
    334333         WRITE(numout,*) '      configuration resolution        jp_cfg      = ', jp_cfg 
    335          WRITE(numout,*) '      1st lateral dimension ( >= jpi ) jpidta     = ', jpidta 
    336          WRITE(numout,*) '      2nd    "         "    ( >= jpj ) jpjdta     = ', jpjdta 
    337          WRITE(numout,*) '      3nd    "         "               jpkdta     = ', jpkdta 
    338          WRITE(numout,*) '      1st dimension of global domain in i jpiglo  = ', jpiglo 
    339          WRITE(numout,*) '      2nd    -                  -    in j jpjglo  = ', jpjglo 
    340          WRITE(numout,*) '      left bottom i index of the zoom (in data domain) jpizoom = ', jpizoom 
    341          WRITE(numout,*) '      left bottom j index of the zoom (in data domain) jpizoom = ', jpjzoom 
    342334         WRITE(numout,*) '      lateral cond. type (between 0 and 6) jperio = ', jperio    
    343335         WRITE(numout,*) '      use file attribute if exists as i/p j-start ln_use_jattr = ', ln_use_jattr 
     
    382374      ENDIF 
    383375      ! 
    384       IF( nbench == 1 ) THEN              ! Benchmark 
    385          SELECT CASE ( cp_cfg ) 
    386          CASE ( 'gyre' )   ;   CALL ctl_warn( ' The Benchmark is activated ' ) 
    387          CASE DEFAULT      ;   CALL ctl_stop( ' The Benchmark is based on the GYRE configuration:',   & 
    388             &                                 ' cp_cfg = "gyre" in namelist &namcfg or set nbench = 0' ) 
    389          END SELECT 
    390       ENDIF 
    391       ! 
    392376      IF( 1_wp /= SIGN(1._wp,-0._wp)  )   CALL ctl_stop( 'nemo_ctl: The intrinsec SIGN function follows ',  & 
    393377         &                                               'f2003 standard. '                              ,  & 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/SAS_SRC/nemogcm.F90

    r6165 r6596  
    185185         &             nn_isplt, nn_jsplt, nn_jctls, nn_jctle,   & 
    186186         &             nn_bench, nn_timing, nn_diacfl 
    187       NAMELIST/namcfg/ cp_cfg, cp_cfz, jp_cfg, jpidta, jpjdta, jpkdta, jpiglo, jpjglo, & 
    188          &             jpizoom, jpjzoom, jperio, ln_use_jattr 
     187      NAMELIST/namcfg/ cp_cfg, cp_cfz, jp_cfg,   & 
     188         &             jperio, ln_use_jattr 
    189189      !!---------------------------------------------------------------------- 
    190190      ! 
     
    230230      jpidta  = jpiglo 
    231231      jpjdta  = jpjglo 
    232       jpizoom = 1 
    233       jpjzoom = 1 
    234232      nperio  = 0 
    235233      jperio  = 0 
     
    414412         WRITE(numout,*) '      configuration zoom name         cp_cfz      = ', TRIM(cp_cfz) 
    415413         WRITE(numout,*) '      configuration resolution        jp_cfg      = ', jp_cfg 
    416          WRITE(numout,*) '      1st lateral dimension ( >= jpi ) jpidta     = ', jpidta 
    417          WRITE(numout,*) '      2nd    "         "    ( >= jpj ) jpjdta     = ', jpjdta 
    418          WRITE(numout,*) '      3nd    "         "               jpkdta     = ', jpkdta 
    419          WRITE(numout,*) '      1st dimension of global domain in i jpiglo  = ', jpiglo 
    420          WRITE(numout,*) '      2nd    -                  -    in j jpjglo  = ', jpjglo 
    421          WRITE(numout,*) '      left bottom i index of the zoom (in data domain) jpizoom = ', jpizoom 
    422          WRITE(numout,*) '      left bottom j index of the zoom (in data domain) jpizoom = ', jpjzoom 
    423414         WRITE(numout,*) '      lateral cond. type (between 0 and 6) jperio = ', jperio    
    424415         WRITE(numout,*) '      use file attribute if exists as i/p j-start ln_use_jattr = ', ln_use_jattr 
     
    463454      ENDIF 
    464455      ! 
    465       IF( nbench == 1 ) THEN              ! Benchmark  
    466          SELECT CASE ( cp_cfg ) 
    467          CASE ( 'gyre' )   ;   CALL ctl_warn( ' The Benchmark is activated ' ) 
    468          CASE DEFAULT      ;   CALL ctl_stop( ' The Benchmark is based on the GYRE configuration:',   & 
    469             &                                 ' cp_cfg="gyre" in namelist &namcfg or set nbench = 0' ) 
    470          END SELECT 
    471       ENDIF 
    472       ! 
    473456      IF( 1_wp /= SIGN(1._wp,-0._wp)  )   CALL ctl_stop( 'nemo_ctl: The intrinsec SIGN function follows ',  & 
    474457         &                                               'f2003 standard. '                              ,  & 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/TOP_SRC/TRP/trcdmp.F90

    r6309 r6596  
    201201      ENDIF 
    202202      ! 
    203       IF( lzoom .AND. .NOT.lk_c1d )   nn_zdmp_tr = 0           ! restoring to climatology at closed north or south boundaries 
    204203      SELECT CASE ( nn_zdmp_tr ) 
    205204      CASE ( 0 )   ;   IF(lwp) WRITE(numout,*) '   tracer damping throughout the water column' 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/TOP_SRC/TRP/trdmxl_trc.F90

    r6140 r6596  
    428428      ENDIF 
    429429 
    430       IF ( cp_cfg .NE. 'gyre' ) THEN            ! other than GYRE configuration 
    431       ! GYRE : for diagnostic fields, are needed if cyclic B.C. are present, but not for purely MPI comm.  
    432       ! therefore we do not call lbc_lnk in GYRE config. (closed basin, no cyclic B.C.) 
     430!!gm Test removed, nothing specific to a configuration should survive out of usrdef modules 
     431!!gm      IF ( cp_cfg .NE. 'gyre' ) THEN            ! other than GYRE configuration 
     432!!gm      ! GYRE : for diagnostic fields, are needed if cyclic B.C. are present, but not for purely MPI comm.  
     433!!gm      ! therefore we do not call lbc_lnk in GYRE config. (closed basin, no cyclic B.C.) 
    433434         DO jn = 1, jptra 
    434435            IF( ln_trdtrc(jn) ) THEN 
     
    438439            ENDIF 
    439440         END DO 
    440       ENDIF 
     441!!gm      ENDIF 
     442       
    441443      ! ====================================================================== 
    442444      ! II. Cumulate the trends over the analysis window 
Note: See TracChangeset for help on using the changeset viewer.