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

Last change on this file since 3317 was 850, checked in by cetlod, 16 years ago

include the USE of the PISCES main module in trcsms.F90 , see ticket:88

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