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

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

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


Revision 1.2 - (hide annotations) (download)
Mon Jul 2 09:44:24 2012 UTC (13 years 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 benw 1.2 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 jahn 1.1
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 benw 1.2 #ifdef QUOTA_DIAG_LIMIT
24     O Ilim,
25     #endif
26 jahn 1.1 I up_inorg,
27 benw 1.2 O PP,
28 jahn 1.1 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 benw 1.2 _RL PP
68     #ifdef QUOTA_DIAG_LIMIT
69     _RL Ilim(npmax)
70     #endif
71 jahn 1.1 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 benw 1.2 PP = 0.0 _d 0
77 jahn 1.1 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 benw 1.2 & *(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 jahn 1.1 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 benw 1.2 PP = PP + PCPhot(jp) * C_biomass
130 jahn 1.1 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