/[MITgcm]/MITgcm_contrib/darwin2/pkg/monod/monod_init_fixed.F
ViewVC logotype

Annotation of /MITgcm_contrib/darwin2/pkg/monod/monod_init_fixed.F

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


Revision 1.11 - (hide annotations) (download)
Thu May 1 16:19:32 2014 UTC (11 years, 2 months ago) by jahn
Branch: MAIN
CVS Tags: ctrb_darwin2_ckpt65w_20160512, ctrb_darwin2_ckpt65j_20150225, ctrb_darwin2_ckpt66g_20170424, ctrb_darwin2_ckpt66k_20171025, ctrb_darwin2_ckpt66n_20180118, ctrb_darwin2_ckpt65v_20160409, ctrb_darwin2_ckpt65s_20160114, ctrb_darwin2_ckpt65_20140718, ctrb_darwin2_ckpt66d_20170214, ctrb_darwin2_ckpt65m_20150615, ctrb_darwin2_ckpt65q_20151118, ctrb_darwin2_ckpt65o_20150914, ctrb_darwin2_ckpt65p_20151023, ctrb_darwin2_ckpt65e_20140929, ctrb_darwin2_ckpt64z_20140711, ctrb_darwin2_ckpt65l_20150504, ctrb_darwin2_ckpt65z_20160929, ctrb_darwin2_ckpt65n_20150729, ctrb_darwin2_ckpt64y_20140622, ctrb_darwin2_ckpt65d_20140915, ctrb_darwin2_ckpt66h_20170602, ctrb_darwin2_ckpt64x_20140524, ctrb_darwin2_ckpt65x_20160612, ctrb_darwin2_ckpt66f_20170407, ctrb_darwin2_ckpt65g_20141120, ctrb_darwin2_ckpt65k_20150402, ctrb_darwin2_ckpt64w_20140502, ctrb_darwin2_ckpt66a_20161020, ctrb_darwin2_ckpt65f_20141014, ctrb_darwin2_ckpt66b_20161219, ctrb_darwin2_ckpt65i_20150123, ctrb_darwin2_ckpt66j_20170815, ctrb_darwin2_ckpt65y_20160801, ctrb_darwin2_ckpt66c_20170121, ctrb_darwin2_ckpt65a_20140728, ctrb_darwin2_ckpt65b_20140812, 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_ckpt65c_20140830, ctrb_darwin2_ckpt66l_20171025, ctrb_darwin2_ckpt65h_20141217, ctrb_darwin2_ckpt66m_20171213, HEAD
Changes since 1.10: +7 -1 lines
add option FIX_ZOO_QUOTAS

