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

Last change on this file since 719 was 719, checked in by ctlod, 17 years ago

get back to the nemo_v2_3 version for trunk

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 4.8 KB
Line 
1MODULE trcctl
2   !!==========================================================================
3   !!
4   !!                       *** MODULE trcctl ***
5   !!
6   !! Only for passive tracer
7   !! control the cpp options for the run and IF files are availables
8   !! control also consistancy between options and namelist values
9   !!  O.Aumont and A.El Moussaoui 03/05 F90
10   !!=========================================================================
11   !!  TOP 1.0,  LOCEAN-IPSL (2005)
12   !! $Header$
13   !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt
14   !!----------------------------------------------------------------------
15#if defined key_passivetrc
16   !!----------------------------------------------------------------------
17   !! * Modules used
18   !! ==============
19   USE oce_trc
20   USE trc
21   USE sms
22   USE trctrp_ctl
23
24   IMPLICIT NONE
25   PRIVATE
26
27   !! * Accessibility
28   PUBLIC trc_ctl
29
30CONTAINS
31
32   SUBROUTINE trc_ctl
33      !!===========================================================================================
34      !!
35      !!
36      !!                       ROUTINE trcctl
37      !!                     ******************
38      !!
39      !!      we use IF/ENDIF inside #IF defined option-cpp
40      !!      FILE name must not exceed 21 characters
41      !!     
42      !!===========================================================================================
43     
44      !!----------------------------------------------------------------------
45      !! local declarations
46      !! ==================
47      INTEGER  :: istop, jn
48     
49      !!---------------------------------------------------------------------
50      !!  OPA.9    03/2005 
51      !!---------------------------------------------------------------------
52
53      ! 0. Parameter
54      ! ------------
55      istop = 0
56
57      ! 1. restart for passive tracer (input)
58      ! -----------------------------
59
60      IF(lwp) WRITE(numout,*) ' '
61      IF(lwp) WRITE(numout,*) ' *** PASSIVE TRACER MODEL OPTIONS'
62      IF(lwp) WRITE(numout,*) ' *** CONTROL'
63      IF(lwp) WRITE(numout,*) ' '
64
65      IF(lwp) WRITE(numout,*) ' '
66      IF(lwp) WRITE(numout,*) ' *** restart option for passive tracer'
67      IF(lwp) WRITE(numout,*) ' '
68
69      IF(lrsttr) THEN
70         IF(lwp) WRITE(numout,*) ' READ a restart FILE for passive tracer'
71         IF(lwp) WRITE(numout,*) ' '
72      ELSE
73         IF(lwp) WRITE(numout,*) ' no restart FILE'
74         IF(lwp) WRITE(numout,*) ' '
75
76         ! 2. OPEN FILES for initial tracer value
77         ! --------------------------------------
78         DO jn=1,jptra
79
80            ! OPEN input FILE only IF lutini(jn) is true
81            ! ------------------------------------------
82            IF (lutini(jn)) THEN 
83
84               ! prepare input FILE name a
85               ! -------------------------                       
86               IF(lwp) WRITE(numout,*)  &
87                  ' READ an initial FILE  for passive tracer number :',jn        &
88                  ,' traceur : ',ctrcnm(jn) 
89               IF(lwp) WRITE(numout,*) ' '
90            END IF
91         END DO
92      ENDIF
93
94      ! 3. Don't USE non penetrative convective mixing option
95      !     it's not implemented for passive tracer
96      ! -----------------------------------------------------
97
98      IF( ln_zdfnpc) THEN
99         IF(lwp) WRITE (numout,*) ' ===>>>> : w a r n i n g '
100         IF(lwp) WRITE (numout,*) ' =======   ============= '
101         IF(lwp) WRITE (numout,*) ' STOP, this sheme is not implemented'
102         IF(lwp) WRITE (numout,*) ' in passive tracer model:'
103         IF(lwp) WRITE (numout,*) ' non penetrative convect. mixing scheme'
104         istop = istop + 1
105      ENDIF
106
107      ! 4. transport scheme option
108      ! --------------------------
109
110      IF(lwp) WRITE(numout,*) '  '
111      CALL trc_trp_ctl
112
113
114      ! 5. SMS model
115      ! ---------------------------------------------
116
117      IF(lwp) WRITE(numout,*) '  '
118      IF(lwp) WRITE(numout,*) ' *** Source/Sink model option'
119      IF(lwp) WRITE(numout,*) '  '
120
121
122#if defined key_trc_lobster1
123#   include "trcctl.lobster1.h90"
124#elif defined key_trc_pisces
125#   include "trcctl.pisces.h90"
126#elif defined key_cfc
127#   include "trcctl.cfc.h90"
128#else
129
130      IF(lwp) WRITE (numout,*) ' No Source/Sink model '
131      IF(lwp) WRITE (numout,*) ' '
132#endif
133
134      ! E r r o r  control
135      ! ------------------
136
137      IF ( istop > 0  ) THEN
138         IF(lwp)WRITE(numout,*)
139         IF(lwp)WRITE(numout,*) istop,' E R R O R found : we stop'
140         IF(lwp)WRITE(numout,*) '**************************'
141         IF(lwp)WRITE(numout,*)
142         STOP 'trcctl'
143      ENDIF
144
145   END SUBROUTINE trc_ctl
146
147#else
148   !!======================================================================
149   !!  Empty module : No passive tracer
150   !!======================================================================
151CONTAINS
152   SUBROUTINE trc_ctl
153
154   END SUBROUTINE trc_ctl
155   
156#endif
157
158END MODULE trcctl
Note: See TracBrowser for help on using the repository browser.