1 |
jahn |
1.1 |
C $Header$ |
2 |
|
|
C $Name$ |
3 |
|
|
|
4 |
|
|
#include "CPP_OPTIONS.h" |
5 |
|
|
#include "PTRACERS_OPTIONS.h" |
6 |
|
|
#include "DARWIN_OPTIONS.h" |
7 |
|
|
|
8 |
|
|
#ifdef ALLOW_PTRACERS |
9 |
|
|
#ifdef ALLOW_MONOD |
10 |
|
|
|
11 |
|
|
CBOP |
12 |
|
|
C !ROUTINE: MONOD_DIAGNOSTICS_INIT |
13 |
|
|
C !INTERFACE: |
14 |
|
|
SUBROUTINE MONOD_DIAGNOSTICS_INIT( myThid ) |
15 |
|
|
C !DESCRIPTION: |
16 |
|
|
C Routine to initialize Darwin diagnostics |
17 |
|
|
|
18 |
|
|
C !USES: |
19 |
|
|
IMPLICIT NONE |
20 |
|
|
C === Global variables === |
21 |
|
|
#include "SIZE.h" |
22 |
|
|
#include "PTRACERS_SIZE.h" |
23 |
|
|
#include "EEPARAMS.h" |
24 |
|
|
#include "PARAMS.h" |
25 |
|
|
#include "GCHEM.h" |
26 |
|
|
#include "MONOD_SIZE.h" |
27 |
|
|
|
28 |
|
|
C !INPUT/OUTPUT PARAMETERS: |
29 |
|
|
C === Routine arguments === |
30 |
|
|
C myThid - Number of this instance of MONOD_DIAGNOSTICS_INIT |
31 |
|
|
INTEGER myThid |
32 |
|
|
CEOP |
33 |
|
|
|
34 |
|
|
#ifdef ALLOW_DIAGNOSTICS |
35 |
|
|
C !LOCAL VARIABLES: |
36 |
|
|
C === Local variables === |
37 |
|
|
C msgBuf - Informational/error meesage buffer |
38 |
|
|
c CHARACTER*(MAX_LEN_MBUF) msgBuf |
39 |
|
|
|
40 |
|
|
INTEGER diagNum |
41 |
|
|
CHARACTER*8 diagName |
42 |
|
|
CHARACTER*16 diagCode |
43 |
|
|
CHARACTER*16 diagUnits |
44 |
|
|
CHARACTER*(80) diagTitle |
45 |
|
|
|
46 |
|
|
INTEGER np |
47 |
|
|
|
48 |
|
|
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
49 |
|
|
|
50 |
|
|
C-- Add diagnostics to the (long) list |
51 |
|
|
|
52 |
|
|
C-- Add diagnostic PAR, PP and Nfix |
53 |
|
|
diagName = 'PAR ' |
54 |
|
|
WRITE(diagTitle, '(A)') 'PAR' |
55 |
|
|
diagUnits = 'uEin/m^2/s ' |
56 |
|
|
diagCode = 'SM P MR ' |
57 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
58 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
59 |
|
|
|
60 |
|
|
diagName = 'PP ' |
61 |
|
|
WRITE(diagTitle, '(A)') 'Primary Production' |
62 |
|
|
diagUnits = 'mmol P/m^3/s ' |
63 |
|
|
diagCode = 'SM P MR ' |
64 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
65 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
66 |
|
|
|
67 |
|
|
diagName = 'Nfix ' |
68 |
|
|
WRITE(diagTitle, '(A)') 'N fixation' |
69 |
|
|
diagUnits = 'mmol N/m^3/s ' |
70 |
|
|
diagCode = 'SM P MR ' |
71 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
72 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
73 |
|
|
|
74 |
|
|
diagName = 'Denit ' |
75 |
|
|
WRITE(diagTitle, '(A)') 'Denitrification' |
76 |
|
|
diagUnits = 'mmol N/m^3/s ' |
77 |
|
|
diagCode = 'SM P MR ' |
78 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
79 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
80 |
|
|
|
81 |
|
|
c ANNA_TAVE |
82 |
|
|
#ifdef WAVES_DIAG_PCHL |
83 |
|
|
DO np=1,MIN(99,npmax) |
84 |
|
|
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
85 |
|
|
C-- Add diagnostics of Pchl |
86 |
|
|
c ANNA_Q format to allow more Ptracers I2.3 ?? |
87 |
|
|
WRITE(diagName,'(A,I2.2,A)') 'Pchl',np,' ' |
88 |
|
|
WRITE(diagTitle,'(A,I2.2)') 'Chl of Phy', np |
89 |
|
|
diagUnits = 'mg chl/m^3 ' |
90 |
|
|
diagCode = 'SM P MR ' |
91 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
92 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
93 |
|
|
|
94 |
|
|
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
95 |
|
|
ENDDO /* np */ |
96 |
|
|
#endif /* WAVES_DIAG_PCHL */ |
97 |
|
|
c ANNA end TAVE |
98 |
|
|
|
99 |
|
|
#ifdef DAR_DIAG_RSTAR |
100 |
|
|
DO np=1,MIN(99,npmax) |
101 |
|
|
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
102 |
|
|
C-- Add diagnostics of Rstar |
103 |
|
|
WRITE(diagName,'(A,I2.2,A)') 'Rstar',np,' ' |
104 |
|
|
WRITE(diagTitle,'(A,I2.2)') 'Rstar^PO4 of Phy', np |
105 |
|
|
diagUnits = 'mmol P/m^3 ' |
106 |
|
|
diagCode = 'SM P MR ' |
107 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
108 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
109 |
|
|
|
110 |
|
|
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
111 |
|
|
ENDDO /* np */ |
112 |
|
|
#endif /* DAR_DIAG_RSTAR */ |
113 |
|
|
|
114 |
|
|
#ifdef DAR_DIAG_DIVER |
115 |
|
|
diagName = 'Diver1 ' |
116 |
|
|
WRITE(diagTitle, '(A)') |
117 |
|
|
& '# Phy species over absolute threshold' |
118 |
|
|
diagUnits = '1 ' |
119 |
|
|
diagCode = 'SM P MR ' |
120 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
121 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
122 |
|
|
|
123 |
|
|
diagName = 'Diver2 ' |
124 |
|
|
WRITE(diagTitle, '(A)') |
125 |
|
|
& '# Phy species over threshold for proportion of biomass' |
126 |
|
|
diagUnits = '1 ' |
127 |
|
|
diagCode = 'SM P MR ' |
128 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
129 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
130 |
|
|
|
131 |
|
|
diagName = 'Diver3 ' |
132 |
|
|
WRITE(diagTitle, '(A)') |
133 |
|
|
& '# Phy species constituting bulk of biomass' |
134 |
|
|
diagUnits = '1 ' |
135 |
|
|
diagCode = 'SM P MR ' |
136 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
137 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
138 |
|
|
|
139 |
|
|
diagName = 'Diver4 ' |
140 |
|
|
WRITE(diagTitle, '(A)') |
141 |
|
|
& '# Phy species over threshold for ratio to maximum species' |
142 |
|
|
diagUnits = '1 ' |
143 |
|
|
diagCode = 'SM P MR ' |
144 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
145 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
146 |
|
|
#endif /* DAR_DIAG_DIVER */ |
147 |
|
|
|
148 |
|
|
#ifdef ALLOW_DIAZ |
149 |
|
|
#ifdef DAR_DIAG_NFIXP |
150 |
|
|
DO np=1,MIN(99,npmax) |
151 |
|
|
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|C-- Add diagnostics of NFix |
152 |
|
|
WRITE(diagName,'(A,I2.2,A)') 'NfixP',np,' ' |
153 |
|
|
WRITE(diagTitle,'(A,I2.2)') 'Nfix of Phy', np |
154 |
|
|
diagUnits = 'mmol N/m^3 ' |
155 |
|
|
diagCode = 'SM P MR ' |
156 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
157 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
158 |
|
|
|
159 |
|
|
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| ENDDO /* np */ |
160 |
|
|
ENDDO /* np */ |
161 |
|
|
#endif /* DAR_DIAG_NFIXP */ |
162 |
|
|
#endif |
163 |
|
|
|
164 |
|
|
#ifdef ALLOW_PAR_DAY |
165 |
|
|
diagName = 'PARday ' |
166 |
|
|
WRITE(diagTitle, '(A)') 'daily-averaged PAR' |
167 |
|
|
diagUnits = 'uEin/m^2/s ' |
168 |
|
|
diagCode = 'SM P MR ' |
169 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
170 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
171 |
|
|
#endif /* ALLOW_PAR_DAY */ |
172 |
|
|
|
173 |
|
|
#ifdef DAR_DIAG_CHL |
174 |
|
|
diagName = 'ChlGeide' |
175 |
|
|
WRITE(diagTitle, '(A)') 'Chlorophyll a concentration a la Geider' |
176 |
|
|
diagUnits = 'mg Chla/m^3 ' |
177 |
|
|
diagCode = 'SM P MR ' |
178 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
179 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
180 |
|
|
diagName = 'Chl2CGei' |
181 |
|
|
WRITE(diagTitle, '(A)')'Chlorophyll a to carbon ratio a la Geider' |
182 |
|
|
diagUnits = 'mg Chla/mmol C ' |
183 |
|
|
diagCode = 'SM P MR ' |
184 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
185 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
186 |
|
|
|
187 |
|
|
diagName = 'ChlDoney' |
188 |
|
|
WRITE(diagTitle, '(A)') 'Chlorophyll a concentration a la Doney' |
189 |
|
|
diagUnits = 'mg Chla/m^3 ' |
190 |
|
|
diagCode = 'SM P MR ' |
191 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
192 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
193 |
|
|
|
194 |
|
|
diagName = 'Chl2CDon' |
195 |
|
|
WRITE(diagTitle, '(A)') 'Chlorophyll a to carbon ratio a la Doney' |
196 |
|
|
diagUnits = 'mg Chla/mmol C ' |
197 |
|
|
diagCode = 'SM P MR ' |
198 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
199 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
200 |
|
|
|
201 |
|
|
diagName = 'ChlCloer' |
202 |
|
|
WRITE(diagTitle, '(A)') 'Chlorophyll a concentration a la Cloern' |
203 |
|
|
diagUnits = 'mg Chla/m^3 ' |
204 |
|
|
diagCode = 'SM P MR ' |
205 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
206 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
207 |
|
|
diagName = 'Chl2CClo' |
208 |
|
|
WRITE(diagTitle, '(A)')'Chlorophyll a to carbon ratio a la Cloern' |
209 |
|
|
diagUnits = 'mg Chla/mmol C ' |
210 |
|
|
diagCode = 'SM P MR ' |
211 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
212 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
213 |
|
|
#endif /* DAR_DIAG_CHL */ |
214 |
|
|
|
215 |
|
|
#endif /* ALLOW_DIAGNOSTICS */ |
216 |
|
|
|
217 |
|
|
RETURN |
218 |
|
|
END |
219 |
|
|
C============================================================================ |
220 |
|
|
#endif |
221 |
|
|
#endif |
222 |
|
|
|