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/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/TOP_SRC – NEMO

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

Last change on this file since 9309 was 8442, checked in by frrh, 7 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
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_pisces      ! PISCES biogeo-model
[1254]18   USE trcsms_cfc         ! CFC 11 & 12
19   USE trcsms_c14b        ! C14b tracer
[8280]20   USE trcsms_age         ! AGE tracer
[945]21   USE trcsms_my_trc      ! MY_TRC  tracers
[8442]22   USE trcsms_idtra       ! Idealize Tracer
23   USE trcsms_medusa      ! MEDUSA tracers
[945]24   USE prtctl_trc         ! Print control for debbuging
[268]25
[335]26   IMPLICIT NONE
27   PRIVATE
[268]28
[945]29   PUBLIC   trc_sms    ! called in trcstp.F90
[268]30
[945]31   !!----------------------------------------------------------------------
[2528]32   !! NEMO/TOP 3.3 , NEMO Consortium (2010)
[6486]33   !! $Id$
[2715]34   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt)
[945]35   !!----------------------------------------------------------------------
[268]36CONTAINS
37
[335]38   SUBROUTINE trc_sms( kt )
[945]39      !!---------------------------------------------------------------------
[1011]40      !!                     ***  ROUTINE trc_sms  ***
[335]41      !!
[945]42      !! ** Purpose :   Managment of the time loop of passive tracers sms
[335]43      !!
[945]44      !! ** Method  : -  call the main routine of of each defined tracer model
[335]45      !! -------------------------------------------------------------------------------------
[268]46      INTEGER, INTENT( in ) ::   kt      ! ocean time-step index     
[945]47      !!
[433]48      CHARACTER (len=25) :: charout
[945]49      !!---------------------------------------------------------------------
[3294]50      !
51      IF( nn_timing == 1 )   CALL timing_start('trc_sms')
52      !
[945]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
[8280]56      IF( lk_age     )   CALL trc_sms_age    ( kt )    ! AGE tracer
[945]57      IF( lk_my_trc  )   CALL trc_sms_my_trc ( kt )    ! MY_TRC  tracers
[8442]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
[268]60
[945]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 )
[433]65      ENDIF
[945]66      !
[3294]67      IF( nn_timing == 1 )   CALL timing_stop('trc_sms')
68      !
[335]69   END SUBROUTINE trc_sms
[268]70
71#else
[335]72   !!======================================================================
[945]73   !!  Dummy module :                                     No passive tracer
[335]74   !!======================================================================
75CONTAINS
[945]76   SUBROUTINE trc_sms( kt )                   ! Empty routine
[268]77      INTEGER, INTENT( in ) ::   kt
78      WRITE(*,*) 'trc_sms: You should not have seen this print! error?', kt
[335]79   END SUBROUTINE trc_sms
[268]80#endif 
81
[945]82   !!======================================================================
[6487]83END MODULE trcsms
Note: See TracBrowser for help on using the repository browser.