1 | MODULE 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 (modipsl/doc/NEMO_CeCILL.txt) |
---|
25 | !!---------------------------------------------------------------------- |
---|
26 | |
---|
27 | CONTAINS |
---|
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 | !!---------------------------------------------------------------------- |
---|
105 | CONTAINS |
---|
106 | SUBROUTINE trc_ctl_lobster ! Dummy routine |
---|
107 | END SUBROUTINE trc_ctl_lobster |
---|
108 | #endif |
---|
109 | |
---|
110 | !!====================================================================== |
---|
111 | END MODULE trcctl_lobster |
---|