source: branches/dev_001_GM/NEMO/TOP_SRC/trcctl.F90 @ 773

Last change on this file since 773 was 773, checked in by gm, 13 years ago

dev_001_GM - small changes : compilation OK

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 4.3 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 sms
17   USE trctrp_ctl
18
19   IMPLICIT NONE
20   PRIVATE
21
22   PUBLIC trc_ctl      ! called by ???
23
24   !!----------------------------------------------------------------------
25   !! NEMO/TOP 1.0 , LOCEAN-IPSL (2005)
26   !! $Header:$
27   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt)
28   !!----------------------------------------------------------------------
29
30CONTAINS
31
32   SUBROUTINE trc_ctl
33      !!----------------------------------------------------------------------
34      !!                     ***  ROUTINE trc_ctl  ***
35      !!
36      !! ** Purpose :   control the cpp options, namelist and files
37      !!              we use IF/ENDIF inside #IF defined option-cpp
38      !!              FILE name must not exceed 21 characters
39      !!----------------------------------------------------------------------
40      INTEGER ::   istop, jn
41      !!----------------------------------------------------------------------
42
43      IF(lwp) WRITE(numout,*)
44      IF(lwp) WRITE(numout,*) ' trc_ctl :   passive tracer option'
45      IF(lwp) WRITE(numout,*) ' ~~~~~~~'
46
47      istop = 0      ! initialise to zero
48
49      ! restart for passive tracer (input)
50      IF( lrsttr ) THEN
51         IF(lwp) WRITE(numout,*) '       READ a restart FILE for passive tracer'
52         IF(lwp) WRITE(numout,*) ' '
53      ELSE
54         IF(lwp) WRITE(numout,*) '       no restart FILE'
55         IF(lwp) WRITE(numout,*)
56         DO jn = 1, jptra
57            IF( lutini(jn) ) THEN      ! OPEN input FILE only IF lutini(jn) is true
58               IF(lwp) WRITE(numout,*)  &
59                  '       READ an initial FILE  for passive tracer number :', jn, ' traceur : ', ctrcnm(jn) 
60            END IF
61         END DO
62      ENDIF
63
64      ! Don't USE non penetrative convective mixing option
65      ! it's not implemented for passive tracer
66      IF( ln_zdfnpc ) THEN
67         IF(lwp) WRITE (numout,*) ' ===>>>> : w a r n i n g '
68         IF(lwp) WRITE (numout,*) ' =======   ============= '
69         IF(lwp) WRITE (numout,*) ' STOP, this sheme is not implemented'
70         IF(lwp) WRITE (numout,*) ' in passive tracer model:'
71         IF(lwp) WRITE (numout,*) ' non penetrative convect. mixing scheme'
72         istop = istop + 1
73      ENDIF
74
75      ! transport scheme option
76      CALL trc_trp_ctl
77
78      ! SMS model
79      IF(lwp) WRITE(numout,*) '  '
80      IF(lwp) WRITE(numout,*) '       Source/Sink model option'
81      IF(lwp) WRITE(numout,*) '  '
82
83# if defined key_lobster
84#   include "trcctl.lobster1.h90"
85
86# elif defined key_pisces
87#   include "trcctl.pisces.h90"
88
89# elif defined key_cfc
90#   include "trcctl.cfc.h90"
91
92# else
93      IF(lwp) WRITE (numout,*) '       No Source/Sink '
94      IF(lwp) WRITE (numout,*)
95#endif
96
97      ! E r r o r  control
98      ! ------------------
99      IF( istop > 0  ) THEN
100         IF(lwp)WRITE(numout,*)
101         IF(lwp)WRITE(numout,*) istop,' E R R O R found : we stop'
102         IF(lwp)WRITE(numout,*) '  **************************'
103         IF(lwp)WRITE(numout,*)
104         STOP 'trcctl'
105      ENDIF
106      !
107   END SUBROUTINE trc_ctl
108
109#else
110   !!----------------------------------------------------------------------
111   !!  Empty module :                                     No passive tracer
112   !!----------------------------------------------------------------------
113CONTAINS
114   SUBROUTINE trc_ctl                      ! Dummy routine
115   END SUBROUTINE trc_ctl
116#endif
117
118   !!======================================================================
119END MODULE trcctl
Note: See TracBrowser for help on using the repository browser.