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

Last change on this file since 336 was 335, checked in by opalod, 19 years ago

nemo_v1_update_023 : CE + RB + CT : new evolution of modules

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