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.
trcsms.F90 in trunk/NEMO/TOP_SRC – NEMO

source: trunk/NEMO/TOP_SRC/trcsms.F90 @ 1271

Last change on this file since 1271 was 1254, checked in by cetlod, 15 years ago

update parameter files to take into account the new C14 bomb tracer model, see ticket:298

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 3.4 KB
RevLine 
[268]1MODULE trcsms
[945]2   !!======================================================================
3   !!                         ***  MODULE trcsms  ***
4   !! TOP :   Time loop of passive tracers sms
5   !!======================================================================
6   !! History :   1.0  !  2005-03 (O. Aumont, A. El Moussaoui) F90
7   !!             2.0  !  2007-12  (C. Ethe, G. Madec)  revised architecture
[274]8   !!----------------------------------------------------------------------
[945]9#if defined key_top
10   !!----------------------------------------------------------------------
11   !!   'key_top'                                                TOP models
12   !!----------------------------------------------------------------------
13   !!   trc_sms        :  Time loop of passive tracers sms
14   !!----------------------------------------------------------------------
15   USE oce_trc            !
16   USE trc                !
17   USE trcsms_lobster     ! LOBSTER bio-model
18   USE trcsms_pisces      ! PISCES biogeo-model
[1254]19   USE trcsms_cfc         ! CFC 11 & 12
20   USE trcsms_c14b        ! C14b tracer
[945]21   USE trcsms_my_trc      ! MY_TRC  tracers
22   USE prtctl_trc         ! Print control for debbuging
[268]23
[335]24   IMPLICIT NONE
25   PRIVATE
[268]26
[945]27   PUBLIC   trc_sms    ! called in trcstp.F90
[268]28
[945]29   !!----------------------------------------------------------------------
30   !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007)
[1152]31   !! $Id$
[945]32   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt)
33   !!----------------------------------------------------------------------
34
[268]35CONTAINS
36
[335]37   SUBROUTINE trc_sms( kt )
[945]38      !!---------------------------------------------------------------------
[1011]39      !!                     ***  ROUTINE trc_sms  ***
[335]40      !!
[945]41      !! ** Purpose :   Managment of the time loop of passive tracers sms
[335]42      !!
[945]43      !! ** Method  : -  call the main routine of of each defined tracer model
[335]44      !! -------------------------------------------------------------------------------------
[268]45      INTEGER, INTENT( in ) ::   kt      ! ocean time-step index     
[945]46      !!
[433]47      CHARACTER (len=25) :: charout
[945]48      !!---------------------------------------------------------------------
[433]49
[945]50      IF ( MOD(kt,ndttrc) /= 0) RETURN      ! this ROUTINE is called only every ndttrc time step
[268]51
[945]52      IF( lk_lobster )   CALL trc_sms_lobster( kt )    ! main program of LOBSTER
53      IF( lk_pisces  )   CALL trc_sms_pisces ( kt )    ! main program of PISCES
54      IF( lk_cfc     )   CALL trc_sms_cfc    ( kt )    ! surface fluxes of CFC
[1254]55      IF( lk_c14b    )   CALL trc_sms_c14b   ( kt )    ! surface fluxes of C14
[945]56      IF( lk_my_trc  )   CALL trc_sms_my_trc ( kt )    ! MY_TRC  tracers
[268]57
[945]58      IF(ln_ctl) THEN      ! print mean trends (used for debugging)
59         WRITE(charout, FMT="('sms ')")
60         CALL prt_ctl_trc_info( charout )
61         CALL prt_ctl_trc( tab4d=trn, mask=tmask, clinfo=ctrcnm )
[433]62      ENDIF
[945]63      !
[335]64   END SUBROUTINE trc_sms
[268]65
66#else
[335]67   !!======================================================================
[945]68   !!  Dummy module :                                     No passive tracer
[335]69   !!======================================================================
70CONTAINS
[945]71   SUBROUTINE trc_sms( kt )                   ! Empty routine
[268]72      INTEGER, INTENT( in ) ::   kt
73      WRITE(*,*) 'trc_sms: You should not have seen this print! error?', kt
[335]74   END SUBROUTINE trc_sms
[268]75#endif 
76
[945]77   !!======================================================================
[268]78END MODULE  trcsms
Note: See TracBrowser for help on using the repository browser.