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

Last change on this file since 331 was 274, checked in by opalod, 19 years ago

nemo_v1_update_005:RB: update headers for the TOP component.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 3.8 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
14      !! * Modules used
15      !! ==============
16      USE oce_trc
17      USE trc
18
19      IMPLICIT NONE
20      PRIVATE
21
22   !! * Accessibility
23   PUBLIC trc_sms
24
25#if defined key_passivetrc
26
27CONTAINS
28
29SUBROUTINE trc_sms( kt )
30   !!===========================================================================================
31   !!
32   !!                       ROUTINE trcsms
33   !!                     *****************
34   !!
35   !!  PURPOSE :
36   !!  ---------
37   !!          time loop of opa for passive tracer
38   !!
39   !!   METHOD :
40   !!   -------
41   !!      compute the well/spring evolution
42   !!
43   !!   INPUT :
44   !!   -----
45   !!      argument
46   !!              ktask           : task identificator
47   !!              kt              : time step
48   !!      COMMON
49   !!            all the COMMON defined in opa
50   !!
51   !!
52   !!   OUTPUT :        : no
53   !!   ------
54   !!
55   !!   WORKSPACE :
56   !!   ---------
57   !!
58   !!   EXTERNAL :
59   !!   --------
60   !!      trcbio, trcsed, trcopt for NPZD or LOBSTER1 models
61   !!
62   !!      h3cprg for HAMOC3 and P3ZD models
63   !!
64   !!
65   !!   History:
66   !!   --------
67   !!      original  : 96-11
68   !!      additions : 99-07 (M. Levy)
69   !!                  04-00 (O. Aumont, M.A. Foujols) HAMOCC3 and P3ZD
70   !!                  12-00 (O. Aumont, E. Kestenare) add trcexp for instantaneous export
71   !!   05-03 (O. Aumont and A. El Moussaoui) F90
72   !! -------------------------------------------------------------------------------------
73
74   !! * Arguments
75   !! -----------
76      INTEGER, INTENT( in ) ::   kt      ! ocean time-step index     
77
78   !! this ROUTINE is called only every ndttrc time step
79   !! --------------------------------------------------
80
81      IF ( MOD(kt,ndttrc) /= 0) RETURN
82
83   !! this first routines are parallelized on vertical slab
84   !! ------------------------------------------------------
85
86#if defined key_trc_npzd || defined key_trc_lobster1
87
88   !! tracers: optical model
89   !! ----------------------
90
91       CALL trcopt( kt)
92
93   !! tracers: biological model
94   !! -------------------------
95
96       CALL trcbio( kt)
97
98   !! tracers: sedimentation model
99   !! ----------------------------
100
101       CALL trcsed(kt)
102       CALL trcexp
103
104#elif defined key_trc_hamocc3
105
106   !! h3cprg: main PROGRAM for HAMOCC3 or P3ZD models
107   !! -----------------------------------------------
108       CALL h3cprg(kt)
109
110#elif defined key_trc_pisces
111
112   !! p4zprg: main PROGRAM for PISCES
113   !! -------------------------------
114       CALL p4zprg(kt)
115#else
116
117    !! SMS to DO
118
119#if defined key_cfc
120
121   !! CFC's code taken from K. Rodgers
122
123   !! This part is still experimental
124   !! -------------------------------
125
126       CALL trcfreons(kt)
127
128#elif defined key_gosac
129
130   !! C14 tracer modeled according to the OCMIP protocol
131   !! This part has not been really tested in this configuration
132
133   !! Compute the alkalinity
134
135          CALL alkal(kt)
136
137   !! Compute the radioactive decay
138
139          CALL decay
140
141   !! Tracers: surface flux
142
143          CALL dicgasflux(kt)
144
145#endif
146
147#endif
148
149#if defined key_trc_age
150
151   !! Age Tracer
152   
153          CALL trcage(kt)
154#endif
155
156END SUBROUTINE trc_sms
157
158#else
159
160SUBROUTINE trc_sms( kt )
161
162! no passive tracers
163      INTEGER, INTENT( in ) ::   kt
164      WRITE(*,*) 'trc_sms: You should not have seen this print! error?', kt
165END SUBROUTINE trc_sms
166
167#endif
168
169
170END MODULE  trcsms
Note: See TracBrowser for help on using the repository browser.