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

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

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


Revision 1.2 - (show annotations) (download)
Mon Jul 2 09:44:24 2012 UTC (13 years, 3 months ago) by benw
Branch: MAIN
CVS Tags: ctrb_darwin2_ckpt64k_20130723, ctrb_darwin2_ckpt65j_20150225, ctrb_darwin2_ckpt64h_20130528, ctrb_darwin2_ckpt65_20140718, ctrb_darwin2_ckpt64m_20130820, ctrb_darwin2_ckpt64r_20131210, ctrb_darwin2_ckpt64f_20130405, ctrb_darwin2_ckpt64a_20121116, ctrb_darwin2_ckpt64n_20130826, ctrb_darwin2_ckpt65e_20140929, ctrb_darwin2_ckpt64o_20131024, ctrb_darwin2_ckpt64v_20140411, ctrb_darwin2_ckpt64z_20140711, ctrb_darwin2_ckpt65l_20150504, ctrb_darwin2_ckpt64y_20140622, ctrb_darwin2_ckpt65d_20140915, ctrb_darwin2_ckpt64t_20140202, ctrb_darwin2_ckpt64i_20130622, ctrb_darwin2_ckpt64s_20140105, ctrb_darwin2_ckpt64x_20140524, ctrb_darwin2_ckpt64e_20130305, ctrb_darwin2_ckpt65g_20141120, ctrb_darwin2_ckpt63s_20120908, ctrb_darwin2_ckpt65k_20150402, ctrb_darwin2_ckpt64w_20140502, ctrb_darwin2_ckpt63r_20120817, ctrb_darwin2_ckpt64g_20130503, ctrb_darwin2_ckpt64l_20130806, ctrb_darwin2_ckpt65f_20141014, ctrb_darwin2_ckpt64c_20130120, ctrb_darwin2_ckpt64u_20140308, ctrb_darwin2_ckpt64j_20130704, ctrb_darwin2_ckpt65i_20150123, ctrb_darwin2_ckpt63p_20120707, ctrb_darwin2_ckpt65a_20140728, ctrb_darwin2_ckpt65b_20140812, ctrb_darwin2_ckpt64p_20131118, ctrb_darwin2_ckpt63q_20120731, ctrb_darwin2_ckpt64b_20121224, ctrb_darwin2_ckpt64d_20130219, ctrb_darwin2_ckpt64_20121012, ctrb_darwin2_ckpt64q_20131118, ctrb_darwin2_ckpt64p_20131024, ctrb_darwin2_ckpt65c_20140830, ctrb_darwin2_ckpt65h_20141217
Changes since 1.1: +18 -3 lines
now passes light limitation factor to quota_plankton

