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

Last change on this file since 915 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
RevLine 
[268]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   !!=========================================================================
[340]11   !!  TOP 1.0,  LOCEAN-IPSL (2005)
[719]12   !! $Header$
[340]13   !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt
[274]14   !!----------------------------------------------------------------------
[335]15#if defined key_passivetrc
16   !!----------------------------------------------------------------------
17   !! * Modules used
18   !! ==============
19   USE oce_trc
20   USE trc
21   USE sms
22   USE trctrp_ctl
[268]23
[335]24   IMPLICIT NONE
25   PRIVATE
[268]26
[335]27   !! * Accessibility
28   PUBLIC trc_ctl
[268]29
30CONTAINS
31
[335]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      !!---------------------------------------------------------------------
[268]52
[335]53      ! 0. Parameter
54      ! ------------
[268]55      istop = 0
56
[625]57      ! 1. restart for passive tracer (input)
[335]58      ! -----------------------------
[268]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
[335]70         IF(lwp) WRITE(numout,*) ' READ a restart FILE for passive tracer'
71         IF(lwp) WRITE(numout,*) ' '
[268]72      ELSE
[335]73         IF(lwp) WRITE(numout,*) ' no restart FILE'
74         IF(lwp) WRITE(numout,*) ' '
[268]75
[625]76         ! 2. OPEN FILES for initial tracer value
[335]77         ! --------------------------------------
78         DO jn=1,jptra
[268]79
[335]80            ! OPEN input FILE only IF lutini(jn) is true
81            ! ------------------------------------------
[268]82            IF (lutini(jn)) THEN 
83
[335]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
[268]92      ENDIF
93
[625]94      ! 3. Don't USE non penetrative convective mixing option
[335]95      !     it's not implemented for passive tracer
96      ! -----------------------------------------------------
[268]97
98      IF( ln_zdfnpc) THEN
[335]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
[268]105      ENDIF
106
[625]107      ! 4. transport scheme option
[335]108      ! --------------------------
[268]109
110      IF(lwp) WRITE(numout,*) '  '
111      CALL trc_trp_ctl
112
113
[625]114      ! 5. SMS model
[335]115      ! ---------------------------------------------
116
[268]117      IF(lwp) WRITE(numout,*) '  '
118      IF(lwp) WRITE(numout,*) ' *** Source/Sink model option'
119      IF(lwp) WRITE(numout,*) '  '
120
[335]121
122#if defined key_trc_lobster1
123#   include "trcctl.lobster1.h90"
[268]124#elif defined key_trc_pisces
[335]125#   include "trcctl.pisces.h90"
126#elif defined key_cfc
127#   include "trcctl.cfc.h90"
[268]128#else
129
130      IF(lwp) WRITE (numout,*) ' No Source/Sink model '
131      IF(lwp) WRITE (numout,*) ' '
132#endif
133
[335]134      ! E r r o r  control
135      ! ------------------
[268]136
137      IF ( istop > 0  ) THEN
[335]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'
[268]143      ENDIF
144
[335]145   END SUBROUTINE trc_ctl
[268]146
147#else
[335]148   !!======================================================================
149   !!  Empty module : No passive tracer
150   !!======================================================================
151CONTAINS
152   SUBROUTINE trc_ctl
[268]153
[335]154   END SUBROUTINE trc_ctl
155   
[268]156#endif
157
158END MODULE trcctl
Note: See TracBrowser for help on using the repository browser.