/[MITgcm]/MITgcm_contrib/darwin2/pkg/quota/quota_init_fixed.F
ViewVC logotype

Contents of /MITgcm_contrib/darwin2/pkg/quota/quota_init_fixed.F

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


Revision 1.5 - (show annotations) (download)
Tue May 19 15:23:46 2015 UTC (10 years, 2 months ago) by benw
Branch: MAIN
CVS Tags: ctrb_darwin2_ckpt65w_20160512, ctrb_darwin2_ckpt66g_20170424, ctrb_darwin2_ckpt66k_20171025, ctrb_darwin2_ckpt66n_20180118, ctrb_darwin2_ckpt65v_20160409, ctrb_darwin2_ckpt65s_20160114, ctrb_darwin2_ckpt66d_20170214, ctrb_darwin2_ckpt65m_20150615, ctrb_darwin2_ckpt65q_20151118, ctrb_darwin2_ckpt65o_20150914, ctrb_darwin2_ckpt65p_20151023, ctrb_darwin2_ckpt65z_20160929, ctrb_darwin2_ckpt65n_20150729, ctrb_darwin2_ckpt66h_20170602, ctrb_darwin2_ckpt65x_20160612, ctrb_darwin2_ckpt66f_20170407, ctrb_darwin2_ckpt66a_20161020, ctrb_darwin2_ckpt66b_20161219, ctrb_darwin2_ckpt66j_20170815, ctrb_darwin2_ckpt65y_20160801, ctrb_darwin2_ckpt66c_20170121, ctrb_darwin2_ckpt65t_20160221, ctrb_darwin2_ckpt66o_20180209, ctrb_darwin2_ckpt66e_20170314, ctrb_darwin2_ckpt65u_20160315, ctrb_darwin2_ckpt65r_20151221, ctrb_darwin2_ckpt66i_20170718, ctrb_darwin2_ckpt66l_20171025, ctrb_darwin2_ckpt66m_20171213, HEAD
Changes since 1.4: +39 -41 lines
Ben Ward - modifications to parameters and some structural changes
         - performs much better at OWS Mike

