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

Last change on this file since 489 was 433, checked in by opalod, 18 years ago

nemo_v1_update_044 : CT : update the passive tracers TOP component and the standard GYRE configuration

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 4.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   USE prtctl_trc          ! Print control for debbuging
20
21   IMPLICIT NONE
22   PRIVATE
23
24   !! * Accessibility
25   PUBLIC trc_sms
26
27CONTAINS
28
29   SUBROUTINE 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      !! * Local variables
79      !! -----------------
80
81      CHARACTER (len=25) :: charout
82
83      !! this ROUTINE is called only every ndttrc time step
84      !! --------------------------------------------------
85
86      IF ( MOD(kt,ndttrc) /= 0) RETURN
87
88      !! this first routines are parallelized on vertical slab
89      !! ------------------------------------------------------
90
91#if defined key_trc_lobster1
92
93      !! tracers: optical model
94      !! ----------------------
95
96      CALL trcopt( kt)
97
98      IF(ln_ctl)   THEN  ! print mean trends (used for debugging)
99         WRITE(charout, FMT="('OPT')")
100         CALL prt_ctl_trc_info(charout)
101         CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm)
102      ENDIF
103
104      !! tracers: biological model
105      !! -------------------------
106
107      CALL trcbio( kt)
108
109      IF(ln_ctl)   THEN  ! print mean trends (used for debugging)
110         WRITE(charout, FMT="('BIO')")
111         CALL prt_ctl_trc_info(charout)
112         CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm)
113      ENDIF
114
115      !! tracers: sedimentation model
116      !! ----------------------------
117
118      CALL trcsed(kt)
119      IF(ln_ctl)   THEN  ! print mean trends (used for debugging)
120         WRITE(charout, FMT="('SED')")
121         CALL prt_ctl_trc_info(charout)
122         CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm)
123      ENDIF
124 
125      CALL trcexp(kt)
126
127      IF(ln_ctl)   THEN  ! print mean trends (used for debugging)
128         WRITE(charout, FMT="('EXP')")
129         CALL prt_ctl_trc_info(charout)
130         CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm)
131      ENDIF
132
133#elif defined key_trc_pisces
134
135      !! p4zprg: main PROGRAM for PISCES
136      !! -------------------------------
137      CALL p4zprg(kt)
138
139      !! SMS to DO
140
141#elif defined key_cfc
142
143      !! CFC's code taken from K. Rodgers
144
145      !! This part is still experimental
146      !! -------------------------------
147
148      CALL trc_freons(kt)
149
150#endif
151
152
153
154   END SUBROUTINE trc_sms
155
156#else
157   !!======================================================================
158   !!  Empty module : No passive tracer
159   !!======================================================================
160CONTAINS
161
162   SUBROUTINE trc_sms( kt )
163
164      ! no passive tracers
165      INTEGER, INTENT( in ) ::   kt
166      WRITE(*,*) 'trc_sms: You should not have seen this print! error?', kt
167   END SUBROUTINE trc_sms
168
169#endif
170
171
172END MODULE  trcsms
Note: See TracBrowser for help on using the repository browser.