source: branches/NERC/dev_r5518_GO6_CO2_cmip/NEMOGCM/NEMO/TOP_SRC/trcsms.F90 @ 9309

Last change on this file since 9309 was 8442, checked in by frrh, 3 years ago

Commit changes relating to Met Office GMED ticket 340 for the
tidying of MEDUSA related code and debugging statements in the TOP code.

Only code introduced at revision 8434 of branch
http://fcm3/projects/NEMO.xm/log/branches/NERC/dev_r5518_GO6_split_trcbiomedusa
is included here, all previous revisions of that branch having been dealt with
under GMED ticket 339.

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