source: branches/2013/dev_LOCEAN_CMCC_INGV_MERC_UKMO_2013/NEMOGCM/NEMO/OPA_SRC/C1D/c1d.F90 @ 4247

Last change on this file since 4247 was 4247, checked in by cetlod, 8 years ago

dev_locean_cmcc_ingv_merc_ukmo : minor bugs corrections

File size: 3.8 KB
Line 
1MODULE c1d
2   !!======================================================================
3   !!                     ***  MODULE  c1d  ***
4   !! Ocean domain  :  1D configuration
5   !!=====================================================================
6   !! History :   2.0  !  2004-09 (C. Ethe)     Original code
7   !!             3.0  !  2008-04 (G. Madec)    adaptation to SBC
8   !!             3.5  !  2013-10 (D. Calvert)  add namelist
9   !!----------------------------------------------------------------------
10#if defined key_c1d
11   !!----------------------------------------------------------------------
12   !!   'key_c1d'                                   1D column configuration
13   !!----------------------------------------------------------------------
14   !!   c1d_init       : read in the C1D namelist
15   !!----------------------------------------------------------------------
16   USE in_out_manager   ! I/O manager
17   USE par_kind         ! kind parameters
18   USE lib_mpp
19
20   IMPLICIT NONE
21   PRIVATE
22
23   PUBLIC   c1d_init                                 ! called by nemogcm.F90
24
25   LOGICAL , PUBLIC, PARAMETER ::  lk_c1d = .TRUE.   ! 1D config. flag
26
27   REAL(wp), PUBLIC            ::  rn_lat1d     ! Column latitude
28   REAL(wp), PUBLIC            ::  rn_lon1d     ! Column longitude
29
30   !!----------------------------------------------------------------------
31   !! NEMO/C1D 3.3 , NEMO Consortium (2010)
32   !! $Id: c1d.F90 2382 2010-11-13 13:08:12Z gm $
33   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt)
34   !!======================================================================
35CONTAINS
36
37   SUBROUTINE c1d_init
38      !!----------------------------------------------------------------------
39      !!                  ***  ROUTINE c1d_init  ***
40      !!
41      !! ** Purpose :   Initialization of C1D options
42      !!
43      !! ** Method  :   Read namelist namc1d
44      !!----------------------------------------------------------------------
45      INTEGER ::   ios                 ! Local integer output status for namelist read
46      NAMELIST/namc1d/ rn_lat1d, rn_lon1d
47      !!----------------------------------------------------------------------
48      !
49
50      REWIND( numnam_ref )              ! Namelist namc1d in reference namelist : Tracer advection scheme
51      READ  ( numnam_ref, namc1d, IOSTAT = ios, ERR = 901)
52901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namc1d in reference namelist', lwp )
53
54      REWIND( numnam_cfg )              ! Namelist namtra_adv in configuration namelist : Tracer advection scheme
55      READ  ( numnam_cfg, namc1d, IOSTAT = ios, ERR = 902 )
56902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namc1d in configuration namelist', lwp )
57      WRITE ( numond, namc1d )
58
59      !
60      IF(lwp) THEN                    ! Control print
61         WRITE(numout,*)
62         WRITE(numout,*) 'c1d_init : Initialize 1D model configuration options'
63         WRITE(numout,*) '~~~~~~~~'
64         WRITE(numout,*) '   Namelist namc1d : set options for the C1D model'
65         WRITE(numout,*) '      column latitude                 rn_lat1d = ', rn_lat1d
66         WRITE(numout,*) '      column longitude                rn_lon1d = ', rn_lon1d
67      ENDIF
68      !
69      !
70   END SUBROUTINE c1d_init
71
72#else
73   !!----------------------------------------------------------------------
74   !!   Dummy module :                           No use of 1D configuration
75   !!----------------------------------------------------------------------
76   USE par_kind         ! kind parameters
77
78   LOGICAL, PUBLIC, PARAMETER ::   lk_c1d = .FALSE.   !: 1D config. flag de-activated
79   REAL(wp)                   ::   rn_lat1d, rn_lon1d
80CONTAINS
81
82   SUBROUTINE c1d_init               ! Dummy routine
83   END SUBROUTINE c1d_init
84
85#endif
86
87   !!======================================================================
88END MODULE c1d
Note: See TracBrowser for help on using the repository browser.