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.
trcctl.F90 in trunk/NEMO/TOP_SRC – NEMO

source: trunk/NEMO/TOP_SRC/trcctl.F90 @ 1119

Last change on this file since 1119 was 1119, checked in by cetlod, 16 years ago

style of all top namelist has been modified ; update modules to take it into account, see ticket:196

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 4.3 KB
Line 
1MODULE trcctl
2   !!======================================================================
3   !!                         ***  MODULE trcctl  ***
4   !! TOP :   control the cpp options, files and namelist values of a run
5   !!======================================================================
6   !! History :   1.0  !  2005-03 (O. Aumont, A. El Moussaoui) original code
7   !!----------------------------------------------------------------------
8#if defined key_top
9   !!----------------------------------------------------------------------
10   !!   'key_top'                                                TOP models
11   !!----------------------------------------------------------------------
12   !!   trc_ctl    : control the cpp options, files and namelist values
13   !!----------------------------------------------------------------------
14   USE oce_trc
15   USE trc
16   USE trctrp_ctl
17   USE trcctl_lobster
18   USE trcctl_pisces
19   USE trcctl_cfc
20   USE trcctl_my_trc
21
22   IMPLICIT NONE
23   PRIVATE
24
25   PUBLIC trc_ctl      ! called by ???
26
27   !!----------------------------------------------------------------------
28   !! NEMO/TOP 1.0 , LOCEAN-IPSL (2005)
29   !! $Header:$
30   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt)
31   !!----------------------------------------------------------------------
32
33CONTAINS
34
35   SUBROUTINE trc_ctl
36      !!----------------------------------------------------------------------
37      !!                     ***  ROUTINE trc_ctl  ***
38      !!
39      !! ** Purpose :   control the cpp options, namelist and files
40      !!              we use IF/ENDIF inside #IF defined option-cpp
41      !!              FILE name must not exceed 21 characters
42      !!----------------------------------------------------------------------
43      INTEGER ::   istop, jn
44      !!----------------------------------------------------------------------
45
46      IF(lwp) WRITE(numout,*)
47      IF(lwp) WRITE(numout,*) ' trc_ctl :   passive tracer option'
48      IF(lwp) WRITE(numout,*) ' ~~~~~~~'
49
50      istop = 0      ! initialise to zero
51
52      ! restart for passive tracer (input)
53      IF( lrsttr ) THEN
54         IF(lwp) WRITE(numout,*) '       READ a restart FILE for passive tracer'
55         IF(lwp) WRITE(numout,*) ' '
56      ELSE
57         IF(lwp) WRITE(numout,*) '       no restart FILE'
58         IF(lwp) WRITE(numout,*)
59         DO jn = 1, jptra
60            IF( lutini(jn) ) THEN      ! OPEN input FILE only IF lutini(jn) is true
61               IF(lwp) WRITE(numout,*)  &
62                  '       READ an initial FILE  for passive tracer number :', jn, ' traceur : ', ctrcnm(jn) 
63            END IF
64         END DO
65      ENDIF
66
67      ! transport scheme option
68      CALL trc_trp_ctl
69
70      ! SMS model
71      IF(lwp) WRITE(numout,*) '  '
72      IF(lwp) WRITE(numout,*) '       Source/Sink model option'
73      IF(lwp) WRITE(numout,*) '  '
74
75      IF( lk_lobster ) THEN   ;   CALL trc_ctl_lobster      ! LOBSTER bio-model
76      ELSE                    ;   IF(lwp) WRITE(numout,*) '          LOBSTER not used'
77      ENDIF
78
79      IF( lk_pisces  ) THEN   ;   CALL trc_ctl_pisces      ! PISCES  bio-model
80      ELSE                    ;   IF(lwp) WRITE(numout,*) '          PISCES not used'
81      ENDIF
82
83      IF( lk_cfc     ) THEN   ;   CALL trc_ctl_cfc         ! CFC     tracers
84      ELSE                    ;   IF(lwp) WRITE(numout,*) '          CFC not used'
85      ENDIF
86
87      IF( lk_my_trc  ) THEN   ;   CALL trc_ctl_my_trc      ! MY_TRC  tracers
88      ELSE                    ;   IF(lwp) WRITE(numout,*) '          MY_TRC not used'
89      ENDIF
90
91
92      ! E r r o r  control
93      ! ------------------
94      IF( istop > 0  ) THEN
95         IF(lwp)WRITE(numout,*)
96         IF(lwp)WRITE(numout,*) istop,' E R R O R found : we stop'
97         IF(lwp)WRITE(numout,*) '  **************************'
98         IF(lwp)WRITE(numout,*)
99         STOP 'trcctl'
100      ENDIF
101      !
102   END SUBROUTINE trc_ctl
103
104#else
105   !!----------------------------------------------------------------------
106   !!  Empty module :                                     No passive tracer
107   !!----------------------------------------------------------------------
108CONTAINS
109   SUBROUTINE trc_ctl                      ! Dummy routine
110   END SUBROUTINE trc_ctl
111#endif
112
113   !!======================================================================
114END MODULE trcctl
Note: See TracBrowser for help on using the repository browser.