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_medusa.F90 in branches/NERC/dev_r5518_NOC_MEDUSA_Stable/NEMOGCM/NEMO/TOP_SRC/MEDUSA – NEMO

source: branches/NERC/dev_r5518_NOC_MEDUSA_Stable/NEMOGCM/NEMO/TOP_SRC/MEDUSA/trcsms_medusa.F90 @ 6022

Last change on this file since 6022 was 5841, checked in by jpalmier, 9 years ago

JPALM --30-10-2015-- Add MOCSY and DMS to MEDUSA-NEMO3.6

File size: 3.7 KB
Line 
1MODULE trcsms_medusa
2   !!======================================================================
3   !!                         ***  MODULE trcsms_medusa  ***
4   !! TOP :   Main module of the MEDUSA tracers
5   !!======================================================================
6   !! History :   2.0  !  2007-12  (C. Ethe, G. Madec) Original code
7   !!              -   !  2008-08  (K. Popova) adaptation for MEDUSA
8   !!              -   !  2008-11  (A. Yool) continuing adaptation for MEDUSA
9   !!              -   !  2010-03  (A. Yool) updated for branch inclusion
10   !!----------------------------------------------------------------------
11#if defined key_medusa
12   !!----------------------------------------------------------------------
13   !!   'key_medusa'                                       bio tracers
14   !!----------------------------------------------------------------------
15   !! trc_sms_medusa   : MEDUSA_TRC model main routine
16   !!----------------------------------------------------------------------
17   USE par_trc         ! TOP parameters
18   USE oce_trc
19   USE trc
20   USE trcbio_medusa
21   USE trcopt_medusa
22   USE trcsed_medusa
23   USE trcavg_medusa
24
25
26   IMPLICIT NONE
27   PRIVATE
28
29   PUBLIC   trc_sms_medusa   ! called by trcsms.F90 module
30
31   !!----------------------------------------------------------------------
32   !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007)
33   !! $Id$
34   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt)
35   !!----------------------------------------------------------------------
36
37CONTAINS
38
39   SUBROUTINE trc_sms_medusa( kt )
40      !!----------------------------------------------------------------------
41      !!                     ***  trc_sms_medusa  *** 
42      !!
43      !! ** Purpose :   main routine of MEDUSA_TRC model
44      !!
45      !! ** Method  : -
46      !!----------------------------------------------------------------------
47      INTEGER, INTENT(in) :: kt   ! ocean time-step index
48
49# if defined key_debug_medusa
50         IF(lwp) WRITE(numout,*) ' MEDUSA inside trc_sms_medusa'
51         CALL flush(numout)
52# endif
53
54      IF( kt == nittrc000 ) THEN
55       IF(lwp) WRITE(numout,*)
56       IF(lwp) WRITE(numout,*) ' trc_sms_medusa:  MEDUSA model'
57       IF(lwp) WRITE(numout,*) ' ~~~~~~~~~~~~~~'
58      ENDIF
59
60      CALL trc_avg_medusa( kt )   ! rolling average module
61# if defined key_debug_medusa
62         IF(lwp) WRITE(numout,*) ' MEDUSA done trc_avg_medusa'
63         CALL flush(numout)
64# endif
65
66      CALL trc_opt_medusa( kt )   ! optical model
67# if defined key_debug_medusa
68         IF(lwp) WRITE(numout,*) ' MEDUSA done trc_opt_medusa'
69         CALL flush(numout)
70# endif
71
72# if defined key_kill_medusa
73      !! MEDUSA skipped
74      IF(lwp) WRITE(numout,*) ' MEDUSA killed at kt =', kt
75      CALL flush(numout)
76# else
77      CALL trc_bio_medusa( kt )   ! biological model
78# if defined key_debug_medusa
79         IF(lwp) WRITE(numout,*) ' MEDUSA done trc_bio_medusa'
80         CALL flush(numout)
81# endif
82
83      CALL trc_sed_medusa( kt )   ! sedimentation model
84# if defined key_debug_medusa
85         IF(lwp) WRITE(numout,*) ' MEDUSA done trc_sed_medusa'
86         CALL flush(numout)
87# endif
88# endif
89
90   END SUBROUTINE trc_sms_medusa
91   
92#else
93   !!----------------------------------------------------------------------
94   !!   Dummy module                                        No MEDUSA model
95   !!----------------------------------------------------------------------
96CONTAINS
97   SUBROUTINE trc_sms_medusa( kt )             ! Empty routine
98      INTEGER, INTENT( in ) ::   kt
99      WRITE(*,*) 'trc_sms_medusa: You should not have seen this print! error?', kt
100   END SUBROUTINE trc_sms_medusa
101#endif
102
103   !!======================================================================
104END MODULE trcsms_medusa
Note: See TracBrowser for help on using the repository browser.