1 jahn 1.11 C $Header: /u/gcmpack/MITgcm_contrib/darwin2/pkg/monod/monod_init_fixed.F,v 1.10 2013/12/04 21:21:32 jahn Exp $
2 stephd 1.2 C $Name: $
3 jahn 1.1
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     c===============================================================================
12     C===============================================================================
13     CStartofinterface
14     SUBROUTINE MONOD_INIT_FIXED(myThid)
15     C =============== Global data ==========================================
16     C === Global variables ===
17     implicit none
18     #include "SIZE.h"
19     #include "EEPARAMS.h"
20     #include "PARAMS.h"
21     #include "GRID.h"
22     #include "DYNVARS.h"
23     #include "GCHEM.h"
24     #include "DARWIN_PARAMS.h"
25     #include "MONOD_SIZE.h"
26     #include "MONOD.h"
27     #include "DARWIN_FLUX.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,nz
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 jahn 1.10 _BEGIN_MASTER(myThid)
43    
44 jahn 1.1 WRITE(msgBuf,'(A)')
45     &'// ======================================================='
46     CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
47     & SQUEEZE_RIGHT, myThid )
48     WRITE(msgBuf,'(A)') '// Darwin loading parameters'
49     CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
50     & SQUEEZE_RIGHT, myThid )
51     WRITE(msgBuf,'(A)')
52     &'// ======================================================='
53     CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
54     & SQUEEZE_RIGHT, myThid )
55    
56    
57     c ANNA set fixed params for WAVEBANDS
58     #ifdef WAVEBANDS
59     call wavebands_init_fixed(myThid)
60     #endif
61    
62     c c define 1 day in seconds
63     pday = 86400.0 _d 0
64    
65    
66     c attenuation coefficients
67     c ANNA only if not wavebands
68     #ifndef WAVEBANDS
69     k0= 4. _d -2 !atten coefficient water(m^-1)
70     #ifdef GEIDER
71     kc= 4. _d -2 !atten coefficient chl ((mmol chl/m3)-1)
72     #else
73     kc= 4. _d -2*16. _d 0*1. _d 0 !atten coefficient phy((uM m)-1)
74     #endif
75     #endif
76     c ANNA endif
77    
78    
79     c par parameters
80     parfrac= 0.4 _d 0 !fraction Qsw that is PAR
81     parconv= 1. _d 0/0.2174 _d 0 !conversion from W/m2 to uEin/m2/s
82     c for chl
83     chlpmax=40. _d 0 ! mg Chl/mmolP
84     chlpmin=16. _d 0 ! mg Chl/mmolP
85     istar=90. _d 0 ! w/m2
86     c iron related
87     alpfe= 0.04 _d 0 !solubility of Fe dust
88     scav= 0.4 _d 0/(360. _d 0*86400. _d 0) !iron chem scavenging rate (s-1)
89     ligand_tot=1. _d -3 !total ligand (uM)
90     ligand_stab=2. _d 5 !ligand stability rate ratio
91     freefemax = .4 _d -3 ! max free fe
92    
93     #ifdef IRON_SED_SOURCE
94     c iron sediment source
95     depthfesed=1000.0 _d 0 !depth above which to add sediment source
96     fesedflux =1.0 _d 0 * 1.0 _d -3 / (86400.0 _d 0) !iron flux (mmol/m2/s)
97     fesedflux_pcm =0.68 _d 0 * 1.0 _d -3 !iron flux (mmol/m3/s) per
98     c mmol POC/m3/s
99     #endif
100     #ifdef PART_SCAV
101     scav_rat=0.005 _d 0 /(86400.0 _d 0)
102     scav_inter=0.079 _d 0
103     scav_exp=0.58 _d 0
104     #endif
105    
106     c depth for denitrification to start
107     depthdenit=185.0 _d 0
108    
109     c critical oxygen for O2/NO3 remineralization
110     O2crit = 6.0 _d 0 !(Lipschultz et al 1990, DSR 37, 1513-1541)
111 stephd 1.7 c ratio of n to p in denitrification process
112 jahn 1.1 denit_np = 120.0 _d 0
113 stephd 1.7 c ratio no3 used relative to all n in denitrification process
114     denit_no3 = 104.0 _d 0
115     c critical nitrate below which no denit (or remin) happens
116     no3crit = 1. _d -2
117 jahn 1.1 c
118     c oxidation rates for ammonium and nitrite
119     c i.e. Knita ... NH4 -> NO2
120     c i.e. Knitb ... NO2 -> NO3
121     Knita = 1.0 _d 0/(.50 _d 0*pday)
122     Knitb = 1.0 _d 0/(10.0 _d 0*pday)
123     c critical light level (muEin/m2/s) after which oxidation starts
124     PAR0 = 10. _d 0
125     c
126     #ifndef GEIDER
127     c set growth days ...small or big organism?
128     Smallgrow = .7 _d 0
129     Biggrow = .4 _d 0
130     Smallgrowrange = 0. _d 0
131     Biggrowrange = 0. _d 0
132     diaz_growfac = 2. _d 0
133     #endif
134     c set mort days ...small or big organism?
135     Smallmort = 10. _d 0
136     Bigmort = 10. _d 0
137     Smallmortrange = 0. _d 0
138     Bigmortrange = 0. _d 0
139     c set export fraction ...small or big organism?
140     Smallexport = 0.2 _d 0
141     Bigexport = 0.5 _d 0
142     c set sinking rates (m/s)... small or big organism?
143     SmallSink = 0.0 _d 0/pday
144     BigSink = 0.5 _d 0/pday !0.5 _d 0/pday
145     c set parameters for light function for phyto growth
146     #ifndef GEIDER
147     smallksatpar = 0.12 _d 0 ! 0.8 _d 0
148     smallksatparstd = 0.20 _d 0 ! 0.3 _d 0
149     smallkinhib = 6.0 _d 0 ! 2.0 _d 0
150     smallkinhibstd = 0.10 _d 0 ! 0.5 _d 0
151     Bigksatpar = 0.12 _d 0 ! 0.35 _d 0
152     Bigksatparstd = 0.06 _d 0 ! 0.1 _d 0
153     Bigkinhib = 1.0 _d 0 ! 0.5 _d 0
154     Bigkinhibstd = 0.05 _d 0 ! 0.1 _d 0
155     #endif
156     #ifdef GEIDER
157     c for Pcm -- should be growth rates, but using old variables
158     c note these are in terms of days - converted to 1/s later
159     Smallgrow = .7 _d 0
160     Biggrow = .4 _d 0
161     Smallgrowrange = 0. _d 0
162     Biggrowrange = 0. _d 0
163     diaz_growfac = 2. _d 0
164     c
165     smallchl2cmax = 0.2 _d 0 !mg Chl (mmol C)
166     smallchl2cmaxrange = 0.3 _d 0 !mg Chl (mmol C)
167     Bigchl2cmax = 0.5 _d 0 !mg Chl (mmol C)
168     Bigchl2cmaxrange = 0.3 _d 0 !mg Chl (mmol C)
169    
170     c ANNA_Q units for alpha are same as expected: mmol C (mg chla)-1 (uEin)-1 (m)2
171     c smallalphachl = 1. _d -6 !mmol C (uEin/m-2)-1 (mg Chl)-1
172     c smallalphachlrange = 1. _d -6 !mmol C (uEin/m-2)-1 (mg Chl)-1
173     c Bigalphachl = 6. _d -7 !mmol C (uEin/m-2)-1 (mg Chl)-1
174     c Bigalphachlrange = 4. _d -7 !mmol C (uEin/m-2)-1 (mg Chl)-1
175     c ANNA mQyield vals are from alphachl / aphy_chl which for now is 0.02
176     c ANNA ranges for mQyield are same as alphachl but reduced by factor 100
177     smallmQyield = 5. _d -5 !mmol C (uEin)-1
178     smallmQyieldrange = 1. _d -4 !mmol C (uEin)-1
179     BigmQyield = 3. _d -5 !mmol C (uEin)-1
180     BigmQyieldrange = 4. _d -5 !mmol C (uEin)-1
181    
182     c ANNA value of aphy_chl_ave = 0.02 - its the mean of all spectras used as input data
183     aphy_chl_ave = 0.02 _d 0 !m2 (mg chla)-1 (ie. x chla gives absorption m-1)
184    
185     c inhib for Prochl?
186     C inhibcoef_geid_val = 1.2 _d 0 !DUMMY VAL
187     inhibcoef_geid_val = 0 _d 0 !DUMMY VAL
188     #ifdef DYNAMIC_CHL
189     acclimtimescl = 1./(60. _d 0 *60. _d 0 *24. _d 0 * 20. _d 0)
190     #endif
191     #endif
192     c
193    
194     c set temperature function
195     tempcoeff1 = 1. _d 0/3. _d 0
196     tempcoeff2_small = 0.001 _d 0
197     tempcoeff2_big = 0.0003 _d 0
198     tempcoeff3 = 1.04 _d 0
199     tempmax = 30. _d 0 ! 32. _d 0
200     temprange = 32. _d 0 ! 30. _d 0
201     tempnorm = 0.3 _d 0 ! 1. _d 0
202     tempdecay = 4. _d 0
203     c set phosphate half stauration constants .. small or big organism
204     SmallPsat=0.015 _d 0
205     BigPsat=0.035 _d 0
206     ProcPsat=0.01 _d 0
207     UniDzPsat=0.012 _d 0
208     SmallPsatrange=0.02 _d 0
209     BigPsatrange=0.02 _d 0
210     ProcPsatrange=0.005 _d 0
211     UniDzPsatrange=0.02 _d 0
212     c set NH4/NO2 frac, so that NH4/NO2 can be preferred nitrogen source
213     ksatNH4fac=.50 _d 0
214     ksatNO2fac=1.0 _d 0
215     c set prochl lower half-sat (used only for mutants)
216     prochlPsat=.85 _d 0
217     c ammonia and nitrite inhibition
218     sig1 = 4.6 _d 0
219     sig2 = 4.6 _d 0
220     sig3 = 4.6 _d 0
221     ngrowfac = 1. _d 0
222     ilight = 2. _d 0
223     c set si half sat
224     val_ksatsi=1. _d 0
225     c set nutrient ratios for phyto
226 stephd 1.8 #ifdef ONLY_P_CYCLE
227     val_R_SiP_diatom=0.0 _d 0
228     val_R_NP=0.0 _d 0
229     val_RFeP=0.0 _d -3
230     val_R_NP_diaz=0.0 _d 0
231     val_RFeP_diaz=0.0 _d 0 * val_RFeP
232     val_R_PC=0.0 _d 0
233     val_R_PICPOC=0.0 _d 0
234     #else
235 jahn 1.1 val_R_SiP_diatom=16.0 _d 0 ! 32 for Fanny's runs
236     val_R_NP=16.0 _d 0
237     val_RFeP=1.0 _d -3
238     val_R_NP_diaz=40.0 _d 0
239     val_RFeP_diaz=30.0 _d 0 * val_RFeP
240     val_R_PC=120.0 _d 0
241     val_R_PICPOC=0.8 _d 0
242 stephd 1.8 #endif
243 jahn 1.11 #ifdef FIX_ZOO_QUOTAS
244     val_R_NP_zoo=val_R_NP
245     val_RFeP_zoo=val_RFeP
246     val_R_SiP_zoo=0.0 _d 0
247     val_R_PC_zoo=val_R_PC
248     #endif
249 stephd 1.8 c
250 jahn 1.1 #ifdef OLD_GRAZE
251     c grazing hlaf saturation
252     kgrazesat = 0.1 _d 0
253     c set grazing rates .. small or big organism?
254     GrazeFast = 1.0 _d 0/(5.0 _d 0*pday)
255     GrazeSlow = 1.0 _d 0/(30.0 _d 0*pday)
256     c set grazing effeciency
257     GrazeEffsmall=0.6 _d 0
258     GrazeEffbig =0.2 _d 0
259     c set grazing of diatom factor
260     diatomgraz = 0.8 _d 0
261     coccograz = 0.7 _d 0
262     olargegraz = 0.9 _d 0
263     #else
264     c grazing hlaf saturation
265     c kgrazesat = 0.1 _d 0
266     kgrazesat = 0.1 _d 0
267     c phygrazmin = 1 _d -5
268     phygrazmin = 1 _d -10
269     c set grazing rates .. small or big organism?
270     c GrazeFast = 1.0 _d 0/(5.0 _d 0*pday)
271     GrazeFast = 1.0 _d 0/(2.0 _d 0*pday)
272     c GrazeSlow = 1.0 _d 0/(30.0 _d 0*pday)
273     GrazeSlow = 1.0 _d 0/(7.0 _d 0*pday)
274     c set grazing effeciency
275     GrazeEfflow= 0.2 _d 0
276     GrazeEffmod= 0.5 _d 0
277     GrazeEffhi = 0.7 _d 0
278     c set palatibility
279     palathi = 1.0 _d 0
280     palatlo = 0.2 _d 0
281     c set palatibilty diatom factor
282     diatomgraz = 0.7 _d 0
283     coccograz = 0.6 _d 0
284     olargegraz = 1.0 _d 0
285     c set faction graz to POM
286     ExGrazfracbig = 0.8 _d 0
287     ExGrazfracsmall = 0.8 _d 0
288 stephd 1.2 c grazing exponential 1= holling 2, 2=holling 3
289     hollexp=1.0 _d 0
290 jahn 1.1 #endif
291     c set zoo mortality
292     ZoomortSmall = 1.0 _d 0/(30.0 _d 0*pday)
293     ZoomortBig = 1.0 _d 0/(30.0 _d 0*pday)
294 stephd 1.3 ZoomortSmall2 = 0. _d 0
295     ZoomortBig2 = 0. _d 0
296 jahn 1.1 c set zoo exportfrac
297     ZooexfacSmall = 0.2 _d 0
298     ZooexfacBig = 0.7 _d 0
299     c minimum phyto (below which grazing and mortality doesn't happen)
300     c phymin = 1 _d -10
301     c phymin = 1 _d -50
302     phymin = 1 _d -20
303     c DOM remin rates
304     Kdop = 1.0 _d 0/(100.0 _d 0*pday)
305     Kdon = 1.0 _d 0/(100.0 _d 0*pday)
306     KdoFe = 1.0 _d 0/(100.0 _d 0*pday)
307     c Particulate detritus remin rates
308     c z* = wx_sink/Kremin_X
309     c for e-folding length scale, z* = 300 m
310     c choose Kremin_X = 1/30 day-1, wx_sink = 10 m day-1
311     Kpremin_P = 1.0 _d 0/(50.0 _d 0*pday)
312     Kpremin_N = Kpremin_P
313     Kpremin_Fe = Kpremin_P
314     Kpremin_Si = 1.0 _d 0/(300.0 _d 0*pday)
315     c sinking rate for particulate matter (m/s)
316     wp_sink = 10.0 _d 0/pday
317     wn_sink = wp_sink
318     wfe_sink = wp_sink
319     wsi_sink = wp_sink
320    
321     #ifdef ALLOW_CARBON
322     R_OP = 170 _d 0
323     Kdoc = 1.0 _d 0/(100.0 _d 0*pday)
324     Kpremin_C = 1.0 _d 0/(50.0 _d 0*pday)
325     Kdissc = 1.0 _d 0/(300.0 _d 0*pday)
326     wc_sink = wp_sink
327     wpic_sink = 15.0 _d 0/pday
328     permil = 1. _d 0 / 1024.5 _d 0
329     Pa2Atm = 1.01325 _d 5
330     #endif
331    
332 stephd 1.5 #ifdef ALLOW_CDOM
333     fraccdom=2. _d 0 / 100. _d 0
334     cdomdegrd= 1. _d 0 / (200 _d 0 *pday)
335     cdombleach = 1. _d 0 / (15 _d 0 *pday)
336     PARcdom = 20. _d 0
337     rnp_cdom = 16. _d 0
338     rfep_cdom = 1. _d -3
339     rcp_cdom = 120. _d 0
340     cdomcoeff = .1 _d -1 / 1.d -4
341     #endif
342    
343 jahn 1.1 C make sure we have reserved enough space in Ptracers
344     IF ( nCompZooMax .LT. 4 ) THEN
345 stephd 1.9 #ifndef ONLY_P_CYCLE
346 jahn 1.1 WRITE(msgBuf,'(A,A,I3)')
347     & 'MONOD_INIT_FIXED: ERROR: 4 zooplankton components, but ',
348     & 'nCompZooMax = ', nCompZooMax
349     CALL PRINT_ERROR( msgBuf , 1)
350     STOP 'ABNORMAL END: S/R MONOD_INIT_FIXED'
351 stephd 1.9 #endif
352 jahn 1.1 ENDIF
353     DO nz = 1,nzmax
354     iZooP (nz) = iZoo + (nz-1)*strideTypeZoo
355 stephd 1.6 #ifdef ONLY_P_CYCLE
356     iZooN (nz) = nptot
357     iZooFe(nz) = nptot
358     iZooSi(nz) = nptot
359     #else
360 jahn 1.1 iZooN (nz) = iZoo + 1*strideCompZoo + (nz-1)*strideTypeZoo
361     iZooFe(nz) = iZoo + 2*strideCompZoo + (nz-1)*strideTypeZoo
362     iZooSi(nz) = iZoo + 3*strideCompZoo + (nz-1)*strideTypeZoo
363 stephd 1.6 #endif
364 jahn 1.1 ENDDO
365     #ifdef ALLOW_CARBON
366     DO nz = 1,nzmax
367     iZooC (nz) = iZoC + (nz-1)
368     ENDDO
369     #endif
370    
371     #ifdef DAR_DIAG_DIVER
372     c only look at grid point with a minimum biomass
373     diver_thresh0=1 _d -12
374     c diver1 - if any type greater than
375     diver_thresh1=1 _d -8
376     c diver2 - if more than this proportion of total biomass
377     diver_thresh2=1 _d -3
378     c diver3 - fraction of biomass to count
379     diver_thresh3=.999 _d 0
380     c diver4 - fraction of maximum species
381     diver_thresh4=1 _d -5
382 jahn 1.4 c threshold on total biomass for contributing to Shannon and Simpson ind
383     c (these become large at very small biomass)
384     shannon_thresh = 1 _d -8 ! mmol P m-3
385 jahn 1.1 #endif
386    
387     c set up diagnostics
388     #ifdef ALLOW_MNC
389     IF ( useMNC ) THEN
390     CALL DARWIN_MNC_INIT( myThid )
391     #ifdef ALLOW_CARBON
392     CALL DIC_MNC_INIT( myThid )
393     #endif
394     ENDIF
395     #endif /* ALLOW_MNC */
396    
397     COJ set up diagnostics
398     #ifdef ALLOW_DIAGNOSTICS
399     IF ( useDIAGNOSTICS ) THEN
400     CALL MONOD_DIAGNOSTICS_INIT( myThid )
401     #ifdef ALLOW_CARBON
402     CALL DIC_DIAGNOSTICS_INIT( myThid )
403     #endif
404     ENDIF
405     #endif /* ALLOW_DIAGNOSTICS */
406     COJ
407    
408 jahn 1.10 _END_MASTER(myThid)
409 jahn 1.1
410 jahn 1.10 RETURN
411     END
412 jahn 1.1 C============================================================================
413     #endif
414     #endif
415    

  ViewVC Help
Powered by ViewVC 1.1.22