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 NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/TOP – NEMO

source: NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/TOP/trcsms.F90 @ 10966

Last change on this file since 10966 was 10966, checked in by acc, 5 years ago

2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps : Convert TOP routines in TOP/TRP directory and all knock on effects of these conversions. SETTE tested (GYRE_PISCES only)

  • Property svn:keywords set to Id
File size: 3.6 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 &/or 12
19   USE trcsms_c14         ! C14
20   USE trcsms_age         ! AGE
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 4.0 , NEMO Consortium (2018)
31   !! $Id$
32   !! Software governed by the CeCILL license (see ./LICENSE)
33   !!----------------------------------------------------------------------
34CONTAINS
35
36   SUBROUTINE trc_sms( kt, Kbb, Kmm , Krhs )
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      INTEGER, INTENT( in ) ::   Kbb, Kmm, Krhs ! time level indices
46      !!
47      CHARACTER (len=25) :: charout
48      !!---------------------------------------------------------------------
49      !
50      IF( ln_timing )   CALL timing_start('trc_sms')
51      !
52      IF( ln_pisces  )   CALL trc_sms_pisces ( kt, Kbb, Kmm )          ! main program of PISCES
53      IF( ll_cfc     )   CALL trc_sms_cfc    ( kt,      Kmm )          ! surface fluxes of CFC
54      IF( ln_c14     )   CALL trc_sms_c14    ( kt,      Kmm )          ! surface fluxes of C14
55      IF( ln_age     )   CALL trc_sms_age    ( kt,      Kmm )          ! Age tracer
56      IF( ln_my_trc  )   CALL trc_sms_my_trc ( kt,      Kmm, Krhs )    ! MY_TRC  tracers
57
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=tr(:,:,:,:,Kmm), mask=tmask, clinfo=ctrcnm )
62      ENDIF
63      !
64      IF( ln_timing )   CALL timing_stop('trc_sms')
65      !
66   END SUBROUTINE trc_sms
67
68#else
69   !!======================================================================
70   !!  Dummy module :                                     No passive tracer
71   !!======================================================================
72CONTAINS
73   SUBROUTINE trc_sms( kt )                   ! Empty routine
74      INTEGER, INTENT( in ) ::   kt
75      WRITE(*,*) 'trc_sms: You should not have seen this print! error?', kt
76   END SUBROUTINE trc_sms
77#endif 
78
79   !!======================================================================
80END MODULE trcsms
Note: See TracBrowser for help on using the repository browser.