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

Last change on this file since 336 was 335, checked in by opalod, 19 years ago

nemo_v1_update_023 : CE + RB + CT : new evolution of modules

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