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

source: trunk/NEMO/TOP_SRC/LOBSTER/trcctl_lobster.F90 @ 1071

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

update LOBSTER model, see ticket:190

File size: 4.3 KB
Line 
1MODULE trcctl_lobster
2   !!======================================================================
3   !!                         ***  trcctl_lobster.F90  ***
4   !! TOP :                Control of LOBSTER biological model
5   !!======================================================================
6   !!----------------------------------------------------------------------
7   !! History :   1.0  !  2000-12 (E. Kestenare) assign a parameter to name individual tracers
8   !!----------------------------------------------------------------------
9
10#if defined key_lobster
11
12   USE oce_trc
13   USE trc
14
15
16   IMPLICIT NONE
17   PRIVATE
18
19   PUBLIC trc_ctl_lobster     ! called by ???
20
21   !!----------------------------------------------------------------------
22   !! NEMO/TOP 1.0 , LOCEAN-IPSL (2005)
23   !! $Id: trcctl.lobster1.h90 764 2007-12-14 06:32:58Z gm $
24   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt)
25   !!----------------------------------------------------------------------
26
27CONTAINS
28
29   SUBROUTINE trc_ctl_lobster
30      !!----------------------------------------------------------------------
31      !!                     ***  ROUTINE trc_ctl_lobster  ***
32      !!
33      !! ** Purpose :   control the cpp options, namelist and files
34      !!----------------------------------------------------------------------
35      INTEGER :: jn
36
37      IF(lwp) WRITE(numout,*)
38      IF(lwp) WRITE(numout,*) ' use LOBSTER biological model '
39
40      ! Check number of tracers
41      ! -----------------------
42      IF (jp_lobster /= 6) THEN
43          IF (lwp) THEN
44              WRITE (numout,*) ' ===>>>> : w a r n i n g '
45              WRITE (numout,*) ' =======   ============= '
46              WRITE (numout,*)                             &
47              &   ' STOP, change jp_lobster to 6 in '           &
48              &   ,'par_lobster.F90 ' 
49          END IF
50          STOP 'TRC_CTL'
51      END IF 
52
53      ! Check tracer names
54      ! ------------------
55      IF(   ctrcnm(jpdet) /= 'DET' .OR. ctrcnm(jpzoo) /= 'ZOO' .OR.   &
56         &  ctrcnm(jpphy) /= 'PHY' .OR. ctrcnm(jpno3) /= 'NO3' .OR.   &
57         &  ctrcnm(jpnh4) /= 'NH4' .OR. ctrcnm(jpdom) /= 'DOM' .OR.   & 
58         &  ctrcnl(jpdet) /= 'Detritus'                        .OR.   &
59         &  ctrcnl(jpzoo) /= 'Zooplankton concentration'       .OR.   &
60         &  ctrcnl(jpphy) /= 'Phytoplankton concentration'     .OR.   &
61         &  ctrcnl(jpno3) /= 'Nitrate concentration'           .OR.   &
62         &  ctrcnl(jpnh4) /= 'Ammonium concentration'          .OR.   &
63         &  ctrcnl(jpdom) /= 'Dissolved organic matter' ) THEN
64         ctrcnm(jpdet)='DET'
65         ctrcnl(jpdet)='Detritus'
66         ctrcnm(jpzoo)='ZOO'
67         ctrcnl(jpzoo)='Zooplankton concentration'
68         ctrcnm(jpphy)='PHY'
69         ctrcnl(jpphy)='Phytoplankton concentration'
70         ctrcnm(jpno3)='NO3'
71         ctrcnl(jpno3)='Nitrate concentration'
72         ctrcnm(jpnh4)='NH4'
73         ctrcnl(jpnh4)='Ammonium concentration'
74         ctrcnm(jpdom)='DOM'
75         ctrcnl(jpdom)='Dissolved organic matter'         
76         IF(lwp) THEN
77            WRITE (numout,*) ' ===>>>> : w a r n i n g '
78            WRITE (numout,*) ' =======   ============= '
79            WRITE (numout,*) ' we force tracer names'
80            DO jn = jp_lob0, jp_lob1
81               WRITE(numout,*) ' tracer nb: ',jn,' name = ',ctrcnm(jn), ctrcnl(jn)
82            END DO
83            WRITE(numout,*) ' '
84         ENDIF
85      ENDIF 
86
87      ! Check tracer units
88      DO jn = jp_lob0, jp_lob1
89         IF( ctrcun(jn) /= 'mmole-N/m3') THEN
90            ctrcun(jn) = 'mmole-N/m3'
91            IF(lwp) THEN
92               WRITE (numout,*) ' ===>>>> : w a r n i n g '
93               WRITE (numout,*) ' =======   ============= '
94               WRITE (numout,*) ' we force tracer unit'
95               WRITE(numout,*) ' tracer  ',ctrcnm(jn), 'UNIT= ',ctrcun(jn)
96            ENDIF
97         ENDIF
98      END DO             
99   END SUBROUTINE trc_ctl_lobster
100
101#else
102   !!----------------------------------------------------------------------
103   !!  Empty module :                                          No LOBSTER
104   !!----------------------------------------------------------------------
105CONTAINS
106   SUBROUTINE trc_ctl_lobster                 ! Dummy routine
107   END SUBROUTINE trc_ctl_lobster
108#endif
109
110   !!======================================================================
111END MODULE trcctl_lobster
Note: See TracBrowser for help on using the repository browser.