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 branches/DEV_r2191_3partymerge2010/NEMO/TOP_SRC/LOBSTER – NEMO

source: branches/DEV_r2191_3partymerge2010/NEMO/TOP_SRC/LOBSTER/trcctl_lobster.F90 @ 2208

Last change on this file since 2208 was 2208, checked in by rblod, 14 years ago

Put FCM NEMO code changes in DEV_r2191_3partymerge2010 branch

  • Property svn:keywords set to Id
File size: 4.4 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$
24   !! Software governed by the CeCILL licence  (NEMOGCM/License_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 :: jl, 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 jl = 1, jp_lobster
81               jn = jp_lob0 + jl - 1
82               WRITE(numout,*) ' tracer nb: ',jn,' name = ',ctrcnm(jn), ctrcnl(jn)
83            END DO
84            WRITE(numout,*) ' '
85         ENDIF
86      ENDIF 
87
88      ! Check tracer units
89      DO jl = 1, jp_lobster
90         jn = jp_lob0 + jl - 1
91         IF( ctrcun(jn) /= 'mmole-N/m3') THEN
92            ctrcun(jn) = 'mmole-N/m3'
93            IF(lwp) THEN
94               WRITE (numout,*) ' ===>>>> : w a r n i n g '
95               WRITE (numout,*) ' =======   ============= '
96               WRITE (numout,*) ' we force tracer unit'
97               WRITE(numout,*) ' tracer  ',ctrcnm(jn), 'UNIT= ',ctrcun(jn)
98            ENDIF
99         ENDIF
100      END DO             
101   END SUBROUTINE trc_ctl_lobster
102
103#else
104   !!----------------------------------------------------------------------
105   !!  Empty module :                                          No LOBSTER
106   !!----------------------------------------------------------------------
107CONTAINS
108   SUBROUTINE trc_ctl_lobster                 ! Dummy routine
109   END SUBROUTINE trc_ctl_lobster
110#endif
111
112   !!======================================================================
113END MODULE trcctl_lobster
Note: See TracBrowser for help on using the repository browser.