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

Last change on this file since 766 was 765, checked in by gm, 16 years ago

dev_001_GM - create 1 parameter module by tracers (CFC, LOBSTER, PISCES..) - never compiled

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