source: NEMO/trunk/tests/ISOMIP/MY_SRC/usrdef_nam.F90 @ 12377

Last change on this file since 12377 was 12377, checked in by acc, 14 months ago

The big one. Merging all 2019 developments from the option 1 branch back onto the trunk.

This changeset reproduces 2019/dev_r11943_MERGE_2019 on the trunk using a 2-URL merge
onto a working copy of the trunk. I.e.:

svn merge —ignore-ancestry \

svn+ssh://acc@forge.ipsl.jussieu.fr/ipsl/forge/projets/nemo/svn/NEMO/trunk \
svn+ssh://acc@forge.ipsl.jussieu.fr/ipsl/forge/projets/nemo/svn/NEMO/branches/2019/dev_r11943_MERGE_2019 ./

The —ignore-ancestry flag avoids problems that may otherwise arise from the fact that
the merge history been trunk and branch may have been applied in a different order but
care has been taken before this step to ensure that all applicable fixes and updates
are present in the merge branch.

The trunk state just before this step has been branched to releases/release-4.0-HEAD
and that branch has been immediately tagged as releases/release-4.0.2. Any fixes
or additions in response to tickets on 4.0, 4.0.1 or 4.0.2 should be done on
releases/release-4.0-HEAD. From now on future 'point' releases (e.g. 4.0.2) will
remain unchanged with periodic releases as needs demand. Note release-4.0-HEAD is a
transitional naming convention. Future full releases, say 4.2, will have a release-4.2
branch which fulfills this role and the first point release (e.g. 4.2.0) will be made
immediately following the release branch creation.

2020 developments can be started from any trunk revision later than this one.

  • Property svn:keywords set to Id
File size: 5.6 KB
Line 
1MODULE usrdef_nam
2   !!======================================================================
3   !!                       ***  MODULE  usrdef_nam  ***
4   !!
5   !!                     ===  ISOMIP configuration  ===
6   !!
7   !! User defined : set the domain characteristics of a user configuration
8   !!======================================================================
9   !! History :  NEMO ! 2016-03  (S. Flavoni, G. Madec)   Original code
10   !!                 ! 2017-02  (P. Mathiot, S. Flavoni) Adapt code to ISOMIP case
11   !!----------------------------------------------------------------------
12
13   !!----------------------------------------------------------------------
14   !!   usr_def_nam   : read user defined namelist and set global domain size
15   !!   usr_def_hgr   : initialize the horizontal mesh
16   !!----------------------------------------------------------------------
17   USE dom_oce  , ONLY: nimpp , njmpp            ! i- & j-indices of the local domain
18   USE dom_oce  , ONLY: ln_zco, ln_zps, ln_sco   ! flag of type of coordinate
19   USE par_oce        ! ocean space and time domain
20   USE phycst         ! physical constants
21   !
22   USE in_out_manager ! I/O manager
23   USE lib_mpp        ! MPP library
24   USE timing         ! Timing
25   
26   IMPLICIT NONE
27   PRIVATE
28
29   PUBLIC   usr_def_nam   ! called by nemogcm.F90
30
31   !                                         !!* namusr_def namelist *!!
32   REAL(wp), PUBLIC ::   rn_e1deg, rn_e2deg   !: horizontal resolution   [degrees]
33   REAL(wp), PUBLIC ::   rn_e3                !: vertical   resolution         [m]
34   
35   REAL(wp), PARAMETER, PUBLIC ::   rbathy = 900._wp   !: depth of the seafloor   [m]
36
37   !!----------------------------------------------------------------------
38   !! NEMO/OCE 4.0 , NEMO Consortium (2018)
39   !! $Id$
40   !! Software governed by the CeCILL license (see ./LICENSE)
41   !!----------------------------------------------------------------------
42CONTAINS
43
44   SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, kperio )
45      !!----------------------------------------------------------------------
46      !!                     ***  ROUTINE dom_nam  ***
47      !!                   
48      !! ** Purpose :   read user defined namelist and define the domain size
49      !!
50      !! ** Method  :   read in namusr_def containing all the user specific namelist parameter
51      !!
52      !!                Here ISOMIP configuration
53      !!
54      !! ** input   : - namusr_def namelist found in namelist_cfg
55      !!----------------------------------------------------------------------
56      CHARACTER(len=*)              , INTENT(out) ::   cd_cfg          ! configuration name
57      INTEGER                       , INTENT(out) ::   kk_cfg          ! configuration resolution
58      INTEGER                       , INTENT(out) ::   kpi, kpj, kpk   ! global domain sizes
59      INTEGER                       , INTENT(out) ::   kperio          ! lateral global domain b.c.
60      !
61      INTEGER ::   ios   ! Local integer
62      !!
63      NAMELIST/namusr_def/ ln_zco, ln_zps, ln_sco, rn_e1deg, rn_e2deg, rn_e3
64      !!----------------------------------------------------------------------
65      !
66      READ  ( numnam_cfg, namusr_def, IOSTAT = ios, ERR = 902 )
67902   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namusr_def in configuration namelist' )
68      !
69      IF(lwm)   WRITE( numond, namusr_def )
70      !
71      cd_cfg = 'ISOMIP'           ! name & resolution (not used)
72      kk_cfg = INT( rn_e3 )
73      !
74      ! Global Domain size:  ISOMIP domain is  15° x 10° x 900 m
75      kpi = INT(  15.0  / rn_e1deg ) + 2     ! add 2 for t-point in the east  & west  coasts
76      kpj = INT(  10.0  / rn_e2deg ) + 2     !     -        -           north & south   -
77      kpk = INT( rbathy / rn_e3    ) + 1     ! add 1 for t-point in the seafloor
78      !
79      !                             ! Set the lateral boundary condition of the global domain
80      kperio = 0                    ! ISOMIP configuration : close basin
81      !
82      !                             ! control print
83      IF(lwp) THEN
84         WRITE(numout,*) '   '
85         WRITE(numout,*) 'usr_def_nam  : read the user defined namelist (namusr_def) in namelist_cfg'
86         WRITE(numout,*) '~~~~~~~~~~~ '
87         WRITE(numout,*) '   Namelist namusr_def : ISOMIP test case'
88         WRITE(numout,*) '      type of vertical coordinate : '
89         WRITE(numout,*) '         z-coordinate flag                     ln_zco   = ', ln_zco
90         WRITE(numout,*) '         z-partial-step coordinate flag        ln_zps   = ', ln_zps
91         WRITE(numout,*) '         s-coordinate flag                     ln_sco   = ', ln_sco
92         WRITE(numout,*) '      resolution'
93         WRITE(numout,*) '         zonal      resolution                 rn_e1deg = ', rn_e1deg, ' degrees'
94         WRITE(numout,*) '         meridional resolution                 rn_e1deg = ', rn_e1deg, ' degrees'
95         WRITE(numout,*) '         vertical   resolution                 rn_e3    = ', rn_e3   , ' meters'
96         WRITE(numout,*) '      ISOMIP domain = 15° x 10° x 900 m'
97         WRITE(numout,*) '         resulting global domain size :        jpiglo   = ', kpi
98         WRITE(numout,*) '                                               jpjglo   = ', kpj
99         WRITE(numout,*) '                                               jpkglo   = ', kpk
100         WRITE(numout,*) '   '
101         WRITE(numout,*) '   Lateral boundary condition of the global domain'
102         WRITE(numout,*) '      ISOMIP : closed basin                    jperio   = ', kperio
103      ENDIF
104      !
105   END SUBROUTINE usr_def_nam
106
107   !!======================================================================
108END MODULE usrdef_nam
Note: See TracBrowser for help on using the repository browser.