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

Annotation 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.4 - (hide annotations) (download)
Tue May 19 14:32:43 2015 UTC (10 years, 3 months ago) by benw
Branch: MAIN
Changes since 1.3: +36 -34 lines
Ben Ward - some superficial structural changes allowing runs with no pfts
         - more significant structural and parameter changes to follow later

1 benw 1.4 C $Header: /u/gcmpack/MITgcm_contrib/darwin2/pkg/quota/quota_init_fixed.F,v 1.3 2014/01/17 17:59:30 jahn Exp $
2 jahn 1.1 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 jahn 1.3 CALL QUOTA_DIAGNOSTICS_INIT( myThid )
85 jahn 1.1 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 benw 1.4 ! prey switching exponent
93     ns = 2
94     ! hill number for grazing
95     hill = 0.10 _d 0
96     hill = 1.00 _d 0
97     ! grazing refuge
98     Lambda = -1.00 _d 0
99 jahn 1.1 ! organic matter sinking rate
100     orgsink(1) = 0.00 _d 0 /pday
101 benw 1.4 orgsink(2) = 10.00 _d 0 /pday
102 jahn 1.1 ! cost of biosynthesis
103     biosynth = 2.33 _d 0
104     ! nitrogen uptake
105     amminhib = 4.60 _d 0
106     ! nitrification
107     amm2nrite = 2.00 _d 0 /pday
108     nrite2nrate = 0.10 _d 0 /pday
109     PAR0 = 10.0 _d 0
110     ! iron
111     ! alpfe = 1.00 _d 0 ! 3D model
112     alpfe = 0.05 _d 0 ! 1D model
113 benw 1.2 ! scav = 1.10 _d -3 /pday
114     scav = 4.40 _d -3 /pday
115    
116 jahn 1.1 ligand_stab = 2.00 _d +5
117     ligand_tot = 1.00 _d -3
118     freefemax = 0.10 _d -3
119     #ifdef IRON_SED_SOURCE
120     c iron sediment source
121     depthfesed=1000.0 _d 0 !depth above which to add sediment source
122     fesedflux =1.0 _d 0 * 1.0 _d -3 / (86400.0 _d 0) !iron flux (mmol/m2/s)
123     fesedflux_pcm =0.68 _d 0 * 1.0 _d -3 !iron flux (mmol/m3/s) per
124     c mmol POC/m3/s
125     #endif
126     ! basic light
127 benw 1.4 k_w = 0.04 _d 0 ! m^-1
128     k_chl = 0.03 _d 0 ! m^-1 (mg chl)^-1
129 benw 1.2 chl2nmax = 3.00 _d 0 ! Moore 2002 (labelled as GD98)
130     ! chl2nmax = 5.6 _d 0 ! Geider 1998
131 jahn 1.1 c-----------------------------------------------------
132     c ALLOMETRIC PARAMETERS
133     c parameter = aV^b
134     c if errors are relative (*/) then state as "log(error)"
135     c if errors are absolute (+-) then state as "error"
136     cccccccccccccccccccccccccccccccccccccccccccccccccccccc
137     ! Initial slope of PI curve
138     a_alphachl = 3.83 _d -7 ! mmol C (mg chl a)^-1 (mu Ein m^-2)^-1
139     ae_alphachl = 1.00 _d 0
140     b_alphachl = 0.00 _d 0
141     be_alphachl = 0.00 _d 0
142     cccccccccccccccccccccccccccccccccccccccccccccccccccccc
143     ! maximum specific grazing rate
144     a_graz = 21.9 _d 0 / pday ! d^-1
145     ae_graz = 1.00 _d 0
146     b_graz = -0.16 _d 0
147     be_graz = 0.02 _d 0
148     ! half saturation grazing prey carbon concentration
149 benw 1.2 a_kg = 1.00 _d 0 ! mmol C m^-3
150 benw 1.4 ! a_kg = 5.00 _d 0 ! mmol C m^-3
151 jahn 1.1 ae_kg = 3.80 _d 0
152     b_kg = 0.00 _d 0
153     be_kg = 0.03 _d 0
154     cccccccccccccccccccccccccccccccccccccccccccccccccccccc
155     ! sinking (enter as positive downwards)
156 benw 1.4 ! a_biosink = 0.0 _d 0 ! assume sinking either negligable or balanced by motility
157 jahn 1.1 a_biosink = 0.28 _d -1 / pday ! m d^-1
158     ae_biosink = 1.00 _d 0
159 benw 1.4 b_biosink = 0.39 _d 0 ! from Laws (1975) by "inspection" of Smada (1967)
160     be_biosink = 0.00 _d 0
161 jahn 1.1 cccccccccccccccccccccccccccccccccccccccccccccccccccccc
162     ! mortality
163 benw 1.2 a_mort = 0.02 _d 0 / pday ! d^-1
164 jahn 1.1 ae_mort = 1.00 _d 0
165     b_mort = 0.00 _d 0
166     be_mort = 0.00 _d 0
167     ! predator prey preference distribution parameters
168     a_prdpry = 1024. _d 0 ! dimensionless
169     ae_prdpry = 1.00 _d 0
170     b_prdpry = 0.00 _d 0
171     be_prdpry = 0.00 _d 0
172     cccccccccccccccccccccccccccccccccccccccccccccccccccccc
173     ! carbon
174     ! max photosynthetic rate (modified in quota_generate_plankton.F)
175     a_vmaxi(iDIC) = 1.00 _d 0 / pday ! d^-1
176     ae_vmaxi(iDIC) = 1.00 _d 0
177     b_vmaxi(iDIC) = -0.15 _d 0
178     be_vmaxi(iDIC) = 0.05 _d 0
179     ! cellular carbon content
180     a_qcarbon = 1.80 _d -11 ! mmol C cell^-1
181     ae_qcarbon = 1.36 _d 0
182     b_qcarbon = 0.94 _d 0
183     be_qcarbon = 0.04 _d 0
184 benw 1.4 ! respiration
185     a_respir = 0.00 _d 0 / pday ! d^-1
186 jahn 1.1 ae_respir = 1.00 _d 0
187 benw 1.4 b_respir = 0.00 _d 0
188 jahn 1.1 be_respir = 0.00 _d 0
189     ! carbon excretion
190     ! a_kexc(iCarb) = 0.32 _d -1 / pday ! d^-1
191     a_kexc(iCarb) = 0.00 _d 0
192     ae_kexc(iCarb) = 1.36 _d 0
193     b_kexc(iCarb) = -0.33 _d 0
194     be_kexc(iCarb) = 0.09 _d 0
195     ! fraction grazing to DOC
196 benw 1.2 a_beta_graz(iCarb) = 1.00 _d 0
197 jahn 1.1 ae_beta_graz(iCarb) = 1.00 _d 0
198 benw 1.2 b_beta_graz(iCarb) = -0.40 _d 0
199 jahn 1.1 be_beta_graz(iCarb) = 0.00 _d 0
200     ! fraction mortality to DOC
201 benw 1.2 a_beta_mort(iCarb) = 1.00 _d 0
202 jahn 1.1 ae_beta_mort(iCarb) = 1.00 _d 0
203 benw 1.2 b_beta_mort(iCarb) = -0.40 _d 0
204 jahn 1.1 be_beta_mort(iCarb) = 0.00 _d 0
205     ! carbon remineralisation rate
206 benw 1.2 remin(iCarb,1) = 0.02 _d 0 /pday
207     remin(iCarb,2) = 0.04 _d 0 /pday
208 jahn 1.1 ! nitrogen & nitrate
209     ! maximum NO3 uptake rate
210     a_vmaxi(iNO3) = 0.51 _d 0 / pday ! mmol N (mmol C)^-1 d^-1
211     ae_vmaxi(iNO3) = 1.00 _d 0
212     b_vmaxi(iNO3) = -0.27 _d 0
213     be_vmaxi(iNO3) = 0.00 _d 0
214     ! NO3 half-saturation
215     a_kn(iNO3) = 0.17 _d 0 ! (mmol N m^-3)
216     ae_kn(iNO3) = 1.36 _d 0
217     b_kn(iNO3) = 0.27 _d 0
218     be_kn(iNO3) = 0.07 _d 0
219     ! N minimum quota
220     a_qmin(iNitr) = 0.07 _d 0 ! mmol N (mmol C)^-1
221     ae_qmin(iNitr) = 1.00 _d 0
222     b_qmin(iNitr) = -0.17 _d 0
223     be_qmin(iNitr) = 0.00 _d 0
224     ! N maximum quota
225     a_qmax(iNitr) = 0.25 _d 0 ! mmol N (mmol C)^-1
226     ae_qmax(iNitr) = 1.00 _d 0
227     b_qmax(iNitr) = -0.13 _d 0
228     be_qmax(iNitr) = 0.00 _d 0
229     ! nitrogen excretion
230     a_kexc(iNitr) = 0.24 _d -1 / pday ! d^-1
231     a_kexc(iNitr) = 0.00 _d 0
232     ae_kexc(iNitr) = 1.36 _d 0
233     b_kexc(iNitr) = -0.33 _d 0
234     be_kexc(iNitr) = 0.09 _d 0
235     ! fraction grazing to DON
236 benw 1.2 a_beta_graz(iNitr) = 1.00 _d 0
237 jahn 1.1 ae_beta_graz(iNitr) = 1.00 _d 0
238 benw 1.2 b_beta_graz(iNitr) = -0.40 _d 0
239 jahn 1.1 be_beta_graz(iNitr) = 0.00 _d 0
240     ! fraction mortality to DON
241 benw 1.2 a_beta_mort(iNitr) = 1.00 _d 0
242 jahn 1.1 ae_beta_mort(iNitr) = 1.00 _d 0
243 benw 1.2 b_beta_mort(iNitr) = -0.40 _d 0
244 jahn 1.1 be_beta_mort(iNitr) = 0.00 _d 0
245     ! N remineralisation rate
246 benw 1.2 remin(iNitr,1) = 0.02 _d 0 /pday
247     remin(iNitr,2) = 0.04 _d 0 /pday
248 jahn 1.1 #ifdef NITRITE
249     ! nitrite
250     ! maximum NO2 uptake rate
251     a_vmaxi(iNO2) = 0.51 _d 0 / pday ! mmol N (mmol C)^-1 d^-1
252     ae_vmaxi(iNO2) = 1.36 _d 0
253     b_vmaxi(iNO2) = -0.27 _d 0
254     be_vmaxi(iNO2) = 0.07 _d 0
255     ! NO2 half-saturation
256     a_kn(iNO2) = 0.17 _d 0 ! (mmol N m^-3)
257     ae_kn(iNO2) = 1.36 _d 0
258     b_kn(iNO2) = 0.27 _d 0
259     be_kn(iNO2) = 0.08 _d 0
260     #endif
261     #ifdef AMMON
262     ! ammonium
263     ! maximum NH4 uptake rate
264     a_vmaxi(iNH4) = 0.26 _d 0 / pday ! mmol N (mmol C)^-1 d^-1
265     ae_vmaxi(iNH4) = 1.36 _d 0
266     b_vmaxi(iNH4) = -0.27 _d 0
267     be_vmaxi(iNH4) = 0.07 _d 0
268     ! NH4 half-saturation
269     a_kn(iNH4) = 0.85 _d -1 ! (mmol N m^-3)
270     ae_kn(iNH4) = 1.36 _d 0
271     b_kn(iNH4) = 0.27 _d 0
272     be_kn(iNH4) = 0.08 _d 0
273     #endif
274     #ifdef PQUOTA
275     ! phosphate
276     ! maximum PO4 uptake rate
277 benw 1.4 a_vmaxi(iPO4) = 0.44 _d -1 / pday ! mmol P (mmol C)^-1 d^-1
278 jahn 1.1 ae_vmaxi(iPO4) = 1.36 _d 0
279 benw 1.4 b_vmaxi(iPO4) = 0.06 _d 0
280 jahn 1.1 be_vmaxi(iPO4) = 0.07 _d 0
281     ! PO4 half-saturation
282 benw 1.4 a_kn(iPO4) = 0.04 _d 0 ! (mmol N m^-3)
283 jahn 1.1 ae_kn(iPO4) = 1.36 _d 0
284 benw 1.4 b_kn(iPO4) = 0.41 _d 0
285 jahn 1.1 be_kn(iPO4) = 0.08 _d 0
286     ! minimum P quota
287 benw 1.4 a_qmin(iPhos) = 2.13 _d -3 ! mmol N (mmol C)^-1
288 jahn 1.1 ae_qmin(iPhos) = 1.00 _d 0
289     b_qmin(iPhos) = 0.00 _d 0
290     be_qmin(iPhos) = 0.00 _d 0
291     ! maximum P quota
292 benw 1.4 a_qmax(iPhos) = 1.06 _d -2 ! mmol N (mmol C)^-1
293 jahn 1.1 ae_qmax(iPhos) = 1.20 _d 0
294 benw 1.4 b_qmax(iPhos) = 0.05 _d 0
295 jahn 1.1 be_qmax(iPhos) = 0.00 _d 0
296     ! P excretion
297 benw 1.4 a_kexc(iPhos) = 0.00 _d -1 / pday ! d^-1
298 jahn 1.1 ae_kexc(iPhos) = 1.36 _d 0
299     b_kexc(iPhos) = -0.33 _d 0
300     be_kexc(iPhos) = 0.09 _d 0
301     ! fraction grazing to DOP
302 benw 1.4 a_beta_graz(iPhos) = 0.75 _d 0
303 jahn 1.1 ae_beta_graz(iPhos) = 1.00 _d 0
304 benw 1.4 b_beta_graz(iPhos) = -0.25 _d 0
305 jahn 1.1 be_beta_graz(iPhos) = 0.00 _d 0
306     ! fraction mortality to DOP
307 benw 1.4 a_beta_mort(iPhos) = 0.75 _d 0
308 jahn 1.1 ae_beta_mort(iPhos) = 1.00 _d 0
309 benw 1.4 b_beta_mort(iPhos) = -0.25 _d 0
310 jahn 1.1 be_beta_mort(iPhos) = 0.00 _d 0
311     ! P remineralisation rate
312 benw 1.2 remin(iPhos,1) = 0.02 _d 0 /pday
313     remin(iPhos,2) = 0.04 _d 0 /pday
314 jahn 1.1 #endif
315     #ifdef SQUOTA
316     ! silicate
317     ! maximum Si uptake rate
318 benw 1.4 a_vmaxi(iSi) = 0.77 _d -1 / pday ! mmol Si (mmol C)^-1 d^-1
319 jahn 1.1 ae_vmaxi(iSi) = 1.36 _d 0
320     b_vmaxi(iSi) = -0.27 _d 0
321     be_vmaxi(iSi) = 0.07 _d 0
322     ! Si half-saturation
323 benw 1.4 a_kn(iSi) = 0.24 _d -1 ! (mmol Si m^-3)
324 jahn 1.1 ae_kn(iSi) = 1.36 _d 0
325     b_kn(iSi) = 0.27 _d 0
326     be_kn(iSi) = 0.08 _d 0
327     ! minimum Si quota
328 benw 1.4 ! a_qmin(iSili) = 0.84 _d -1 ! mmol Si (mmol C)^-1
329 jahn 1.1 ! ae_qmin(iSili) = 1.00 _d 0
330     ! b_qmin(iSili) = -0.17 _d 0
331     ! be_qmin(iSili) = 0.00 _d 0
332 benw 1.4 a_qmin(iSili) = 2.00 _d -3 ! mmol Si (mmol C)^-1
333 jahn 1.1 ae_qmin(iSili) = 1.00 _d 0
334     b_qmin(iSili) = 0.00 _d 0
335     be_qmin(iSili) = 0.00 _d 0
336     ! maximum Si quota
337 benw 1.4 ! a_qmax(iSili) = 0.30 _d 0 ! mmol Si (mmol C)^-1
338 jahn 1.1 ! ae_qmax(iSili) = 1.00 _d 0
339     ! b_qmax(iSili) = -0.13 _d 0
340     ! be_qmax(iSili) = 0.00 _d 0
341 benw 1.4 a_qmax(iSili) = 4.00 _d -3 ! mmol Si (mmol C)^-1
342 jahn 1.1 ae_qmax(iSili) = 1.20 _d 0
343     b_qmax(iSili) = 0.00 _d 0
344     be_qmax(iSili) = 0.00 _d 0
345     ! Si excretion
346     a_kexc(iSili) = 0.00 _d 0 / pday ! d^-1
347     ae_kexc(iSili) = 1.00 _d 0
348     b_kexc(iSili) = 0.00 _d 0
349     be_kexc(iSili) = 0.00 _d 0
350     ! fraction grazing to DOSi
351     a_beta_graz(iSili) = 0.00 _d 0
352     ae_beta_graz(iSili) = 1.00 _d 0
353     b_beta_graz(iSili) = 0.00 _d 0
354     be_beta_graz(iSili) = 0.00 _d 0
355     ! fraction mortality to DOSi
356     a_beta_mort(iSili) = 0.00 _d 0
357     ae_beta_mort(iSili) = 1.00 _d 0
358     b_beta_mort(iSili) = 0.00 _d 0
359     be_beta_mort(iSili) = 0.00 _d 0
360     ! POSi remineralisation rate
361     remin(iSili,1) = 0.00 _d 0 /pday
362     remin(iSili,2) = 0.33 _d -2 /pday
363     #endif
364     #ifdef FQUOTA
365     ! iron
366     ! maximum Fe uptake rate
367     ! a_vmaxi(iFeT) = 96.2 _d -6 / pday ! mmol Fe (mmol C)^-1 d^-1
368     a_vmaxi(iFeT) = 14.0 _d -6 / pday
369     ae_vmaxi(iFeT) = 1.36 _d 0
370     b_vmaxi(iFeT) = -0.27 _d 0
371     be_vmaxi(iFeT) = 0.07 _d 0
372     ! Fe half-saturation
373     ! a_kn(ifeT) = 32.1 _d -6 ! (mmol N m^-3)
374     a_kn(ifeT) = 80.0 _d -6
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) = 1.50 _d -6 ! mmol N (mmol C)^-1 - Mongin (2006)
380     ! a_qmin(iIron) = 5.00 _d -6 ! mmol N (mmol C)^-1
381     ae_qmin(iIron) = 1.00 _d 0
382     b_qmin(iIron) = 0.00 _d 0
383     be_qmin(iIron) = 0.00 _d 0
384     ! maximum Fe quota
385     a_qmax(iIron) = 80.0 _d -6 ! mmol N (mmol C)^-1 - Mongin (2006)
386     ! a_qmax(iIron) = 15.0 _d -6 ! mmol N (mmol C)^-1
387     ae_qmax(iIron) = 1.20 _d 0
388     b_qmax(iIron) = 0.00 _d 0
389     be_qmax(iIron) = 0.00 _d 0
390     ! Fe excretion
391     a_kexc(iIron) = 0.00 _d 0 / pday ! d^-1
392     ae_kexc(iIron) = 1.00 _d 0
393     b_kexc(iIron) = 0.00 _d 0
394     be_kexc(iIron) = 0.00 _d 0
395     ! fraction grazing to DOFe
396 benw 1.2 a_beta_graz(iIron) = 1.00 _d 0
397 jahn 1.1 ae_beta_graz(iIron) = 1.00 _d 0
398 benw 1.2 b_beta_graz(iIron) = -0.40 _d 0
399 jahn 1.1 be_beta_graz(iIron) = 0.00 _d 0
400     ! fraction mortality to DOFe
401 benw 1.2 a_beta_mort(iIron) = 1.00 _d 0
402 jahn 1.1 ae_beta_mort(iIron) = 1.00 _d 0
403 benw 1.2 b_beta_mort(iIron) = -0.40 _d 0
404 jahn 1.1 be_beta_mort(iIron) = 0.00 _d 0
405     ! Fe remineralisation rate
406 benw 1.2 remin(iIron,1) = 0.02 _d 0 /pday
407     remin(iIron,2) = 0.04 _d 0 /pday
408 jahn 1.1 #endif
409     cccccccccccccccccccccccccccccccccccccccccccccccccccccc
410     c end allometric scaling
411     cccccccccccccccccccccccccccccccccccccccccccccccccccccc
412    
413     RETURN
414     END
415     C============================================================================
416     #endif /*ALLOW_QUOTA*/
417     #endif /*ALLOW_DARWIN*/
418     #endif /*ALLOW_PTRACERS*/

  ViewVC Help
Powered by ViewVC 1.1.22