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

source: trunk/NEMO/TOP_SRC/trcsms.F90 @ 376

Last change on this file since 376 was 340, checked in by opalod, 18 years ago

nemo_v1_update_028 : CT : add missing headers

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 3.6 KB
Line 
1MODULE trcsms
2   !!===========================================================================================
3   !!
4   !!                       *** MODULE trcsms ***
5   !!
6   !!  Time  loop of opa for passive tracer
7   !!
8   !!===========================================================================================
9   !!  TOP 1.0,  LOCEAN-IPSL (2005)
10   !! $Header$
11   !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt
12   !!----------------------------------------------------------------------
13#if defined key_passivetrc   
14   !! * Modules used
15   !! ==============
16   USE oce_trc
17   USE trc
18   USE trcfreons
19
20   IMPLICIT NONE
21   PRIVATE
22
23   !! * Accessibility
24   PUBLIC trc_sms
25
26CONTAINS
27
28   SUBROUTINE trc_sms( kt )
29      !!===========================================================================================
30      !!
31      !!                       ROUTINE trcsms
32      !!                     *****************
33      !!
34      !!  PURPOSE :
35      !!  ---------
36      !!          time loop of opa for passive tracer
37      !!
38      !!   METHOD :
39      !!   -------
40      !!      compute the well/spring evolution
41      !!
42      !!   INPUT :
43      !!   -----
44      !!      argument
45      !!              ktask           : task identificator
46      !!              kt              : time step
47      !!      COMMON
48      !!            all the COMMON defined in opa
49      !!
50      !!
51      !!   OUTPUT :        : no
52      !!   ------
53      !!
54      !!   WORKSPACE :
55      !!   ---------
56      !!
57      !!   EXTERNAL :
58      !!   --------
59      !!      trcbio, trcsed, trcopt for NPZD or LOBSTER1 models
60      !!
61      !!      h3cprg for HAMOC3 and P3ZD models
62      !!
63      !!
64      !!   History:
65      !!   --------
66      !!      original  : 96-11
67      !!      additions : 99-07 (M. Levy)
68      !!                  04-00 (O. Aumont, M.A. Foujols) HAMOCC3 and P3ZD
69      !!                  12-00 (O. Aumont, E. Kestenare) add trcexp for instantaneous export
70      !!   05-03 (O. Aumont and A. El Moussaoui) F90
71      !! -------------------------------------------------------------------------------------
72
73      !! * Arguments
74      !! -----------
75      INTEGER, INTENT( in ) ::   kt      ! ocean time-step index     
76
77      !! this ROUTINE is called only every ndttrc time step
78      !! --------------------------------------------------
79
80      IF ( MOD(kt,ndttrc) /= 0) RETURN
81
82      !! this first routines are parallelized on vertical slab
83      !! ------------------------------------------------------
84
85#if defined key_trc_lobster1
86
87      !! tracers: optical model
88      !! ----------------------
89
90      CALL trcopt( kt)
91
92      !! tracers: biological model
93      !! -------------------------
94
95      CALL trcbio( kt)
96
97      !! tracers: sedimentation model
98      !! ----------------------------
99
100      CALL trcsed(kt)
101      CALL trcexp(kt)
102
103
104
105#elif defined key_trc_pisces
106
107      !! p4zprg: main PROGRAM for PISCES
108      !! -------------------------------
109      CALL p4zprg(kt)
110
111      !! SMS to DO
112
113#elif defined key_cfc
114
115      !! CFC's code taken from K. Rodgers
116
117      !! This part is still experimental
118      !! -------------------------------
119
120      CALL trc_freons(kt)
121
122#endif
123
124
125
126   END SUBROUTINE trc_sms
127
128#else
129   !!======================================================================
130   !!  Empty module : No passive tracer
131   !!======================================================================
132CONTAINS
133
134   SUBROUTINE trc_sms( kt )
135
136      ! no passive tracers
137      INTEGER, INTENT( in ) ::   kt
138      WRITE(*,*) 'trc_sms: You should not have seen this print! error?', kt
139   END SUBROUTINE trc_sms
140
141#endif
142
143
144END MODULE  trcsms
Note: See TracBrowser for help on using the repository browser.