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

source: trunk/NEMO/TOP_SRC/CFC/trcctl_cfc.F90 @ 1070

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

update CFC model, see ticket:190

File size: 4.0 KB
Line 
1MODULE trcctl_cfc
2   !!======================================================================
3   !!                         ***  trcctl.cfc.F90  ***
4   !! TOP :                Control of CFC chemical model
5   !!======================================================================
6   !!----------------------------------------------------------------------
7   !! History :   1.0  !  2005-10 (C. Ethe) assign a parameter to name individual tracers
8   !!----------------------------------------------------------------------
9
10#if defined key_cfc
11
12   USE oce_trc
13   USE trc
14
15
16   IMPLICIT NONE
17   PRIVATE
18
19   PUBLIC trc_ctl_cfc      ! called by ???
20
21   !!----------------------------------------------------------------------
22   !! NEMO/TOP 1.0 , LOCEAN-IPSL (2005)
23   !! $Id: trcctl.cfc.h90 765 2007-12-14 07:29:53Z gm $
24   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt)
25   !!----------------------------------------------------------------------
26
27CONTAINS
28
29   SUBROUTINE trc_ctl_cfc
30      !!----------------------------------------------------------------------
31      !!                     ***  ROUTINE trc_ctl_cfc  ***
32      !!
33      !! ** Purpose :   control the cpp options, namelist and files
34      !!----------------------------------------------------------------------
35      INTEGER :: jn
36
37      IF(lwp) THEN
38          WRITE(numout,*) ' CFC Model '
39          WRITE(numout,*) ' '
40      ENDIF
41
42      ! Check number of tracers
43      ! -----------------------   
44      IF( jp_cfc > 2) THEN
45          IF(lwp) THEN
46              WRITE (numout,*) ' ===>>>> : w a r n i n g '
47              WRITE (numout,*) ' =======   ============= '
48              WRITE (numout,*)                             &
49              &   ' STOP, change jp_cfc to 1 or 2 in par_CFC module ' 
50          END IF
51          STOP 'TRC_CTL'
52      END IF 
53
54      ! Check tracer names
55      ! ------------------
56      IF( jp_cfc == 1 ) THEN
57         IF ( jp11 == 1 ) THEN
58            IF ( ctrcnm(jp11) /= 'CFC11') THEN
59               ctrcnm(jp11) = 'CFC11'
60               ctrcnl(jp11) = 'Chlorofuorocarbone 11 concentration'
61            ENDIF
62         ENDIF
63         IF( jp12 == 1 ) THEN
64            IF ( ctrcnm(jp12) /= 'CFC12') THEN
65               ctrcnm(jp12) = 'CFC12'
66               ctrcnl(jp12) = 'Chlorofuorocarbone 12 concentration'
67            ENDIF
68         ENDIF
69      ENDIF
70
71      IF( jp_cfc == 2 ) THEN
72         IF ( ctrcnm(jp11) /= 'CFC11' .OR. ctrcnm(jp12) /= 'CFC12' ) THEN
73            ctrcnm(jp11) = 'CFC11'
74            ctrcnl(jp11) = 'Chlorofuorocarbone 11 concentration'
75            ctrcnm(jp12) = 'CFC12'
76            ctrcnl(jp12) = 'Chlorofuorocarbone 12 concentration' 
77         ENDIF
78      ENDIF
79
80      IF(lwp) THEN
81         WRITE (numout,*) ' ===>>>> : w a r n i n g '
82         WRITE (numout,*) ' =======   ============= '
83         WRITE (numout,*) ' we force tracer names'
84         DO jn = jp_cfc0, jp_cfc1
85            WRITE(numout,*) ' tracer nb: ',jn,' name = ',ctrcnm(jn), ctrcnl(jn)
86         END DO
87         WRITE(numout,*) ' '
88      ENDIF 
89
90
91      ! Check tracer units
92      ! ------------------
93      DO jn = jp_cfc0, jp_cfc1
94        IF( ctrcun(jn) /= 'mole/m3' ) THEN
95            ctrcun(jn) = 'mole/m3'
96            IF(lwp) THEN
97               WRITE (numout,*) ' ===>>>> : w a r n i n g '
98               WRITE (numout,*) ' =======   ============= '
99               WRITE (numout,*) ' we force tracer unit'
100               WRITE(numout,*) ' tracer  ',ctrcnm(jn), 'UNIT= ',ctrcun(jn)
101               WRITE(numout,*) ' '
102            ENDIF
103         ENDIF
104      END DO             
105      !
106   END SUBROUTINE trc_ctl_cfc
107
108#else
109   !!----------------------------------------------------------------------
110   !!  Empty module :                                                No CFC
111   !!----------------------------------------------------------------------
112CONTAINS
113   SUBROUTINE trc_ctl_cfc                      ! Dummy routine
114   END SUBROUTINE trc_ctl_cfc
115#endif
116
117   !!======================================================================
118END MODULE trcctl_cfc
Note: See TracBrowser for help on using the repository browser.