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 @ 2793

Last change on this file since 2793 was 850, checked in by cetlod, 16 years ago

include the USE of the PISCES main module in trcsms.F90 , see ticket:88

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