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 @ 1284

Last change on this file since 1284 was 1254, checked in by cetlod, 15 years ago

update parameter files to take into account the new C14 bomb tracer model, see ticket:298

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