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/dev_001_GM/NEMO/TOP_SRC – NEMO

source: branches/dev_001_GM/NEMO/TOP_SRC/trcsms.F90 @ 777

Last change on this file since 777 was 777, checked in by gm, 16 years ago

dev_001_GM - LOBSTER in F90 encapsulation of LOBSTER routines in module - compilation OK

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 4.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 trccfc          ! CFC 11 & 12
18   USE prtctl_trc      ! Print control for debbuging
19   USE trcbio
20   USE trcopt
21   USE trcsed
22   USE trcexp
23
24   IMPLICIT NONE
25   PRIVATE
26
27   PUBLIC   trc_sms    ! called in trcstp.F90
28
29   !!----------------------------------------------------------------------
30   !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007)
31   !! $Header:$
32   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt)
33   !!----------------------------------------------------------------------
34
35CONTAINS
36
37   SUBROUTINE trc_sms( kt )
38      !!---------------------------------------------------------------------
39      !!                     ***  ROUTINE ini_trc  ***
40      !!
41      !! ** Purpose :   Managment of the time loop of passive tracers sms
42      !!
43      !! ** Method  : - ???
44      !! -------------------------------------------------------------------------------------
45      INTEGER, INTENT( in ) ::   kt      ! ocean time-step index     
46      !!
47      CHARACTER (len=25) :: charout
48      !!---------------------------------------------------------------------
49
50      IF ( MOD(kt,ndttrc) /= 0) RETURN      ! this ROUTINE is called only every ndttrc time step
51
52#if defined key_lobster
53
54      ! LOBSTER biological model
55      ! ------------------------
56
57      CALL trc_opt( kt )      ! optical model
58
59      IF(ln_ctl)   THEN  ! print mean trends (used for debugging)
60         WRITE(charout, FMT="('OPT')")
61         CALL prt_ctl_trc_info(charout)
62         CALL prt_ctl_trc( tab4d=tra, mask=tmask, clinfo=ctrcnm )
63      ENDIF
64
65      CALL trc_bio( kt )      ! biological model
66
67      IF(ln_ctl)   THEN  ! print mean trends (used for debugging)
68         WRITE(charout, FMT="('BIO')")
69         CALL prt_ctl_trc_info(charout)
70         CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm)
71      ENDIF
72
73      CALL trc_sed( kt )      ! sedimentation model
74
75      IF(ln_ctl)   THEN  ! print mean trends (used for debugging)
76         WRITE(charout, FMT="('SED')")
77         CALL prt_ctl_trc_info(charout)
78         CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm)
79      ENDIF
80 
81      CALL trc_exp( kt )      ! export
82
83      IF(ln_ctl)   THEN  ! print mean trends (used for debugging)
84         WRITE(charout, FMT="('EXP')")
85         CALL prt_ctl_trc_info(charout)
86         CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm)
87      ENDIF
88
89#elif defined key_pisces
90
91      ! PISCES biological model
92      ! ------------------------
93
94      CALL p4zprg( kt )      ! main program of PISCES
95
96
97      !                      ! split in  SMS to be DONE here
98
99#elif defined key_cfc
100
101      ! CFC chemical model (code taken from K. Rodgers)
102      ! ------------------
103
104      IF( lk_cfc )   CALL trc_cfc( kt )      ! surface fluxes of CFC
105
106#endif
107
108      IF(ln_ctl) THEN      ! print mean trends (used for debugging)
109         WRITE(charout, FMT="('SMS')")
110         CALL prt_ctl_trc_info( charout )
111         CALL prt_ctl_trc( tab4d=tra, mask=tmask, clinfo=ctrcnm )
112      ENDIF
113      !
114   END SUBROUTINE trc_sms
115
116#else
117   !!======================================================================
118   !!  Dummy module :                                     No passive tracer
119   !!======================================================================
120CONTAINS
121   SUBROUTINE trc_sms( kt )                   ! Empty routine
122      INTEGER, INTENT( in ) ::   kt
123      WRITE(*,*) 'trc_sms: You should not have seen this print! error?', kt
124   END SUBROUTINE trc_sms
125#endif 
126
127   !!======================================================================
128END MODULE  trcsms
Note: See TracBrowser for help on using the repository browser.