source: branches/UKMO/dev_r5518_medusa_chg_trc_bio_medusa/NEMOGCM/NEMO/TOP_SRC/MEDUSA/trcsms_medusa.F90 @ 7912

Last change on this file since 7912 was 7912, checked in by marc, 3 years ago

Moved initialisation from trcbio_medusa.F90 into bio_medusa_init.F90

File size: 4.1 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      !! AXY & JPALM (28/02/17): call dust before trc_bio_medusa (because of coupling)
73      CALL trc_sed_medusa_dust( kt ) ! dust submodel
74# if defined key_debug_medusa
75      IF(lwp) WRITE(numout,*) ' MEDUSA done trc_sed_medusa_dust'
76      CALL flush(numout)
77# endif
78
79# if defined key_kill_medusa
80      !! MEDUSA skipped
81      IF(lwp) WRITE(numout,*) ' MEDUSA killed at kt =', kt
82      CALL flush(numout)
83# else
84! tmp - marc
85      write(numout,*) 'bbb25. before call to trc_bio_medusa'
86      flush(numout)
87!
88      CALL trc_bio_medusa( kt ) ! biological model
89#  if defined key_debug_medusa
90      IF(lwp) WRITE(numout,*) ' MEDUSA done trc_bio_medusa'
91      CALL flush(numout)
92! tmp - marc
93      write(numout,*) 'bbb26. after call to trc_bio_medusa'
94      flush(numout)
95!
96#  endif
97     
98      CALL trc_sed_medusa( kt ) ! sedimentation model
99#  if defined key_debug_medusa
100      IF(lwp) WRITE(numout,*) ' MEDUSA done trc_sed_medusa'
101      CALL flush(numout)
102#  endif
103# endif
104
105   END SUBROUTINE trc_sms_medusa
106   
107#else
108   !!----------------------------------------------------------------------
109   !!   Dummy module                                        No MEDUSA model
110   !!----------------------------------------------------------------------
111CONTAINS
112   SUBROUTINE trc_sms_medusa( kt )             ! Empty routine
113      INTEGER, INTENT( in ) ::   kt
114      WRITE(*,*) 'trc_sms_medusa: You should not have seen this print! error?', kt
115   END SUBROUTINE trc_sms_medusa
116#endif
117
118   !!======================================================================
119END MODULE trcsms_medusa
120
Note: See TracBrowser for help on using the repository browser.