41 |
#ifdef FQUOTA |
#ifdef FQUOTA |
42 |
I freefelocal, inputFelocal, |
I freefelocal, inputFelocal, |
43 |
#endif |
#endif |
44 |
|
#ifdef QUOTA_DIAG_LIMIT |
45 |
|
O Nlim, Flim, Ilim, photo_Tempfunction, |
46 |
|
#endif |
47 |
I PARlocal, Tlocal, Slocal, |
I PARlocal, Tlocal, Slocal, |
48 |
I bottom, surface, dzlocal, |
I bottom, surface, dzlocal, |
49 |
O dbiomassdt,dorgmatdt, dnutrientdt, |
O dbiomassdt,dorgmatdt, dnutrientdt, |
84 |
_RL freefelocal |
_RL freefelocal |
85 |
_RL inputFelocal |
_RL inputFelocal |
86 |
#endif |
#endif |
87 |
|
#ifdef QUOTA_DIAG_LIMIT |
88 |
|
_RL Nlim(npmax),Flim(npmax),Ilim(npmax),Tlim |
89 |
|
#endif |
90 |
_RL m_ref(npmax) |
_RL m_ref(npmax) |
91 |
_RL PARlocal |
_RL PARlocal |
92 |
_RL Tlocal |
_RL Tlocal |
201 |
qreg(io,jp) = (qmax(io,jp) - quota(io,jp)) |
qreg(io,jp) = (qmax(io,jp) - quota(io,jp)) |
202 |
& / (qmax(io,jp) - qmin(io,jp) ) |
& / (qmax(io,jp) - qmin(io,jp) ) |
203 |
endif |
endif |
204 |
|
#ifdef QUOTA_DIAG_LIMIT |
205 |
|
if (io.eq.iNitr) Nlim(jp) = limit |
206 |
|
if (io.eq.iIron) Flim(jp) = limit |
207 |
|
#endif |
208 |
#ifdef FQUOTA |
#ifdef FQUOTA |
209 |
if (io.eq.iIron) then |
if (io.eq.iIron) then |
210 |
felimit(jp) = limit |
felimit(jp) = limit |
224 |
#endif |
#endif |
225 |
qlimit(jp) = min(qlimit(jp),limit) |
qlimit(jp) = min(qlimit(jp),limit) |
226 |
qreg(iCarb,jp) = min(qreg(iCarb,jp),1. _d 0 - qreg(io,jp)) |
qreg(iCarb,jp) = min(qreg(iCarb,jp),1. _d 0 - qreg(io,jp)) |
227 |
|
c |
228 |
enddo ! io |
enddo ! io |
229 |
if (autotrophy(jp).eq. 0. _d 0) then |
if (autotrophy(jp).eq. 0. _d 0) then |
230 |
biomass(iChlo,jp) = 0. _d 0 ! pure heterotroph, so chl is zero |
biomass(iChlo,jp) = 0. _d 0 ! pure heterotroph, so chl is zero |
282 |
c **************************************************************** |
c **************************************************************** |
283 |
c ************* Photosynthetic Carbon Assimilation *************** |
c ************* Photosynthetic Carbon Assimilation *************** |
284 |
c **************************************************************** |
c **************************************************************** |
285 |
|
PP = 0.0 _d 0 |
286 |
call GEIDER98( |
call GEIDER98( |
287 |
I PARlocal, |
I PARlocal, |
288 |
I biomass, |
I biomass, |
290 |
#ifdef FQUOTA |
#ifdef FQUOTA |
291 |
I felimit, |
I felimit, |
292 |
#endif |
#endif |
293 |
|
#ifdef QUOTA_DIAG_LIMIT |
294 |
|
O Ilim, |
295 |
|
#endif |
296 |
U up_inorg, |
U up_inorg, |
297 |
|
O PP, |
298 |
I photo_Tempfunction, |
I photo_Tempfunction, |
299 |
O dchloro, ! chlorophyll synthesis rate |
O dchloro, ! chlorophyll synthesis rate |
300 |
I myThid) |
I myThid) |
483 |
endif |
endif |
484 |
! |
! |
485 |
! calculate temperature adjusted mortality rates |
! calculate temperature adjusted mortality rates |
486 |
m_ref(jp) = kmort(jp) ! linear |
m_ref(jp) = kmort(jp) !* activ_Tempfunction |
487 |
! quadratic Z mortality |
! Z mortality is t dependent - a la Moore 2002 |
488 |
if (pft(jp).eq.6) then |
if (pft(jp).eq.6) then |
489 |
m_ref(jp) = kmort(jp) * 0.5 _d 0 ! linear |
m_ref(jp) = kmort(jp) * activ_Tempfunction |
|
! & + kmort(jp) * 0.25 _d 0 * biomass(iCarb,jp) ! quadratic |
|
490 |
endif |
endif |
|
m_ref(jp) = m_ref(jp) * activ_Tempfunction |
|
491 |
! |
! |
492 |
! Loss and sinking terms - include silicate and chlorophyll |
! Loss and sinking terms - include silicate and chlorophyll |
493 |
dbiomassdt(io,jp) = dbiomassdt(io,jp) |
dbiomassdt(io,jp) = dbiomassdt(io,jp) |
568 |
& + nrite2nrate * nutrient(iNO2) ! nitrate from nitrite |
& + nrite2nrate * nutrient(iNO2) ! nitrate from nitrite |
569 |
#else |
#else |
570 |
dnutrientdt(iNO3) = dnutrientdt(iNO3) ! or |
dnutrientdt(iNO3) = dnutrientdt(iNO3) ! or |
571 |
& + amm2nrate * nutrient(iNH4) ! nitrate from ammonium |
& + amm2nrite * nutrient(iNH4) ! nitrate from ammonium |
572 |
#endif |
#endif |
573 |
#endif |
#endif |
574 |
c |
c |
613 |
enddo ! ko |
enddo ! ko |
614 |
enddo ! io |
enddo ! io |
615 |
c******************************************************************************** |
c******************************************************************************** |
|
c Uptake diagnostics |
|
|
PP=0. _d 0 |
|
|
do jp=1,npmax |
|
|
if (pft(jp).ne.6) then |
|
|
PP = PP + biomass(iCarb,jp) * up_inorg(iCarb,jp) * 86400. _d 0 |
|
|
endif |
|
|
enddo |
|
616 |
c ------------------------------------------------------------------- |
c ------------------------------------------------------------------- |
617 |
ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc |
ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc |
618 |
c -------------------------------------------------------------------------- |
c -------------------------------------------------------------------------- |