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 branches/nemo_v3_3_beta/NEMOGCM/NEMO/TOP_SRC – NEMO

source: branches/nemo_v3_3_beta/NEMOGCM/NEMO/TOP_SRC/trcsms.F90 @ 2416

Last change on this file since 2416 was 2287, checked in by smasson, 14 years ago

update licence of all NEMO files...

  • 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   !!----------------------------------------------------------------------
[2287]30   !! NEMO/TOP 3.3 , NEMO Consortium (2010)
[1152]31   !! $Id$
[2287]32   !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt)
[945]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
[2038]50      IF ( MOD( kt, nn_dttrc) /= 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.