1 C $Header: /u/gcmpack/MITgcm_contrib/darwin2/pkg/quota/geider98.F,v 1.1 2011/04/13 18:56:25 jahn Exp $
2 C $Name: $
3
4 #include "CPP_OPTIONS.h"
5 #include "PTRACERS_OPTIONS.h"
6 #include "DARWIN_OPTIONS.h"
7 c
8 #ifdef ALLOW_PTRACERS
9 #ifdef ALLOW_DARWIN
10 #ifdef GEIDER
11 #ifdef DYNCHL
12 c
13 c ====================================================================
14 c SUBROUTINE GEIDER98
15 c ====================================================================
16 SUBROUTINE GEIDER98(
17 I PARlocal,
18 I biomass,
19 I qlimit,
20 #ifdef FQUOTA
21 I felimit,
22 #endif
23 #ifdef QUOTA_DIAG_LIMIT
24 O Ilim,
25 #endif
26 I up_inorg,
27 O PP,
28 I photo_Tempfunction,
29 O dchldt, ! chlorophyll synthesis rate
30 I myThid)
31 IMPLICIT NONE
32
33 #ifdef ALLOW_QUOTA
34 #include "QUOTA_SIZE.h"
35 #include "QUOTA.h"
36 #else
37 #include "MONOD_SIZE.h"
38 #include "MONOD.h"
39 #endif
40 c
41 INTEGER myThid
42 INTEGER ii,jp
43 c
44 _RL PARlocal
45 _RL biomass(iomax,npmax)
46 _RL qlimit(npmax)
47 _RL felimit(npmax)
48 _RL alpha_fe
49 _RL up_inorg(iimax,npmax)
50 _RL N_uptake(npmax)
51 _RL photo_Tempfunction
52 c
53 _RL dchldt(npmax)
54 c
55 _RL E0
56 _RL C_biomass
57 _RL chl
58 _RL VCref
59 c
60 _RL Chl2C
61 _RL PCmax
62 _RL PCPhot(npmax)
63 _RL rhochl
64 _RL chlsynth(npmax)
65 _RL VCmax
66 _RL VCN
67 _RL PP
68 #ifdef QUOTA_DIAG_LIMIT
69 _RL Ilim(npmax)
70 #endif
71 c
72 c Geider, MacIntyre and Kana (1998) photosynthesis model
73 c adapted for multiple nutrients following Moore et al (2002)
74 c
75 E0 = PARlocal ! muEin m^-2 s^-1
76 PP = 0.0 _d 0
77 do jp=1,npmax
78 #ifdef FQUOTA
79 alpha_fe = alphachl(jp) * felimit(jp)
80 #else
81 alpha_fe = alphachl(jp)
82 #endif
83 if (autotrophy(jp).gt.0. _d 0) then
84 C_biomass = biomass(iCarb,jp) ! mmol C m^-3
85 chl = biomass(iChlo,jp) ! mg Chl m^-3
86 c
87 c N uptake is sum of NO3, NO2 and NH4 uptake
88 VCN = 0.0 _d 0
89 do ii=2,iimax
90 if (ii.eq.iNO3.or.ii.eq.iNO2.or.ii.eq.iNH4) then
91 VCN = VCN + up_inorg(ii,jp) ! mmol N (mmol C)^-1 s^-1
92 endif
93 enddo
94 c
95 c-----------------------------------------------------------------
96 if (E0.gt.1. _d -1 .and.
97 & vmaxi(iDIC,jp).gt.0. _d 0 .and.
98 & C_biomass.gt.0. _d 0 .and.
99 & chl.gt.0. _d 0) then
100 Chl2C = chl / C_biomass ! mg chl (mmol C)^-1
101 c
102 PCmax = vmaxi(iDIC,jp) ! s^-1
103 & * qlimit(jp)
104 & * photo_Tempfunction
105 c
106 if (PCmax.gt.0. _d 0.and.alpha_fe.gt.0. _d 0) then
107 PCPhot(jp) = PCmax ! s^-1
108 & *(1. _d 0-exp(-alpha_fe*Chl2C*E0/PCmax))
109 c
110 #ifdef QUOTA_DIAG_LIMIT
111 Ilim(jp)=1. _d 0
112 & -exp(-alphachl(jp)*Chl2C*E0/vmaxi(iDIC,jp))
113 #endif
114 c
115 rhochl = Chl2Nmax * PCPhot(jp) ! mg chl (mmol N)^-1
116 & /(alphachl(jp)*Chl2C*E0)
117 chlsynth(jp) = rhochl * VCN * C_biomass ! mg chl m^-3 s^-1
118 else
119 PCPhot(jp) = 0. _d 0 ! s^-1
120 chlsynth(jp) = 0. _d 0 ! mg chl m^-3 s^-1
121 endif
122 c
123 else ! else if insufficient light, max phot=0 or C biomass=0...
124 PCPhot(jp) = 0. _d 0 ! s^-1
125 chlsynth(jp) = 0. _d 0 ! mg chl m^-3 s^-1
126 endif
127 c-----------------------------------------------------------------
128 ! for passing back to quota_plankton
129 PP = PP + PCPhot(jp) * C_biomass
130 up_inorg(iDIC,jp) = PCPhot(jp) - biosynth*VCN ! s^-1
131 dchldt(jp) = chlsynth(jp) ! mg chl m^-3 s^-1
132 else ! else if jp is a heterotroph
133 up_inorg(iDIC,jp) = 0. _d 0 ! s^-1
134 dchldt(jp) = 0. _d 0 ! mg chl m^-3 s^-1
135 c-----------------------------------------------------------------
136 endif
137 enddo
138
139 RETURN
140 END
141 c
142 #endif /*DYNCHL*/
143 #endif /*GEIDER*/
144 #endif /*ALLOW_DARWIN*/
145 #endif /*ALLOW_PTRACERS*/
146 C ==================================================================

  ViewVC Help
Powered by ViewVC 1.1.22