94 |
|
|
95 |
|
|
96 |
implicit none |
implicit none |
|
#include "EEPARAMS.h" |
|
97 |
#include "MONOD_SIZE.h" |
#include "MONOD_SIZE.h" |
98 |
#include "MONOD.h" |
#include "MONOD.h" |
99 |
#include "DARWIN_PARAMS.h" |
#include "DARWIN_PARAMS.h" |
279 |
c variables for zooplankton grazing rates |
c variables for zooplankton grazing rates |
280 |
_RL zooTempFunction(nzmax) |
_RL zooTempFunction(nzmax) |
281 |
_RL allphyto(nzmax) |
_RL allphyto(nzmax) |
282 |
|
_RL denphyto(nzmax) |
283 |
_RL grazphy(npmax,nzmax) |
_RL grazphy(npmax,nzmax) |
284 |
_RL sumgrazphy(npmax) |
_RL sumgrazphy(npmax) |
285 |
_RL sumgrazzoo(nzmax) |
_RL sumgrazzoo(nzmax) |
951 |
allphyto(nz)=allphyto(nz)+palat(np,nz)*phyto(np) |
allphyto(nz)=allphyto(nz)+palat(np,nz)*phyto(np) |
952 |
enddo |
enddo |
953 |
if (allphyto(nz).le.0. _d 0) allphyto(nz)=phygrazmin |
if (allphyto(nz).le.0. _d 0) allphyto(nz)=phygrazmin |
954 |
|
#ifdef SER_GRAZ |
955 |
|
denphyto(nz)=0. _d 0 |
956 |
|
do np=1,npmax |
957 |
|
denphyto(nz)=denphyto(nz)+ |
958 |
|
& (palat(np,nz)*phyto(np)/allphyto(nz))*phyto(np) |
959 |
|
enddo |
960 |
|
if (denphyto(nz).le.0. _d 0) denphyto(nz)=phygrazmin |
961 |
|
#endif |
962 |
do np=1,npmax |
do np=1,npmax |
963 |
tmpz=max(0. _d 0,(allphyto(nz)-phygrazmin) ) |
tmpz=max(0. _d 0,(allphyto(nz)-phygrazmin) ) |
964 |
grazphy(np,nz)=grazemax(nz)* |
grazphy(np,nz)=grazemax(nz)* |
965 |
|
#ifdef SER_GRAZ |
966 |
|
c as in Vallina et al, 2011 |
967 |
|
& (((palat(np,nz)*phyto(np)/allphyto(nz))*phyto(np))/ |
968 |
|
& denphyto(nz)) * |
969 |
|
#else |
970 |
|
c as in Dutkiewicz et al, GBC, 2009 |
971 |
& (palat(np,nz)*phyto(np)/allphyto(nz))* |
& (palat(np,nz)*phyto(np)/allphyto(nz))* |
972 |
& ( tmpz/ |
#endif |
973 |
& (tmpz+kgrazesat) ) |
& ( tmpz**hollexp/ |
974 |
|
& (tmpz**hollexp+kgrazesat**hollexp) ) |
975 |
enddo |
enddo |
976 |
enddo |
enddo |
977 |
if (debug.eq.2) print*,'allphyto',allphyto |
if (debug.eq.2) print*,'allphyto',allphyto |
1122 |
c accumulate particulate and dissolved detritus |
c accumulate particulate and dissolved detritus |
1123 |
do nz=1, nzmax |
do nz=1, nzmax |
1124 |
totzoo_pop=totzoo_pop+ |
totzoo_pop=totzoo_pop+ |
1125 |
& ExportFracZ(nz)*mortzoo(nz)*zooP(nz) |
& ExportFracZ(nz)*( mortzoo(nz)*zooP(nz) |
1126 |
|
& + mortzoo2(nz)*zooP(nz)**2 ) |
1127 |
totzoo_dop=totzoo_dop+ |
totzoo_dop=totzoo_dop+ |
1128 |
& (1. _d 0-ExportFracZ(nz))*mortzoo(nz)*zooP(nz) |
& (1. _d 0-ExportFracZ(nz))*( |
1129 |
totzoo_pon=totzoo_pon+ |
& mortzoo(nz)*zooP(nz)+ |
1130 |
& ExportFracZ(nz)*mortzoo(nz)*zooN(nz) |
& mortzoo2(nz)*zooP(nz)**2 ) |
1131 |
|
totzoo_pon=totzoo_pon+ |
1132 |
|
& ExportFracZ(nz)*( mortzoo(nz)*zooN(nz) |
1133 |
|
& + mortzoo2(nz)*zooN(nz)**2 ) |
1134 |
totzoo_don=totzoo_don+ |
totzoo_don=totzoo_don+ |
1135 |
& (1. _d 0-ExportFracZ(nz))*mortzoo(nz)*zooN(nz) |
& (1. _d 0-ExportFracZ(nz))*( |
1136 |
|
& mortzoo(nz)*zooN(nz)+ |
1137 |
|
& mortzoo2(nz)*zooN(nz)**2 ) |
1138 |
totzoo_pofe=totzoo_pofe+ |
totzoo_pofe=totzoo_pofe+ |
1139 |
& ExportFracZ(nz)*mortzoo(nz)*zooFe(nz) |
& ExportFracZ(nz)*( mortzoo(nz)*zooFe(nz) |
1140 |
|
& + mortzoo2(nz)*zooFe(nz)**2 ) |
1141 |
totzoo_dofe=totzoo_dofe+ |
totzoo_dofe=totzoo_dofe+ |
1142 |
& (1. _d 0-ExportFracZ(nz))*mortzoo(nz)*zooFe(nz) |
& (1. _d 0-ExportFracZ(nz))*( |
1143 |
totzoo_posi=totzoo_posi+ |
& mortzoo(nz)*zooFe(nz) + |
1144 |
& mortzoo(nz)*zooSi(nz) |
& mortzoo2(nz)*zooFe(nz)**2 ) |
1145 |
|
totzoo_posi=totzoo_posi+ |
1146 |
|
& ( mortzoo(nz)*zooSi(nz)+ |
1147 |
|
& mortzoo2(nz)*zooSi(nz)**2 ) |
1148 |
#ifdef ALLOW_CARBON |
#ifdef ALLOW_CARBON |
1149 |
totzoo_poc=totzoo_poc+ |
totzoo_poc=totzoo_poc+ |
1150 |
& ExportFracZ(nz)*mortzoo(nz)*zooClocal(nz) |
& ExportFracZ(nz)*( mortzoo(nz)*zooClocal(nz) |
1151 |
|
& + mortzoo2(nz)*zooClocal(nz)**2 ) |
1152 |
totzoo_doc=totzoo_doc+ |
totzoo_doc=totzoo_doc+ |
1153 |
& (1. _d 0-ExportFracZ(nz))*mortzoo(nz)*zooClocal(nz) |
& (1. _d 0-ExportFracZ(nz))*( mortzoo(nz)*zooClocal(nz) |
1154 |
|
& + mortzoo2(nz)*zooClocal(nz)**2 ) |
1155 |
#endif |
#endif |
1156 |
enddo |
enddo |
1157 |
|
|
1447 |
c zoo in P currency |
c zoo in P currency |
1448 |
dzooPdt(nz) = dzooPdt(nz) |
dzooPdt(nz) = dzooPdt(nz) |
1449 |
& - mortzoo(nz)*zooP(nz) |
& - mortzoo(nz)*zooP(nz) |
1450 |
|
& - mortzoo2(nz)*zooP(nz)**2 |
1451 |
c zooplankton in other currencies |
c zooplankton in other currencies |
1452 |
C zooplankton stoichiometry varies according to food source |
C zooplankton stoichiometry varies according to food source |
1453 |
dzooNdt(nz) = dzooNdt(nz) |
dzooNdt(nz) = dzooNdt(nz) |
1454 |
& - mortzoo(nz)*zooN(nz) |
& - mortzoo(nz)*zooN(nz) |
1455 |
|
& - mortzoo2(nz)*zooN(nz)**2 |
1456 |
dzooFedt(nz) = dzooFedt(nz) |
dzooFedt(nz) = dzooFedt(nz) |
1457 |
& - mortzoo(nz)*zooFe(nz) |
& - mortzoo(nz)*zooFe(nz) |
1458 |
|
& - mortzoo2(nz)*zooFe(nz)**2 |
1459 |
dzooSidt(nz) = dzooSidt(nz) |
dzooSidt(nz) = dzooSidt(nz) |
1460 |
& - mortzoo(nz)*zooSi(nz) |
& - mortzoo(nz)*zooSi(nz) |
1461 |
|
& - mortzoo2(nz)*zooSi(nz)**2 |
1462 |
enddo |
enddo |
1463 |
|
|
1464 |
|
|
1517 |
do nz=1,nzmax |
do nz=1,nzmax |
1518 |
dzooCdt(nz) = grazingC(nz)*zooClocal(nz) |
dzooCdt(nz) = grazingC(nz)*zooClocal(nz) |
1519 |
& - mortzoo(nz)*zooClocal(nz) |
& - mortzoo(nz)*zooClocal(nz) |
1520 |
|
& - mortzoo2(nz)*zooClocal(nz)**2 |
1521 |
enddo |
enddo |
1522 |
#else |
#else |
1523 |
do nz=1,nzmax |
do nz=1,nzmax |
1524 |
dzooCdt(nz) = sumgrazzooc(nz) |
dzooCdt(nz) = sumgrazzooc(nz) |
1525 |
& - mortzoo(nz)*zooClocal(nz) |
& - mortzoo(nz)*zooClocal(nz) |
1526 |
|
& - mortzoo2(nz)*zooClocal(nz)**2 |
1527 |
enddo |
enddo |
1528 |
#endif |
#endif |
1529 |
|
|