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_lobster.F90 in trunk/NEMOGCM/NEMO/TOP_SRC/LOBSTER – NEMO

source: trunk/NEMOGCM/NEMO/TOP_SRC/LOBSTER/trcsms_lobster.F90 @ 2864

Last change on this file since 2864 was 2715, checked in by rblod, 13 years ago

First attempt to put dynamic allocation on the trunk

  • Property svn:keywords set to Id
File size: 3.4 KB
RevLine 
[934]1MODULE trcsms_lobster
2   !!======================================================================
3   !!                         ***  MODULE trcsms_lobster  ***
4   !! TOP :   Time loop of LOBSTER model
5   !!======================================================================
6   !! History :   1.0  !            M. Levy
7   !!             2.0  !  2007-12  (C. Ethe, G. Madec)  revised architecture
8   !!----------------------------------------------------------------------
9#if defined key_lobster
10   !!----------------------------------------------------------------------
11   !!   'key_lobster'                                       LOBSTER bio-model
12   !!----------------------------------------------------------------------
13   !!   trcsms_lobster        :  Time loop of passive tracers sms
14   !!----------------------------------------------------------------------
[2715]15   USE oce_trc          !
[1176]16   USE trc
[934]17   USE trcbio
18   USE trcopt
19   USE trcsed
20   USE trcexp
[2528]21   USE trdmod_oce
22   USE trdmod_trc_oce
23   USE trdmod_trc
[1176]24   USE trdmld_trc
[934]25
26   IMPLICIT NONE
27   PRIVATE
28
29   PUBLIC   trc_sms_lobster    ! called in trcsms.F90
30
31   !!----------------------------------------------------------------------
[2528]32   !! NEMO/TOP 3.3 , NEMO Consortium (2010)
[1152]33   !! $Id$
[2715]34   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt)
[934]35   !!----------------------------------------------------------------------
36CONTAINS
37
38   SUBROUTINE trc_sms_lobster( kt )
39      !!---------------------------------------------------------------------
40      !!                     ***  ROUTINE trc_sms_lobster  ***
41      !!
42      !! ** Purpose :  Managment of the call to Biological sources and sinks
43      !!               routines of LOBSTER bio-model
44      !!
45      !! ** Method  : - ???
[2715]46      !! --------------------------------------------------------------------
47      USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released
48      USE wrk_nemo, ONLY: ztrlob => wrk_3d_1   ! used for lobster sms trends
49      !!
[934]50      INTEGER, INTENT( in ) ::   kt      ! ocean time-step index     
[1176]51      INTEGER :: jn
[2715]52      !! --------------------------------------------------------------------
[934]53
[2715]54      IF( wrk_in_use(3, 1) ) THEN
55         CALL ctl_stop('trc_sms_lobster : requested workspace array unavailable')   ;   RETURN
56      ENDIF
57
[934]58      CALL trc_opt( kt )      ! optical model
59      CALL trc_bio( kt )      ! biological model
60      CALL trc_sed( kt )      ! sedimentation model
61      CALL trc_exp( kt )      ! export
62
[1176]63      IF( l_trdtrc ) THEN
[1255]64          DO jn = jp_lob0, jp_lob1
[1176]65            ztrlob(:,:,:) = tra(:,:,:,jn)
[2528]66            CALL trd_mod_trc( ztrlob, jn, jptra_trd_sms, kt )   ! save trends
[1176]67          END DO
68      END IF
69
70      IF( lk_trdmld_trc )  CALL trd_mld_bio( kt )   ! trends: Mixed-layer
71
[2715]72      IF( wrk_not_released(3, 1) )   CALL ctl_stop('trc_sms_lobster : failed to release workspace array.')
73      !
[934]74   END SUBROUTINE trc_sms_lobster
75
76#else
77   !!======================================================================
78   !!  Dummy module :                                     No passive tracer
79   !!======================================================================
80CONTAINS
81   SUBROUTINE trc_sms_lobster( kt )                   ! Empty routine
82      INTEGER, INTENT( in ) ::   kt
83      WRITE(*,*) 'trc_sms_lobster: You should not have seen this print! error?', kt
84   END SUBROUTINE trc_sms_lobster
85#endif 
86
87   !!======================================================================
88END MODULE  trcsms_lobster
Note: See TracBrowser for help on using the repository browser.