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

Last change on this file since 1796 was 1542, checked in by cetlod, 15 years ago

rename namelist variable lrsttr to ln_rsttr, see ticket:493

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 4.4 KB
RevLine 
[268]1MODULE trcctl
[945]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
[274]7   !!----------------------------------------------------------------------
[945]8#if defined key_top
[335]9   !!----------------------------------------------------------------------
[945]10   !!   'key_top'                                                TOP models
11   !!----------------------------------------------------------------------
12   !!   trc_ctl    : control the cpp options, files and namelist values
13   !!----------------------------------------------------------------------
[335]14   USE oce_trc
15   USE trc
16   USE trctrp_ctl
[1077]17   USE trcctl_lobster
18   USE trcctl_pisces
19   USE trcctl_cfc
[1254]20   USE trcctl_c14b
[1077]21   USE trcctl_my_trc
[268]22
[335]23   IMPLICIT NONE
24   PRIVATE
[268]25
[945]26   PUBLIC trc_ctl      ! called by ???
[268]27
[945]28   !!----------------------------------------------------------------------
29   !! NEMO/TOP 1.0 , LOCEAN-IPSL (2005)
[1152]30   !! $Id$
[945]31   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt)
32   !!----------------------------------------------------------------------
33
[268]34CONTAINS
35
[335]36   SUBROUTINE trc_ctl
[945]37      !!----------------------------------------------------------------------
38      !!                     ***  ROUTINE trc_ctl  ***
[335]39      !!
[945]40      !! ** Purpose :   control the cpp options, namelist and files
41      !!              we use IF/ENDIF inside #IF defined option-cpp
42      !!              FILE name must not exceed 21 characters
[335]43      !!----------------------------------------------------------------------
[945]44      INTEGER ::   istop, jn
45      !!----------------------------------------------------------------------
[268]46
[945]47      IF(lwp) WRITE(numout,*)
48      IF(lwp) WRITE(numout,*) ' trc_ctl :   passive tracer option'
49      IF(lwp) WRITE(numout,*) ' ~~~~~~~'
[268]50
[945]51      istop = 0      ! initialise to zero
[268]52
[945]53      ! restart for passive tracer (input)
[1542]54      IF( ln_rsttr ) THEN
[945]55         IF(lwp) WRITE(numout,*) '       READ a restart FILE for passive tracer'
[335]56         IF(lwp) WRITE(numout,*) ' '
[268]57      ELSE
[945]58         IF(lwp) WRITE(numout,*) '       no restart FILE'
59         IF(lwp) WRITE(numout,*)
60         DO jn = 1, jptra
61            IF( lutini(jn) ) THEN      ! OPEN input FILE only IF lutini(jn) is true
[335]62               IF(lwp) WRITE(numout,*)  &
[945]63                  '       READ an initial FILE  for passive tracer number :', jn, ' traceur : ', ctrcnm(jn) 
[335]64            END IF
65         END DO
[268]66      ENDIF
67
[945]68      ! transport scheme option
[268]69      CALL trc_trp_ctl
70
[945]71      ! SMS model
[268]72      IF(lwp) WRITE(numout,*) '  '
[945]73      IF(lwp) WRITE(numout,*) '       Source/Sink model option'
[268]74      IF(lwp) WRITE(numout,*) '  '
75
[1077]76      IF( lk_lobster ) THEN   ;   CALL trc_ctl_lobster      ! LOBSTER bio-model
77      ELSE                    ;   IF(lwp) WRITE(numout,*) '          LOBSTER not used'
78      ENDIF
[335]79
[1077]80      IF( lk_pisces  ) THEN   ;   CALL trc_ctl_pisces      ! PISCES  bio-model
81      ELSE                    ;   IF(lwp) WRITE(numout,*) '          PISCES not used'
82      ENDIF
[945]83
[1077]84      IF( lk_cfc     ) THEN   ;   CALL trc_ctl_cfc         ! CFC     tracers
85      ELSE                    ;   IF(lwp) WRITE(numout,*) '          CFC not used'
86      ENDIF
[268]87
[1254]88      IF( lk_c14b    ) THEN   ;   CALL trc_ctl_c14b        ! C14 bomb   tracers
89      ELSE                    ;   IF(lwp) WRITE(numout,*) '          C14b not used'
90      ENDIF
91
92
[1077]93      IF( lk_my_trc  ) THEN   ;   CALL trc_ctl_my_trc      ! MY_TRC  tracers
94      ELSE                    ;   IF(lwp) WRITE(numout,*) '          MY_TRC not used'
95      ENDIF
[268]96
[1077]97
[335]98      ! E r r o r  control
99      ! ------------------
[945]100      IF( istop > 0  ) THEN
[335]101         IF(lwp)WRITE(numout,*)
102         IF(lwp)WRITE(numout,*) istop,' E R R O R found : we stop'
[945]103         IF(lwp)WRITE(numout,*) '  **************************'
[335]104         IF(lwp)WRITE(numout,*)
105         STOP 'trcctl'
[268]106      ENDIF
[945]107      !
[335]108   END SUBROUTINE trc_ctl
[268]109
110#else
[945]111   !!----------------------------------------------------------------------
112   !!  Empty module :                                     No passive tracer
113   !!----------------------------------------------------------------------
[335]114CONTAINS
[945]115   SUBROUTINE trc_ctl                      ! Dummy routine
[335]116   END SUBROUTINE trc_ctl
[268]117#endif
118
[945]119   !!======================================================================
[268]120END MODULE trcctl
Note: See TracBrowser for help on using the repository browser.