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.
usrdef_nam.F90 in NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/cfgs/C1D_PAPA/MY_SRC – NEMO

source: NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/cfgs/C1D_PAPA/MY_SRC/usrdef_nam.F90 @ 11777

Last change on this file since 11777 was 11777, checked in by acc, 4 years ago

Branch 2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps. Begin merge prepartions by merging changes on the trunk since this branch creation. Do this in staged commits in case of issues. First stage is to merge and commit changes to cfgs directory (cd cfgs; svn merge -r 10721:11740 svn+ssh://acc@forge.ipsl.jussieu.fr/ipsl/forge/projets/nemo/svn/NEMO/trunk/cfgs ./)

  • Property svn:keywords set to Id
File size: 5.0 KB
Line 
1MODULE usrdef_nam
2   !!======================================================================
3   !!                     ***  MODULE usrdef_nam   ***
4   !!
5   !!                     ===  C1D_PAPA configuration  ===
6   !!
7   !! User defined : set the domain characteristics of a user configuration
8   !!======================================================================
9   !! History :  4.0  ! 2016-03  (S. Flavoni, G. Madec)  Original code
10   !!----------------------------------------------------------------------
11
12   !!----------------------------------------------------------------------
13   !!   usr_def_nam   : read user defined namelist and set global domain size
14   !!   usr_def_hgr   : initialize the horizontal mesh
15   !!----------------------------------------------------------------------
16   USE dom_oce  , ONLY: nimpp, njmpp             ! ocean space and time domain
17   USE dom_oce  , ONLY: ln_zco, ln_zps, ln_sco   ! flag of type of coordinate
18   USE par_oce        ! ocean space and time domain
19   USE phycst         ! physical constants
20   !
21   USE in_out_manager ! I/O manager
22   USE lib_mpp        ! MPP library
23   
24   IMPLICIT NONE
25   PRIVATE
26
27   PUBLIC   usr_def_nam   ! called in nemogcm.F90 module
28
29   !                              !!* namusr_def namelist *!!
30   LOGICAL, PUBLIC ::   ln_bench   ! =T benchmark test with gyre: the gridsize is constant (no need to adjust timestep or viscosity)
31   INTEGER, PUBLIC ::   nn_GYRE    ! 1/nn_GYRE = the resolution chosen in degrees and thus defining the horizontal domain size
32   REAL(wp), PUBLIC::   rn_bathy   ! Depth in meters for 1D configuration
33
34   !!----------------------------------------------------------------------
35   !! NEMO/OCE 4.0 , NEMO Consortium (2018)
36   !! $Id$
37   !! Software governed by the CeCILL license (see ./LICENSE)
38   !!----------------------------------------------------------------------
39CONTAINS
40
41   SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, kperio )
42      !!----------------------------------------------------------------------
43      !!                     ***  ROUTINE dom_nam  ***
44      !!                   
45      !! ** Purpose :   read user defined namelist and define the domain size
46      !!
47      !! ** Method  :   read in namusr_def containing all the user specific namelist parameter
48      !!
49      !!                Here C1D configuration
50      !!
51      !! ** input   : - namusr_def namelist found in namelist_cfg
52      !!----------------------------------------------------------------------
53      CHARACTER(len=*)              , INTENT(out) ::   cd_cfg          ! configuration name
54      INTEGER                       , INTENT(out) ::   kk_cfg          ! configuration resolution
55      INTEGER                       , INTENT(out) ::   kpi, kpj, kpk   ! global domain sizes
56      INTEGER                       , INTENT(out) ::   kperio          ! lateral global domain b.c.
57      !
58      INTEGER ::   ios   ! Local integer
59      !!
60      NAMELIST/namusr_def/ rn_bathy
61      !!----------------------------------------------------------------------
62      !
63      REWIND( numnam_cfg )          ! Namelist namusr_def (exist in namelist_cfg only)
64      READ  ( numnam_cfg, namusr_def, IOSTAT = ios, ERR = 902 )
65902   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namusr_def in configuration namelist' )
66      !
67      IF(lwm)   WRITE( numond, namusr_def )
68      !
69      cd_cfg = 'C1D'               ! name & resolution (not used)
70      kk_cfg = 0
71
72      ! Global Domain size:  C1D domain is 3 x 3 grid-points x 75 or vertical levels
73      kpi = 3
74      kpj = 3
75      kpk = 75 
76      !                             ! Set the lateral boundary condition of the global domain
77      kperio =  7                   ! C1D configuration : 3x3 basin with cyclic Est-West and Norht-South condition
78      !
79      !                             ! control print
80      IF(lwp) THEN
81         WRITE(numout,*) '   '
82         WRITE(numout,*) 'usr_def_nam  : read the user defined namelist (namusr_def) in namelist_cfg'
83         WRITE(numout,*) '~~~~~~~~~~~ '
84         WRITE(numout,*) '   Namelist namusr_def : C1 case'
85         WRITE(numout,*) '      type of vertical coordinate : '
86         WRITE(numout,*) '         z-coordinate flag                     ln_zco = ', ln_zco
87         WRITE(numout,*) '         z-partial-step coordinate flag        ln_zps = ', ln_zps
88         WRITE(numout,*) '         s-coordinate flag                     ln_sco = ', ln_sco
89         WRITE(numout,*) '      C1D domain = 3 x 3 x75 grid-points                '
90         WRITE(numout,*) '         resulting global domain size :        jpiglo = ', kpi
91         WRITE(numout,*) '                                               jpjglo = ', kpj
92         WRITE(numout,*) '                                               jpkglo = ', kpk
93         WRITE(numout,*) '   Lateral boundary condition of the global domain'
94         WRITE(numout,*) '      C1D : closed basin                       jperio = ', kperio
95      ENDIF
96      !
97   END SUBROUTINE usr_def_nam
98
99   !!======================================================================
100END MODULE usrdef_nam
Note: See TracBrowser for help on using the repository browser.