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

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

rename namelist variable lrsttr to ln_rsttr, see ticket:493

  • 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( ln_rsttr ) 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.