source: branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/TOP_SRC/trcsms.F90 @ 7179

Last change on this file since 7179 was 7179, checked in by timgraham, 4 years ago

Manually merge in changes from v3.6_extra_CMIP6_diagnostics branch.
This change also includes a change of the domain_def.xml file so XIOS2 must be used from this revision onwards

File size: 3.4 KB
Line 
1MODULE trcsms
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
8   !!----------------------------------------------------------------------
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_pisces      ! PISCES biogeo-model
18   USE trcsms_cfc         ! CFC 11 & 12
19   USE trcsms_c14b        ! C14b tracer
20   USE trcsms_age         ! AGE tracer
21   USE trcsms_my_trc      ! MY_TRC  tracers
22   USE prtctl_trc         ! Print control for debbuging
23
24   IMPLICIT NONE
25   PRIVATE
26
27   PUBLIC   trc_sms    ! called in trcstp.F90
28
29   !!----------------------------------------------------------------------
30   !! NEMO/TOP 3.3 , NEMO Consortium (2010)
31   !! $Id$
32   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt)
33   !!----------------------------------------------------------------------
34CONTAINS
35
36   SUBROUTINE trc_sms( kt )
37      !!---------------------------------------------------------------------
38      !!                     ***  ROUTINE trc_sms  ***
39      !!
40      !! ** Purpose :   Managment of the time loop of passive tracers sms
41      !!
42      !! ** Method  : -  call the main routine of of each defined tracer model
43      !! -------------------------------------------------------------------------------------
44      INTEGER, INTENT( in ) ::   kt      ! ocean time-step index     
45      !!
46      CHARACTER (len=25) :: charout
47      !!---------------------------------------------------------------------
48      !
49      IF( nn_timing == 1 )   CALL timing_start('trc_sms')
50      !
51      IF( lk_pisces  )   CALL trc_sms_pisces ( kt )    ! main program of PISCES
52      IF( lk_cfc     )   CALL trc_sms_cfc    ( kt )    ! surface fluxes of CFC
53      IF( lk_c14b    )   CALL trc_sms_c14b   ( kt )    ! surface fluxes of C14
54      IF( lk_age     )   CALL trc_sms_age    ( kt )    ! AGE tracer
55      IF( lk_my_trc  )   CALL trc_sms_my_trc ( kt )    ! MY_TRC  tracers
56
57      IF(ln_ctl) THEN      ! print mean trends (used for debugging)
58         WRITE(charout, FMT="('sms ')")
59         CALL prt_ctl_trc_info( charout )
60         CALL prt_ctl_trc( tab4d=trn, mask=tmask, clinfo=ctrcnm )
61      ENDIF
62      !
63      IF( nn_timing == 1 )   CALL timing_stop('trc_sms')
64      !
65   END SUBROUTINE trc_sms
66
67#else
68   !!======================================================================
69   !!  Dummy module :                                     No passive tracer
70   !!======================================================================
71CONTAINS
72   SUBROUTINE trc_sms( kt )                   ! Empty routine
73      INTEGER, INTENT( in ) ::   kt
74      WRITE(*,*) 'trc_sms: You should not have seen this print! error?', kt
75   END SUBROUTINE trc_sms
76#endif 
77
78   !!======================================================================
79END MODULE trcsms
Note: See TracBrowser for help on using the repository browser.