/[MITgcm]/MITgcm_contrib/darwin2/pkg/darwin/darwin_mnc_init.F
ViewVC logotype

Contents of /MITgcm_contrib/darwin2/pkg/darwin/darwin_mnc_init.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.5 - (show annotations) (download)
Thu Aug 23 21:48:24 2012 UTC (12 years, 11 months ago) by jahn
Branch: MAIN
CVS Tags: ctrb_darwin2_ckpt63s_20120908, ctrb_darwin2_ckpt64_20121012
Changes since 1.4: +9 -3 lines
add Edstop timeave diagnostic, rename c1/2 to amp1/2

1 C $Header: /u/gcmpack/MITgcm_contrib/darwin2/pkg/darwin/darwin_mnc_init.F,v 1.4 2012/08/23 21:47:27 jahn Exp $
2 C $Name: $
3
4 #include "DARWIN_OPTIONS.h"
5
6 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
7 CBOP
8 C !ROUTINE: DARWIN_MNC_INIT
9
10 C !INTERFACE:
11 SUBROUTINE DARWIN_MNC_INIT( myThid )
12
13 C !DESCRIPTION:
14 C Initialize MNC for DARWIN
15
16 C !USES:
17 IMPLICIT NONE
18 #include "SIZE.h"
19 #include "EEPARAMS.h"
20 #include "PARAMS.h"
21 #include "PTRACERS_SIZE.h"
22 #include "PTRACERS_PARAMS.h"
23 #include "DARWIN_SIZE.h"
24 #include "SPECTRAL_SIZE.h"
25
26 C !INPUT PARAMETERS:
27 C myThid :: thread number
28 INTEGER myThid
29 CEOP
30 INTEGER np
31 INTEGER ii,jj,ilnb
32 CHARACTER*(MAX_LEN_MBUF) suff
33 CHARACTER*(1) pf
34 CHARACTER*(MAX_LEN_FNAM) name
35 #ifdef ALLOW_QUOTA
36 INTEGER iPhy
37 #endif
38 C Functions
39 integer ILNBLNK
40
41 #ifdef ALLOW_DARWIN
42 #ifdef ALLOW_MNC
43
44 IF ( useMNC ) THEN
45
46 #ifdef ALLOW_QUOTA
47 iPhy=ibiomass
48 #endif
49
50 CALL MNC_CW_ADD_VNAME(
51 & 'dar_PAR_ave', 'Cen_xy_Hn__C__t', 4,5, myThid)
52 CALL MNC_CW_ADD_VATTR_TEXT(
53 & 'dar_PAR_ave','units','--', myThid)
54 CALL MNC_CW_ADD_VATTR_TEXT('dar_PAR_ave','description',
55 & '', myThid)
56
57 CALL MNC_CW_ADD_VNAME(
58 & 'dar_PP_ave', 'Cen_xy_Hn__C__t', 4,5, myThid)
59 CALL MNC_CW_ADD_VATTR_TEXT(
60 & 'dar_PP_ave','units','--', myThid)
61 CALL MNC_CW_ADD_VATTR_TEXT('dar_PP_ave','description',
62 & '', myThid)
63 cbenw limitation diagnostics
64 #ifdef QUOTA_DIAG_LIMIT
65 do np=1,npmax
66 c nitrogen
67 DO jj = 1,MAX_LEN_FNAM
68 name(jj:jj) = ' '
69 ENDDO
70 WRITE(name,'(a,i3.3)') 'dar_Nlim_',np
71 CALL MNC_CW_ADD_VNAME(name,'Cen_xy_Hn__C__t',4,5,myThid)
72 CALL MNC_CW_ADD_VATTR_TEXT(name,'units','--', myThid)
73 CALL MNC_CW_ADD_VATTR_TEXT(name,'description','', myThid)
74 c iron
75 DO jj = 1,MAX_LEN_FNAM
76 name(jj:jj) = ' '
77 ENDDO
78 WRITE(name,'(a,i3.3)') 'dar_Flim_',np
79 CALL MNC_CW_ADD_VNAME(name,'Cen_xy_Hn__C__t',4,5,myThid)
80 CALL MNC_CW_ADD_VATTR_TEXT(name,'units','--', myThid)
81 CALL MNC_CW_ADD_VATTR_TEXT(name,'description','', myThid)
82 c light
83 DO jj = 1,MAX_LEN_FNAM
84 name(jj:jj) = ' '
85 ENDDO
86 WRITE(name,'(a,i3.3)') 'dar_Ilim_',np
87 CALL MNC_CW_ADD_VNAME(name,'Cen_xy_Hn__C__t',4,5,myThid)
88 CALL MNC_CW_ADD_VATTR_TEXT(name,'units','--', myThid)
89 CALL MNC_CW_ADD_VATTR_TEXT(name,'description','', myThid)
90 enddo
91 c temperature
92 DO jj = 1,MAX_LEN_FNAM
93 name(jj:jj) = ' '
94 ENDDO
95 WRITE(name,'(a)') 'dar_Tlim_ave'
96 CALL MNC_CW_ADD_VNAME(name,'Cen_xy_Hn__C__t',4,5,myThid)
97 CALL MNC_CW_ADD_VATTR_TEXT(name,'units','--', myThid)
98 CALL MNC_CW_ADD_VATTR_TEXT(name,'description','', myThid)
99 #endif
100 cbenw limitation diagnostics
101 #ifndef ALLOW_QUOTA
102 CALL MNC_CW_ADD_VNAME(
103 & 'dar_Chl_ave', 'Cen_xy_Hn__C__t', 4,5, myThid)
104 CALL MNC_CW_ADD_VATTR_TEXT(
105 & 'dar_Chl_ave','units','--', myThid)
106 CALL MNC_CW_ADD_VATTR_TEXT('dar_Chl_ave','description',
107 & '', myThid)
108 #endif
109 CALL MNC_CW_ADD_VNAME(
110 & 'dar_Nfix_ave', 'Cen_xy_Hn__C__t', 4,5, myThid)
111 CALL MNC_CW_ADD_VATTR_TEXT(
112 & 'dar_Nfix_ave','units','--', myThid)
113 CALL MNC_CW_ADD_VATTR_TEXT('dar_Nfix_ave','description',
114 & '', myThid)
115
116 CALL MNC_CW_ADD_VNAME(
117 & 'dar_Denit_ave', 'Cen_xy_Hn__C__t', 4,5, myThid)
118 CALL MNC_CW_ADD_VATTR_TEXT(
119 & 'dar_Denit_ave','units','--', myThid)
120 CALL MNC_CW_ADD_VATTR_TEXT('dar_Denit_ave','description',
121 & '', myThid)
122
123 #ifdef DAR_DIAG_ACDOM
124 CALL MNC_CW_ADD_VNAME(
125 & 'dar_aCDOM_ave', 'Cen_xy_Hn__C__t', 4,5, myThid)
126 CALL MNC_CW_ADD_VATTR_TEXT(
127 & 'dar_aCDOM_ave','units','--', myThid)
128 CALL MNC_CW_ADD_VATTR_TEXT('dar_aCDOM_ave','description',
129 & '', myThid)
130 #endif
131
132 #ifdef DAR_DIAG_IRR
133 do ii=1,tlam
134 DO jj = 1,MAX_LEN_FNAM
135 name(jj:jj) = ' '
136 ENDDO
137 WRITE(name,'(a,i2.2)') 'dar_Ed',ii
138 CALL MNC_CW_ADD_VNAME(name,'Cen_xy_Hn__C__t',4,5,myThid)
139 CALL MNC_CW_ADD_VATTR_TEXT(name,'units','W/m^2', myThid)
140 CALL MNC_CW_ADD_VATTR_TEXT(name,'description',
141 & 'direct downwelling irradiance at top of layer', myThid)
142 WRITE(name,'(a,i2.2)') 'dar_Es',ii
143 CALL MNC_CW_ADD_VNAME(name,'Cen_xy_Hn__C__t',4,5,myThid)
144 CALL MNC_CW_ADD_VATTR_TEXT(name,'units','W/m^2', myThid)
145 CALL MNC_CW_ADD_VATTR_TEXT(name,'description',
146 & 'diffuse downwelling irradiance at top of layer', myThid)
147 WRITE(name,'(a,i2.2)') 'dar_Eu',ii
148 CALL MNC_CW_ADD_VNAME(name,'Cen_xy_Hn__C__t',4,5,myThid)
149 CALL MNC_CW_ADD_VATTR_TEXT(name,'units','W/m^2', myThid)
150 CALL MNC_CW_ADD_VATTR_TEXT(name,'description',
151 & 'upwelling irradiance just above top of layer', myThid)
152 WRITE(name,'(a,i2.2)') 'dar_Estop',ii
153 CALL MNC_CW_ADD_VNAME(name,'Cen_xy_Hn__C__t',4,5,myThid)
154 CALL MNC_CW_ADD_VATTR_TEXT(name,'units','W/m^2', myThid)
155 CALL MNC_CW_ADD_VATTR_TEXT(name,'description',
156 & 'diffuse downwelling irradiance just below top of layer',
157 & myThid)
158 WRITE(name,'(a,i2.2)') 'dar_Eutop',ii
159 CALL MNC_CW_ADD_VNAME(name,'Cen_xy_Hn__C__t',4,5,myThid)
160 CALL MNC_CW_ADD_VATTR_TEXT(name,'units','W/m^2', myThid)
161 CALL MNC_CW_ADD_VATTR_TEXT(name,'description',
162 & 'upwelling irradiance just below top of layer', myThid)
163 enddo
164 #endif
165
166 #ifdef DAR_DIAG_IRR_AMPS
167 do ii=1,tlam
168 DO jj = 1,MAX_LEN_FNAM
169 name(jj:jj) = ' '
170 ENDDO
171 WRITE(name,'(a,i2.2)') 'dar_amp1_',ii
172 CALL MNC_CW_ADD_VNAME(name,'Cen_xy_Hn__C__t',4,5,myThid)
173 CALL MNC_CW_ADD_VATTR_TEXT(name,'units','W/m^2', myThid)
174 CALL MNC_CW_ADD_VATTR_TEXT(name,'description',
175 & 'amplitude of downward increasing mode', myThid)
176 WRITE(name,'(a,i2.2)') 'dar_amp2_',ii
177 CALL MNC_CW_ADD_VNAME(name,'Cen_xy_Hn__C__t',4,5,myThid)
178 CALL MNC_CW_ADD_VATTR_TEXT(name,'units','W/m^2', myThid)
179 CALL MNC_CW_ADD_VATTR_TEXT(name,'description',
180 & 'amplitude of downward decreasing mode', myThid)
181 enddo
182 #endif
183 #ifdef DAR_DIAG_ABSORP
184 do ii=1,tlam
185 DO jj = 1,MAX_LEN_FNAM
186 name(jj:jj) = ' '
187 ENDDO
188 WRITE(name,'(a,i2.2)') 'dar_a',ii
189 CALL MNC_CW_ADD_VNAME(name,'Cen_xy_Hn__C__t',4,5,myThid)
190 CALL MNC_CW_ADD_VATTR_TEXT(name,'units','1/m', myThid)
191 CALL MNC_CW_ADD_VATTR_TEXT(name,'description',
192 & 'total absorption coefficient', myThid)
193 enddo
194 #endif
195 #ifdef DAR_DIAG_SCATTER
196 do ii=1,tlam
197 DO jj = 1,MAX_LEN_FNAM
198 name(jj:jj) = ' '
199 ENDDO
200 WRITE(name,'(a,i2.2)') 'dar_bt',ii
201 CALL MNC_CW_ADD_VNAME(name,'Cen_xy_Hn__C__t',4,5,myThid)
202 CALL MNC_CW_ADD_VATTR_TEXT(name,'units','1/m', myThid)
203 CALL MNC_CW_ADD_VATTR_TEXT(name,'description',
204 & 'total scattering coefficient', myThid)
205 WRITE(name,'(a,i2.2)') 'dar_bb',ii
206 CALL MNC_CW_ADD_VNAME(name,'Cen_xy_Hn__C__t',4,5,myThid)
207 CALL MNC_CW_ADD_VATTR_TEXT(name,'units','1/m', myThid)
208 CALL MNC_CW_ADD_VATTR_TEXT(name,'description',
209 & 'total backscattering coefficient', myThid)
210 enddo
211 #endif
212 #ifdef DAR_DIAG_PART_SCATTER
213 do ii=1,tlam
214 DO jj = 1,MAX_LEN_FNAM
215 name(jj:jj) = ' '
216 ENDDO
217 WRITE(name,'(a,i2.2)') 'dar_apart',ii
218 CALL MNC_CW_ADD_VNAME(name,'Cen_xy_Hn__C__t',4,5,myThid)
219 CALL MNC_CW_ADD_VATTR_TEXT(name,'units','1/m', myThid)
220 CALL MNC_CW_ADD_VATTR_TEXT(name,'description',
221 & 'absorption coefficient due to particles', myThid)
222 WRITE(name,'(a,i2.2)') 'dar_btpart',ii
223 CALL MNC_CW_ADD_VNAME(name,'Cen_xy_Hn__C__t',4,5,myThid)
224 CALL MNC_CW_ADD_VATTR_TEXT(name,'units','1/m', myThid)
225 CALL MNC_CW_ADD_VATTR_TEXT(name,'description',
226 & 'scattering coefficient due to particles', myThid)
227 WRITE(name,'(a,i2.2)') 'dar_bbpart',ii
228 CALL MNC_CW_ADD_VNAME(name,'Cen_xy_Hn__C__t',4,5,myThid)
229 CALL MNC_CW_ADD_VATTR_TEXT(name,'units','1/m', myThid)
230 CALL MNC_CW_ADD_VATTR_TEXT(name,'description',
231 & 'backscattering coefficient due to particles', myThid)
232 enddo
233 #endif
234 #ifdef DAR_RADTRANS
235 DO jj = 1,MAX_LEN_FNAM
236 name(jj:jj) = ' '
237 ENDDO
238 WRITE(name,'(a)') 'dar_rmud'
239 CALL MNC_CW_ADD_VNAME(name,'Cen_xy_Hn__-__t',3,4,myThid)
240 CALL MNC_CW_ADD_VATTR_TEXT(name,'units','--', myThid)
241 CALL MNC_CW_ADD_VATTR_TEXT(name,'description',
242 & 'inverse cosine of under-water solar zenith angle', myThid)
243 #endif
244
245 c ANNA_TAVE
246 #ifdef WAVES_DIAG_PCHL
247 do np=1,npmax
248 ii=iPhy+np-1
249 DO jj = 1,MAX_LEN_FNAM
250 name(jj:jj) = ' '
251 ENDDO
252 ilnb = ILNBLNK(PTRACERS_names(ii))
253 WRITE(name,'(a,a)') 'dar_Pchl_',PTRACERS_names(ii)(1:ilnb)
254 CALL MNC_CW_ADD_VNAME(name,'Cen_xy_Hn__C__t',4,5,myThid)
255 CALL MNC_CW_ADD_VATTR_TEXT(name,'units','--', myThid)
256 CALL MNC_CW_ADD_VATTR_TEXT(name,'description','', myThid)
257 enddo
258 #endif
259 c ANNA end TAVE
260 #ifdef DAR_DIAG_RSTAR
261 do np=1,npmax
262 ii=iPhy+np-1
263 DO jj = 1,MAX_LEN_FNAM
264 name(jj:jj) = ' '
265 ENDDO
266 ilnb = ILNBLNK(PTRACERS_names(ii))
267 WRITE(name,'(a,a)') 'dar_Rstar_',PTRACERS_names(ii)(1:ilnb)
268 CALL MNC_CW_ADD_VNAME(name,'Cen_xy_Hn__C__t',4,5,myThid)
269 CALL MNC_CW_ADD_VATTR_TEXT(name,'units','--', myThid)
270 CALL MNC_CW_ADD_VATTR_TEXT(name,'description','', myThid)
271 enddo
272 do np=1,npmax
273 ii=iPhy+np-1
274 DO jj = 1,MAX_LEN_FNAM
275 name(jj:jj) = ' '
276 ENDDO
277 ilnb = ILNBLNK(PTRACERS_names(ii))
278 WRITE(name,'(a,a)') 'dar_RNstar_',PTRACERS_names(ii)(1:ilnb)
279 CALL MNC_CW_ADD_VNAME(name,'Cen_xy_Hn__C__t',4,5,myThid)
280 CALL MNC_CW_ADD_VATTR_TEXT(name,'units','--', myThid)
281 CALL MNC_CW_ADD_VATTR_TEXT(name,'description','', myThid)
282 enddo
283 #endif
284
285 #ifdef DAR_DIAG_DIVER
286 CALL MNC_CW_ADD_VNAME(
287 & 'dar_Diver1_ave', 'Cen_xy_Hn__C__t', 4,5, myThid)
288 CALL MNC_CW_ADD_VATTR_TEXT(
289 & 'dar_Diver1_ave','units','--', myThid)
290 CALL MNC_CW_ADD_VATTR_TEXT('dar_Diver1_ave','description',
291 & '', myThid)
292
293 CALL MNC_CW_ADD_VNAME(
294 & 'dar_Diver2_ave', 'Cen_xy_Hn__C__t', 4,5, myThid)
295 CALL MNC_CW_ADD_VATTR_TEXT(
296 & 'dar_Diver2_ave','units','--', myThid)
297 CALL MNC_CW_ADD_VATTR_TEXT('dar_Diver2_ave','description',
298 & '', myThid)
299
300 CALL MNC_CW_ADD_VNAME(
301 & 'dar_Diver3_ave', 'Cen_xy_Hn__C__t', 4,5, myThid)
302 CALL MNC_CW_ADD_VATTR_TEXT(
303 & 'dar_Diver3_ave','units','--', myThid)
304 CALL MNC_CW_ADD_VATTR_TEXT('dar_Diver3_ave','description',
305 & '', myThid)
306
307 CALL MNC_CW_ADD_VNAME(
308 & 'dar_Diver4_ave', 'Cen_xy_Hn__C__t', 4,5, myThid)
309 CALL MNC_CW_ADD_VATTR_TEXT(
310 & 'dar_Diver4_ave','units','--', myThid)
311 CALL MNC_CW_ADD_VATTR_TEXT('dar_Diver4_ave','description',
312 & '', myThid)
313
314 #endif
315 #ifdef DAR_DIAG_GROW
316 do np=1,npmax
317 ii=iPhy+np-1
318 DO jj = 1,MAX_LEN_FNAM
319 name(jj:jj) = ' '
320 ENDDO
321 ilnb = ILNBLNK(PTRACERS_names(ii))
322 WRITE(name,'(a,a)') 'dar_Grow_',PTRACERS_names(ii)(1:ilnb)
323 CALL MNC_CW_ADD_VNAME(name,'Cen_xy_Hn__C__t',4,5,myThid)
324 CALL MNC_CW_ADD_VATTR_TEXT(name,'units','--', myThid)
325 CALL MNC_CW_ADD_VATTR_TEXT(name,'description','', myThid)
326 enddo
327 do np=1,npmax
328 ii=iPhy+np-1
329 DO jj = 1,MAX_LEN_FNAM
330 name(jj:jj) = ' '
331 ENDDO
332 ilnb = ILNBLNK(PTRACERS_names(ii))
333 WRITE(name,'(a,a)') 'dar_Growsq_',PTRACERS_names(ii)(1:ilnb)
334 CALL MNC_CW_ADD_VNAME(name,'Cen_xy_Hn__C__t',4,5,myThid)
335 CALL MNC_CW_ADD_VATTR_TEXT(name,'units','--', myThid)
336 CALL MNC_CW_ADD_VATTR_TEXT(name,'description','', myThid)
337 enddo
338 #endif
339
340 #ifdef ALLOW_DIAZ
341 #ifdef DAR_DIAG_NFIXP
342 do np=1,npmax
343 ii=iPhy+np-1
344 DO jj = 1,MAX_LEN_FNAM
345 name(jj:jj) = ' '
346 ENDDO
347 ilnb = ILNBLNK(PTRACERS_names(ii))
348 WRITE(name,'(a,a)') 'dar_NfixP_',PTRACERS_names(ii)(1:ilnb)
349 CALL MNC_CW_ADD_VNAME(name,'Cen_xy_Hn__C__t',4,5,myThid)
350 CALL MNC_CW_ADD_VATTR_TEXT(name,'units','--', myThid)
351 CALL MNC_CW_ADD_VATTR_TEXT(name,'description','', myThid)
352 enddo
353 #endif
354 #endif
355
356
357
358 c CALL MNC_CW_ADD_VNAME(
359 c & 'dic_pH_ave', 'Cen_xy_Hn__-__t', 3,4, myThid)
360 c CALL MNC_CW_ADD_VATTR_TEXT(
361 c & 'dic_pH_ave','units','--', myThid)
362 c CALL MNC_CW_ADD_VATTR_TEXT('dic_pH_ave','description',
363 c & '', myThid)
364
365 ENDIF
366
367 #endif /* ALLOW_MNC */
368 #endif /* ALLOW_DARWIN */
369
370 RETURN
371 END

  ViewVC Help
Powered by ViewVC 1.1.22