1 C $Header: /u/gcmpack/MITgcm_contrib/darwin2/pkg/quota/quota_init_fixed.F,v 1.4 2015/05/19 14:32:43 benw Exp $
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_DARWIN
10 #ifdef ALLOW_QUOTA
11
12 c===============================================================================
13 C===============================================================================
14 CStartofinterface
15 SUBROUTINE QUOTA_INIT_FIXED(myThid)
16 C =============== Global data ==========================================
17 C === Global variables ===
18 implicit none
19 #include "SIZE.h"
20 #include "EEPARAMS.h"
21 #include "PARAMS.h"
22 #include "GRID.h"
23 #include "DYNVARS.h"
24 #include "GCHEM.h"
25 #include "DARWIN_PARAMS.h"
26 #include "QUOTA_SIZE.h"
27 #include "QUOTA.h"
28
29 INTEGER myThid
30 C============== Local variables ============================================
31 C msgBuf - Informational/error meesage buffer
32 CHARACTER*(MAX_LEN_MBUF) msgBuf
33 _RL pday
34 INTEGER i,j,k,bi,bj,ii,jp,ko
35 INTEGER tmp
36 INTEGER prec
37 CHARACTER*(MAX_LEN_MBUF) fn
38 C /--------------------------------------------------------------\
39 C | initialise common block biochemical parameters |
40 C \--------------------------------------------------------------/
41
42 WRITE(msgBuf,'(A)')
43 &'// ======================================================='
44 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
45 & SQUEEZE_RIGHT, myThid )
46 WRITE(msgBuf,'(A)') '// Quota loading parameters'
47 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
48 & SQUEEZE_RIGHT, myThid )
49 WRITE(msgBuf,'(A)')
50 &'// ======================================================='
51 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
52 & SQUEEZE_RIGHT, myThid )
53
54
55 c c define 1 day in seconds
56 pday = 86400.0 _d 0
57 c par parameters
58 parfrac= 0.4 _d 0 !fraction Qsw that is PAR
59 parconv= 1. _d 0/0.2174 _d 0 !conversion from W/m2 to uEin/m2/s
60
61 istar=90. _d 0 ! w/m2
62 c
63 c
64 c set temperature function
65 tempcoeff1 = 1. _d 0/3. _d 0
66 tempcoeff2_small = 0.001 _d 0
67 tempcoeff2_big = 0.0003 _d 0
68 tempcoeff3 = 1.04 _d 0
69 tempmax = 20. _d 0 ! 32. _d 0
70 temprange = 22. _d 0 ! 30. _d 0
71 tempnorm = 0.3 _d 0 ! 1. _d 0
72 tempdecay = 4. _d 0
73
74 c set up diagnostics
75 #ifdef ALLOW_MNC
76 IF ( useMNC ) THEN
77 CALL DARWIN_MNC_INIT( myThid )
78 ENDIF
79 #endif /* ALLOW_MNC */
80
81 COJ set up diagnostics
82 #ifdef ALLOW_DIAGNOSTICS
83 IF ( useDIAGNOSTICS ) THEN
84 CALL QUOTA_DIAGNOSTICS_INIT( myThid )
85 ENDIF
86 #endif /* ALLOW_DIAGNOSTICS */
87 COJ
88 c-----------------------------------------------------
89 c "Standard" parameters
90 ! maximum assimilation efficiency
91 ass_eff = 0.70 _d 0
92 ! prey switching exponent
93 ns = 2
94 ! hill number for grazing
95 hill = 0.10 _d 0
96 ! grazing refuge
97 Lambda = -1.00 _d 0
98 ! organic matter sinking rate
99 orgsink(1) = 0.00 _d 0 /pday
100 orgsink(2) = 10.00 _d 0 /pday
101 ! cost of biosynthesis
102 biosynth = 2.33 _d 0
103 ! nitrogen uptake
104 amminhib = 4.60 _d 0
105 ! nitrification
106 amm2nrite = 2.00 _d 0 /pday
107 nrite2nrate = 0.10 _d 0 /pday
108 PAR0 = 10.0 _d 0
109 ! iron
110 ! alpfe = 1.00 _d 0 ! 3D model
111 alpfe = 0.05 _d 0 ! 1D model
112 ! scav = 1.10 _d -3 /pday
113 scav = 4.40 _d -3 /pday
114
115 ligand_stab = 2.00 _d +5
116 ligand_tot = 1.00 _d -3
117 freefemax = 0.10 _d -3
118 #ifdef IRON_SED_SOURCE
119 c iron sediment source
120 depthfesed=1000.0 _d 0 !depth above which to add sediment source
121 fesedflux =1.0 _d 0 * 1.0 _d -3 / (86400.0 _d 0) !iron flux (mmol/m2/s)
122 fesedflux_pcm =0.68 _d 0 * 1.0 _d -3 !iron flux (mmol/m3/s) per
123 c mmol POC/m3/s
124 #endif
125 ! basic light
126 k_w = 0.04 _d 0 ! m^-1
127 k_chl = 0.03 _d 0 ! m^-1 (mg chl)^-1
128 chl2nmax = 3.00 _d 0 ! Moore 2002 (labelled as GD98)
129 ! chl2nmax = 5.6 _d 0 ! Geider 1998
130 c-----------------------------------------------------
131 c ALLOMETRIC PARAMETERS
132 c parameter = aV^b
133 c if errors are relative (*/) then state as "log(error)"
134 c if errors are absolute (+-) then state as "error"
135 cccccccccccccccccccccccccccccccccccccccccccccccccccccc
136 ! Initial slope of PI curve
137 a_alphachl = 3.83 _d -7 ! mmol C (mg chl a)^-1 (mu Ein m^-2)^-1
138 ae_alphachl = 1.00 _d 0
139 b_alphachl = 0.00 _d 0
140 be_alphachl = 0.00 _d 0
141 cccccccccccccccccccccccccccccccccccccccccccccccccccccc
142 ! maximum specific grazing rate
143 a_graz = 21.9 _d 0 / pday ! d^-1
144 ae_graz = 1.00 _d 0
145 b_graz = -0.16 _d 0
146 be_graz = 0.02 _d 0
147 ! half saturation grazing prey carbon concentration
148 a_kg = 5.00 _d 0 ! mmol C m^-3
149 ae_kg = 3.80 _d 0
150 b_kg = 0.00 _d 0
151 be_kg = 0.03 _d 0
152 cccccccccccccccccccccccccccccccccccccccccccccccccccccc
153 ! sinking (enter as positive downwards)
154 a_biosink = 0.0 _d 0 ! assume sinking either negligable or balanced by motility
155 ! a_biosink = 0.28 _d -1 / pday ! m d^-1
156 ae_biosink = 1.00 _d 0
157 b_biosink = 0.39 _d 0 ! from Laws (1975) by "inspection" of Smada (1967)
158 be_biosink = 0.00 _d 0
159 cccccccccccccccccccccccccccccccccccccccccccccccccccccc
160 ! mortality
161 a_mort = 0.25 _d -1 / pday ! d^-1
162 ae_mort = 1.00 _d 0
163 b_mort = 0.00 _d 0
164 be_mort = 0.00 _d 0
165 ! predator prey preference distribution parameters
166 a_prdpry = 1024. _d 0 ! dimensionless
167 ae_prdpry = 1.00 _d 0
168 b_prdpry = 0.00 _d 0
169 be_prdpry = 0.00 _d 0
170 cccccccccccccccccccccccccccccccccccccccccccccccccccccc
171 ! carbon
172 ! max photosynthetic rate (modified in quota_generate_plankton.F)
173 a_vmaxi(iDIC) = 1.00 _d 0 / pday ! d^-1
174 ae_vmaxi(iDIC) = 1.00 _d 0
175 b_vmaxi(iDIC) = -0.15 _d 0
176 be_vmaxi(iDIC) = 0.05 _d 0
177 ! cellular carbon content
178 a_qcarbon = 1.45 _d -11 ! mmol C cell^-1
179 ae_qcarbon = 1.36 _d 0
180 b_qcarbon = 0.88 _d 0
181 be_qcarbon = 0.04 _d 0
182 ! respiration
183 a_respir = 0.00 _d 0 / pday ! d^-1
184 ae_respir = 1.00 _d 0
185 b_respir = 0.00 _d 0
186 be_respir = 0.00 _d 0
187 ! carbon excretion
188 ! a_kexc(iCarb) = 0.32 _d -1 / pday ! d^-1
189 a_kexc(iCarb) = 0.00 _d 0
190 ae_kexc(iCarb) = 1.36 _d 0
191 b_kexc(iCarb) = -0.33 _d 0
192 be_kexc(iCarb) = 0.09 _d 0
193 ! fraction grazing to DOC
194 a_beta_graz(iCarb) = 1.00 _d 0
195 ae_beta_graz(iCarb) = 1.00 _d 0
196 b_beta_graz(iCarb) = -0.40 _d 0
197 be_beta_graz(iCarb) = 0.00 _d 0
198 ! fraction mortality to DOC
199 a_beta_mort(iCarb) = 1.00 _d 0
200 ae_beta_mort(iCarb) = 1.00 _d 0
201 b_beta_mort(iCarb) = -0.40 _d 0
202 be_beta_mort(iCarb) = 0.00 _d 0
203 ! carbon remineralisation rate
204 remin(iCarb,1) = 0.02 _d 0 /pday
205 remin(iCarb,2) = 0.04 _d 0 /pday
206 ! nitrogen & nitrate
207 ! maximum NO3 uptake rate
208 a_vmaxi(iNO3) = 0.44 _d 0 / pday !0.51 _d 0 / pday ! mmol N (mmol C)^-1 d^-1
209 ae_vmaxi(iNO3) = 1.00 _d 0
210 b_vmaxi(iNO3) = -0.12 _d 0!-0.27 _d 0
211 be_vmaxi(iNO3) = 0.00 _d 0
212 ! NO3 half-saturation
213 a_kn(iNO3) = 0.14 _d 0 ! (mmol N m^-3)
214 ae_kn(iNO3) = 1.36 _d 0
215 b_kn(iNO3) = 0.33 _d 0
216 be_kn(iNO3) = 0.07 _d 0
217 ! N minimum quota
218 a_qmin(iNitr) = 0.05 _d 0 ! mmol N (mmol C)^-1
219 ae_qmin(iNitr) = 1.00 _d 0
220 b_qmin(iNitr) = 0.00 _d 0
221 be_qmin(iNitr) = 0.00 _d 0
222 ! N maximum quota
223 a_qmax(iNitr) = 0.17 _d 0 ! mmol N (mmol C)^-1
224 ae_qmax(iNitr) = 1.00 _d 0
225 b_qmax(iNitr) = 0.00 _d 0
226 be_qmax(iNitr) = 0.00 _d 0
227 ! nitrogen excretion
228 a_kexc(iNitr) = 0.00 _d 0
229 ae_kexc(iNitr) = 1.36 _d 0
230 b_kexc(iNitr) = -0.33 _d 0
231 be_kexc(iNitr) = 0.09 _d 0
232 ! fraction grazing to DON
233 a_beta_graz(iNitr) = 0.75 _d 0
234 ae_beta_graz(iNitr) = 1.00 _d 0
235 b_beta_graz(iNitr) = -0.25 _d 0
236 be_beta_graz(iNitr) = 0.00 _d 0
237 ! fraction mortality to DON
238 a_beta_mort(iNitr) = 0.75 _d 0
239 ae_beta_mort(iNitr) = 1.00 _d 0
240 b_beta_mort(iNitr) = -0.25 _d 0
241 be_beta_mort(iNitr) = 0.00 _d 0
242 ! N remineralisation rate
243 remin(iNitr,1) = 0.02 _d 0 /pday
244 remin(iNitr,2) = 0.04 _d 0 /pday
245 #ifdef NITRITE
246 ! nitrite
247 ! maximum NO2 uptake rate
248 a_vmaxi(iNO2) = a_vmaxi(iNO3) ! mmol N (mmol C)^-1 d^-1
249 ae_vmaxi(iNO2) = 1.36 _d 0
250 b_vmaxi(iNO2) = b_vmaxi(iNO3)
251 be_vmaxi(iNO2) = 0.07 _d 0
252 ! NO2 half-saturation
253 a_kn(iNO2) = a_kn(iNO3) ! (mmol N m^-3)
254 ae_kn(iNO2) = 1.36 _d 0
255 b_kn(iNO2) = b_kn(iNO3)
256 be_kn(iNO2) = 0.08 _d 0
257 #endif
258 #ifdef AMMON
259 ! ammonium
260 ! maximum NH4 uptake rate
261 a_vmaxi(iNH4) = a_vmaxi(iNO3)/2.0 _d 0 ! mmol N (mmol C)^-1 d^-1
262 ae_vmaxi(iNH4) = 1.36 _d 0
263 b_vmaxi(iNH4) = b_vmaxi(iNO3)
264 be_vmaxi(iNH4) = 0.07 _d 0
265 ! NH4 half-saturation
266 a_kn(iNH4) = a_kn(iNO3)/2.0 _d 0 ! (mmol N m^-3)
267 ae_kn(iNH4) = 1.36 _d 0
268 b_kn(iNH4) = b_kn(iNO3)
269 be_kn(iNH4) = 0.08 _d 0
270 #endif
271 #ifdef PQUOTA
272 ! phosphate
273 ! maximum PO4 uptake rate
274 a_vmaxi(iPO4) = 0.44 _d -1 / pday ! mmol P (mmol C)^-1 d^-1
275 ae_vmaxi(iPO4) = 1.36 _d 0
276 b_vmaxi(iPO4) = 0.06 _d 0
277 be_vmaxi(iPO4) = 0.07 _d 0
278 ! PO4 half-saturation
279 a_kn(iPO4) = 0.04 _d 0 ! (mmol N m^-3)
280 ae_kn(iPO4) = 1.36 _d 0
281 b_kn(iPO4) = 0.41 _d 0
282 be_kn(iPO4) = 0.08 _d 0
283 ! minimum P quota
284 a_qmin(iPhos) = 2.13 _d -3 ! mmol N (mmol C)^-1
285 ae_qmin(iPhos) = 1.00 _d 0
286 b_qmin(iPhos) = 0.00 _d 0
287 be_qmin(iPhos) = 0.00 _d 0
288 ! maximum P quota
289 a_qmax(iPhos) = 1.06 _d -2 ! mmol N (mmol C)^-1
290 ae_qmax(iPhos) = 1.20 _d 0
291 b_qmax(iPhos) = 0.05 _d 0
292 be_qmax(iPhos) = 0.00 _d 0
293 ! P excretion
294 a_kexc(iPhos) = 0.00 _d -1 / pday ! d^-1
295 ae_kexc(iPhos) = 1.36 _d 0
296 b_kexc(iPhos) = -0.33 _d 0
297 be_kexc(iPhos) = 0.09 _d 0
298 ! fraction grazing to DOP
299 a_beta_graz(iPhos) = 0.75 _d 0
300 ae_beta_graz(iPhos) = 1.00 _d 0
301 b_beta_graz(iPhos) = -0.25 _d 0
302 be_beta_graz(iPhos) = 0.00 _d 0
303 ! fraction mortality to DOP
304 a_beta_mort(iPhos) = 0.75 _d 0
305 ae_beta_mort(iPhos) = 1.00 _d 0
306 b_beta_mort(iPhos) = -0.25 _d 0
307 be_beta_mort(iPhos) = 0.00 _d 0
308 ! P remineralisation rate
309 remin(iPhos,1) = 0.02 _d 0 /pday
310 remin(iPhos,2) = 0.04 _d 0 /pday
311 #endif
312 #ifdef SQUOTA
313 ! silicate
314 ! maximum Si uptake rate
315 a_vmaxi(iSi) = 0.77 _d -1 / pday ! mmol Si (mmol C)^-1 d^-1
316 ae_vmaxi(iSi) = 1.36 _d 0
317 b_vmaxi(iSi) = -0.27 _d 0
318 be_vmaxi(iSi) = 0.07 _d 0
319 ! Si half-saturation
320 a_kn(iSi) = 0.24 _d -1 ! (mmol Si m^-3)
321 ae_kn(iSi) = 1.36 _d 0
322 b_kn(iSi) = 0.27 _d 0
323 be_kn(iSi) = 0.08 _d 0
324 ! minimum Si quota
325 ! a_qmin(iSili) = 0.84 _d -1 ! mmol Si (mmol C)^-1
326 ! ae_qmin(iSili) = 1.00 _d 0
327 ! b_qmin(iSili) = -0.17 _d 0
328 ! be_qmin(iSili) = 0.00 _d 0
329 a_qmin(iSili) = 2.00 _d -3 ! mmol Si (mmol C)^-1
330 ae_qmin(iSili) = 1.00 _d 0
331 b_qmin(iSili) = 0.00 _d 0
332 be_qmin(iSili) = 0.00 _d 0
333 ! maximum Si quota
334 ! a_qmax(iSili) = 0.30 _d 0 ! mmol Si (mmol C)^-1
335 ! ae_qmax(iSili) = 1.00 _d 0
336 ! b_qmax(iSili) = -0.13 _d 0
337 ! be_qmax(iSili) = 0.00 _d 0
338 a_qmax(iSili) = 4.00 _d -3 ! mmol Si (mmol C)^-1
339 ae_qmax(iSili) = 1.20 _d 0
340 b_qmax(iSili) = 0.00 _d 0
341 be_qmax(iSili) = 0.00 _d 0
342 ! Si excretion
343 a_kexc(iSili) = 0.00 _d 0 / pday ! d^-1
344 ae_kexc(iSili) = 1.00 _d 0
345 b_kexc(iSili) = 0.00 _d 0
346 be_kexc(iSili) = 0.00 _d 0
347 ! fraction grazing to DOSi
348 a_beta_graz(iSili) = 0.00 _d 0
349 ae_beta_graz(iSili) = 1.00 _d 0
350 b_beta_graz(iSili) = 0.00 _d 0
351 be_beta_graz(iSili) = 0.00 _d 0
352 ! fraction mortality to DOSi
353 a_beta_mort(iSili) = 0.00 _d 0
354 ae_beta_mort(iSili) = 1.00 _d 0
355 b_beta_mort(iSili) = 0.00 _d 0
356 be_beta_mort(iSili) = 0.00 _d 0
357 ! POSi remineralisation rate
358 remin(iSili,1) = 0.00 _d 0 /pday
359 remin(iSili,2) = 0.33 _d -2 /pday
360 #endif
361 #ifdef FQUOTA
362 ! iron
363 ! maximum Fe uptake rate
364 ! a_vmaxi(iFeT) = 96.2 _d -6 / pday ! mmol Fe (mmol C)^-1 d^-1
365 ! a_vmaxi(iFeT) = 14.0 _d -6 / pday
366 a_vmaxi(iFeT) = 14.0 _d -5 / pday
367 ae_vmaxi(iFeT) = 1.36 _d 0
368 ! b_vmaxi(iFeT) = -0.27 _d 0
369 b_vmaxi(iFeT) = -0.09 _d 0
370 be_vmaxi(iFeT) = 0.07 _d 0
371 ! Fe half-saturation
372 ! a_kn(ifeT) = 32.1 _d -6 ! (mmol N m^-3)
373 ! a_kn(ifeT) = 80.0 _d -6
374 a_kn(ifeT) = 80.0 _d -5
375 ae_kn(iFeT) = 1.36 _d 0
376 b_kn(iFeT) = 0.27 _d 0
377 be_kn(iFeT) = 0.08 _d 0
378 ! minimum Fe quota
379 a_qmin(iIron) = 5.00 _d -6 ! mmol N (mmol C)^-1
380 ae_qmin(iIron) = 1.00 _d 0
381 b_qmin(iIron) = 0.00 _d 0
382 be_qmin(iIron) = 0.00 _d 0
383 ! maximum Fe quota
384 a_qmax(iIron) = 20.0 _d -6 ! mmol N (mmol C)^-1
385 ae_qmax(iIron) = 1.20 _d 0
386 b_qmax(iIron) = 0.00 _d 0
387 be_qmax(iIron) = 0.00 _d 0
388 ! Fe excretion
389 a_kexc(iIron) = 0.00 _d 0 / pday ! d^-1
390 ae_kexc(iIron) = 1.00 _d 0
391 b_kexc(iIron) = 0.00 _d 0
392 be_kexc(iIron) = 0.00 _d 0
393 ! fraction grazing to DOFe
394 a_beta_graz(iIron) = 0.75 _d 0
395 ae_beta_graz(iIron) = 1.00 _d 0
396 b_beta_graz(iIron) = -0.25 _d 0
397 be_beta_graz(iIron) = 0.00 _d 0
398 ! fraction mortality to DOFe
399 a_beta_mort(iIron) = 0.75 _d 0
400 ae_beta_mort(iIron) = 1.00 _d 0
401 b_beta_mort(iIron) = -0.25 _d 0
402 be_beta_mort(iIron) = 0.00 _d 0
403 ! Fe remineralisation rate
404 remin(iIron,1) = 0.02 _d 0 /pday
405 remin(iIron,2) = 0.04 _d 0 /pday
406 #endif
407 cccccccccccccccccccccccccccccccccccccccccccccccccccccc
408 c end allometric scaling
409 cccccccccccccccccccccccccccccccccccccccccccccccccccccc
410
411 RETURN
412 END
413 C============================================================================
414 #endif /*ALLOW_QUOTA*/
415 #endif /*ALLOW_DARWIN*/
416 #endif /*ALLOW_PTRACERS*/

  ViewVC Help
Powered by ViewVC 1.1.22