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

Last change on this file since 331 was 274, checked in by opalod, 19 years ago

nemo_v1_update_005:RB: update headers for the TOP component.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 5.1 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      !!----------------------------------------------------------------------
16      !! * Modules used
17      !! ==============
18      USE oce_trc
19      USE trc
20      USE sms
21      USE trctrp_ctl
22
23     IMPLICIT NONE
24     PRIVATE
25
26    !! * Accessibility
27    PUBLIC trc_ctl
28
29CONTAINS
30
31#if defined key_passivetrc
32
33SUBROUTINE trc_ctl
34   !!===========================================================================================
35   !!
36   !!
37   !!                       ROUTINE trcctl
38   !!                     ******************
39   !!
40   !!      we use IF/ENDIF inside #IF defined option-cpp
41   !!      FILE name must not exceed 21 characters
42   !!     
43   !!===========================================================================================
44     
45   !!----------------------------------------------------------------------
46   !! local declarations
47   !! ==================
48   INTEGER  :: istop, jn
49
50!!!---------------------------------------------------------------------
51!!!  OPA.9    03/2005 
52!!!---------------------------------------------------------------------
53
54! 0. Parameter
55! ------------
56      istop = 0
57
58! 1. LOGICAL UNIT initialization for specifi! files for passive tracer
59! --------------------------------------------------------------------
60!     nutwrs : OUTPUT for passive tracer restart UNIT (always used)
61!     nutrst : restart FILE  INPUT  UNIT (lrsttr=.TRUE.)
62!     nutini(jptra) : UNIT for initial FILE for tracer
63
64      nutwrs = 72
65      nutrst = 73
66
67! 2. restart for passive tracer (input)
68! -----------------------------
69
70      IF(lwp) WRITE(numout,*) ' '
71      IF(lwp) WRITE(numout,*) ' *** PASSIVE TRACER MODEL OPTIONS'
72      IF(lwp) WRITE(numout,*) ' *** CONTROL'
73      IF(lwp) WRITE(numout,*) ' '
74
75      IF(lwp) WRITE(numout,*) ' '
76      IF(lwp) WRITE(numout,*) ' *** restart option for passive tracer'
77      IF(lwp) WRITE(numout,*) ' '
78
79      IF(lrsttr) THEN
80          IF(lwp) WRITE(numout,*) ' READ a restart FILE for passive tracer'
81          IF(lwp) WRITE(numout,*) ' '
82      ELSE
83          IF(lwp) WRITE(numout,*) ' no restart FILE'
84          IF(lwp) WRITE(numout,*) ' '
85
86! 3. OPEN FILES for initial tracer value
87! --------------------------------------
88          DO jn=1,jptra
89
90! OPEN input FILE only IF lutini(jn) is true
91! ------------------------------------------
92            IF (lutini(jn)) THEN 
93
94! prepare input FILE name a
95! -------------------------                       
96                IF(lwp) WRITE(numout,*)                          &
97                        ' READ an initial FILE :',               &
98                        ' for passive tracer number :',jn        &
99                        ,' traceur : ',ctrcnm(jn) 
100                IF(lwp) WRITE(numout,*) ' '
101            END IF
102          END DO   
103      ENDIF
104
105! 4. Don't USE non penetrative convective mixing option
106!     it's not implemented for passive tracer
107! -----------------------------------------------------
108
109      IF( ln_zdfnpc) THEN
110        IF(lwp) WRITE (numout,*) ' ===>>>> : w a r n i n g '
111        IF(lwp) WRITE (numout,*) ' =======   ============= '
112        IF(lwp) WRITE (numout,*) ' STOP, this sheme is not implemented'
113        IF(lwp) WRITE (numout,*) ' in passive tracer model:'
114        IF(lwp) WRITE (numout,*) ' non penetrative convect. mixing scheme'
115        istop = istop + 1
116      ENDIF
117
118! 5. transport scheme option
119! --------------------------
120
121      IF(lwp) WRITE(numout,*) '  '
122      CALL trc_trp_ctl
123      IF(lwp) WRITE(numout,*) '  '
124
125! 6. SMS model
126! ---------------------------------------------
127
128      IF(lwp) WRITE(numout,*) '  '
129      IF(lwp) WRITE(numout,*) ' *** Source/Sink model option'
130      IF(lwp) WRITE(numout,*) '  '
131
132#if defined key_trc_npzd
133      #include "trcctl.npzd.h90" 
134#elif defined key_trc_lobster1
135      #include "trcctl.lobster1.h90"
136#elif defined key_trc_pisces
137      #include "trcctl.pisces.h90"
138#elif defined key_trc_hamocc3
139#   if defined key_trc_p3zd
140      #include "trcctl.p3zd.h90"
141#   else
142      #include "trcctl.hamocc3.h90"
143#   endif
144#else
145
146      IF(lwp) WRITE (numout,*) ' No Source/Sink model '
147      IF(lwp) WRITE (numout,*) ' '
148#endif
149
150! E r r o r  control
151! ------------------
152
153      IF ( istop > 0  ) THEN
154          IF(lwp)WRITE(numout,*)
155          IF(lwp)WRITE(numout,*) istop,' E R R O R found : we stop'
156          IF(lwp)WRITE(numout,*) '**************************'
157          IF(lwp)WRITE(numout,*)
158          STOP 'trcctl'
159      ENDIF
160
161END SUBROUTINE trc_ctl 
162
163#else
164
165SUBROUTINE trc_ctl
166  !!==============
167         ! no passive tracers
168  !!==============
169END SUBROUTINE trc_ctl
170
171#endif
172
173END MODULE trcctl
Note: See TracBrowser for help on using the repository browser.