251 |
_RL grow(npmax) |
_RL grow(npmax) |
252 |
_RL PspecificPO4(npmax) |
_RL PspecificPO4(npmax) |
253 |
_RL phytoTempFunction(npmax) |
_RL phytoTempFunction(npmax) |
254 |
|
_RL mortPTempFunction |
255 |
_RL dummy |
_RL dummy |
256 |
_RL Ndummy |
_RL Ndummy |
257 |
_RL Nsourcelimit(npmax) |
_RL Nsourcelimit(npmax) |
282 |
#ifdef OLD_GRAZE |
#ifdef OLD_GRAZE |
283 |
c variables for zooplankton grazing rates |
c variables for zooplankton grazing rates |
284 |
_RL zooTempFunction(nzmax) |
_RL zooTempFunction(nzmax) |
285 |
|
_RL mortZTempFunction |
286 |
|
_RL mortZ2TempFunction |
287 |
_RL grazing_phyto(npmax) |
_RL grazing_phyto(npmax) |
288 |
_RL grazingP(nzmax) |
_RL grazingP(nzmax) |
289 |
_RL grazingN(nzmax) |
_RL grazingN(nzmax) |
292 |
#else |
#else |
293 |
c variables for zooplankton grazing rates |
c variables for zooplankton grazing rates |
294 |
_RL zooTempFunction(nzmax) |
_RL zooTempFunction(nzmax) |
295 |
|
_RL mortZTempFunction |
296 |
|
_RL mortZ2TempFunction |
297 |
_RL allphyto(nzmax) |
_RL allphyto(nzmax) |
298 |
_RL denphyto(nzmax) |
_RL denphyto(nzmax) |
299 |
_RL grazphy(npmax,nzmax) |
_RL grazphy(npmax,nzmax) |
605 |
|
|
606 |
c cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc |
c cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc |
607 |
call MONOD_TEMPFUNC(Tlocal,phytoTempFunction, |
call MONOD_TEMPFUNC(Tlocal,phytoTempFunction, |
608 |
& zooTempFunction, reminTempFunction, myThid) |
& zooTempFunction, reminTempFunction, |
609 |
|
& mortPTempFunction, mortZTempFunction, |
610 |
|
& mortZ2TempFunction, myThid) |
611 |
if (debug.eq.1) print*,'phytoTempFunction', |
if (debug.eq.1) print*,'phytoTempFunction', |
612 |
& phytoTempFunction, Tlocal |
& phytoTempFunction, Tlocal |
613 |
ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc |
ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc |
1089 |
c accumulate particulate and dissolved detritus |
c accumulate particulate and dissolved detritus |
1090 |
do np=1, npmax |
do np=1, npmax |
1091 |
totphy_pop=totphy_pop+ |
totphy_pop=totphy_pop+ |
1092 |
& ExportFracP(np)*mortphy(np)*phytomin(np) |
& ExportFracP(np)*mortphy(np)* |
1093 |
|
& mortPTempFunction*phytomin(np) |
1094 |
totphy_dop=totphy_dop+ |
totphy_dop=totphy_dop+ |
1095 |
& (1. _d 0-ExportFracP(np))*mortphy(np)*phytomin(np) |
& (1. _d 0-ExportFracP(np))*mortphy(np)* |
1096 |
|
& mortPTempFunction*phytomin(np) |
1097 |
totphy_pon=totphy_pon+ R_NP(np)* |
totphy_pon=totphy_pon+ R_NP(np)* |
1098 |
& ExportFracP(np)*mortphy(np)*phytomin(np) |
& ExportFracP(np)*mortphy(np)* |
1099 |
|
& mortPTempFunction*phytomin(np) |
1100 |
totphy_don=totphy_don+ R_NP(np)* |
totphy_don=totphy_don+ R_NP(np)* |
1101 |
& (1. _d 0-ExportFracP(np))*mortphy(np)*phytomin(np) |
& (1. _d 0-ExportFracP(np))*mortphy(np)* |
1102 |
|
& mortPTempFunction*phytomin(np) |
1103 |
totphy_pofe=totphy_pofe+ R_FeP(np)* |
totphy_pofe=totphy_pofe+ R_FeP(np)* |
1104 |
& ExportFracP(np)*mortphy(np)*phytomin(np) |
& ExportFracP(np)*mortphy(np)* |
1105 |
|
& mortPTempFunction*phytomin(np) |
1106 |
totphy_dofe=totphy_dofe+ R_FeP(np)* |
totphy_dofe=totphy_dofe+ R_FeP(np)* |
1107 |
& (1. _d 0-ExportFracP(np))*mortphy(np)*phytomin(np) |
& (1. _d 0-ExportFracP(np))*mortphy(np)* |
1108 |
|
& mortPTempFunction*phytomin(np) |
1109 |
totphy_posi=totphy_posi+ R_SiP(np)* |
totphy_posi=totphy_posi+ R_SiP(np)* |
1110 |
& mortphy(np)*phytomin(np) |
& mortphy(np)* |
1111 |
|
& mortPTempFunction*phytomin(np) |
1112 |
#ifdef ALLOW_CARBON |
#ifdef ALLOW_CARBON |
1113 |
totphy_poc=totphy_poc+ R_PC(np)* |
totphy_poc=totphy_poc+ R_PC(np)* |
1114 |
& ExportFracP(np)*mortphy(np)*phytomin(np) |
& ExportFracP(np)*mortphy(np)* |
1115 |
|
& mortPTempFunction*phytomin(np) |
1116 |
totphy_doc=totphy_doc+ R_PC(np)* |
totphy_doc=totphy_doc+ R_PC(np)* |
1117 |
& (1. _d 0-ExportFracP(np))*mortphy(np)*phytomin(np) |
& (1. _d 0-ExportFracP(np))*mortphy(np)* |
1118 |
|
& mortPTempFunction*phytomin(np) |
1119 |
totphy_pic=totphy_pic+ R_PC(np)*R_PICPOC(np)* |
totphy_pic=totphy_pic+ R_PC(np)*R_PICPOC(np)* |
1120 |
& mortphy(np)*phytomin(np) |
& mortphy(np)* |
1121 |
|
& mortPTempFunction*phytomin(np) |
1122 |
#endif |
#endif |
1123 |
enddo |
enddo |
1124 |
#ifdef ALLOW_CDOM |
#ifdef ALLOW_CDOM |
1184 |
c accumulate particulate and dissolved detritus |
c accumulate particulate and dissolved detritus |
1185 |
do nz=1, nzmax |
do nz=1, nzmax |
1186 |
totzoo_pop=totzoo_pop+ |
totzoo_pop=totzoo_pop+ |
1187 |
& ExportFracZ(nz)*( mortzoo(nz)*zooP(nz) |
& ExportFracZ(nz)*( mortzoo(nz)* |
1188 |
& + mortzoo2(nz)*zooP(nz)**2 ) |
& mortZTempFunction*zooP(nz) |
1189 |
|
& + mortzoo2(nz)* |
1190 |
|
& mortZ2TempFunction*zooP(nz)**2 ) |
1191 |
totzoo_dop=totzoo_dop+ |
totzoo_dop=totzoo_dop+ |
1192 |
& (1. _d 0-ExportFracZ(nz))*( |
& (1. _d 0-ExportFracZ(nz))*( |
1193 |
& mortzoo(nz)*zooP(nz)+ |
& mortzoo(nz)* |
1194 |
& mortzoo2(nz)*zooP(nz)**2 ) |
& mortZTempFunction*zooP(nz)+ |
1195 |
|
& mortzoo2(nz)* |
1196 |
|
& mortZ2TempFunction*zooP(nz)**2 ) |
1197 |
totzoo_pon=totzoo_pon+ |
totzoo_pon=totzoo_pon+ |
1198 |
& ExportFracZ(nz)*( mortzoo(nz)*zooN(nz) |
& ExportFracZ(nz)*( mortzoo(nz)* |
1199 |
& + mortzoo2(nz)*zooN(nz)**2 ) |
& mortZTempFunction*zooN(nz) |
1200 |
|
& + mortzoo2(nz)* |
1201 |
|
& mortZ2TempFunction*zooN(nz)**2 ) |
1202 |
totzoo_don=totzoo_don+ |
totzoo_don=totzoo_don+ |
1203 |
& (1. _d 0-ExportFracZ(nz))*( |
& (1. _d 0-ExportFracZ(nz))*( |
1204 |
& mortzoo(nz)*zooN(nz)+ |
& mortzoo(nz)* |
1205 |
& mortzoo2(nz)*zooN(nz)**2 ) |
& mortZTempFunction*zooN(nz)+ |
1206 |
|
& mortzoo2(nz)* |
1207 |
|
& mortZ2TempFunction*zooN(nz)**2 ) |
1208 |
totzoo_pofe=totzoo_pofe+ |
totzoo_pofe=totzoo_pofe+ |
1209 |
& ExportFracZ(nz)*( mortzoo(nz)*zooFe(nz) |
& ExportFracZ(nz)*( mortzoo(nz)* |
1210 |
& + mortzoo2(nz)*zooFe(nz)**2 ) |
& mortZTempFunction*zooFe(nz) |
1211 |
|
& + mortzoo2(nz)* |
1212 |
|
& mortZ2TempFunction*zooFe(nz)**2 ) |
1213 |
totzoo_dofe=totzoo_dofe+ |
totzoo_dofe=totzoo_dofe+ |
1214 |
& (1. _d 0-ExportFracZ(nz))*( |
& (1. _d 0-ExportFracZ(nz))*( |
1215 |
& mortzoo(nz)*zooFe(nz) + |
& mortzoo(nz)* |
1216 |
& mortzoo2(nz)*zooFe(nz)**2 ) |
& mortZTempFunction*zooFe(nz) + |
1217 |
|
& mortzoo2(nz)* |
1218 |
|
& mortZ2TempFunction*zooFe(nz)**2 ) |
1219 |
totzoo_posi=totzoo_posi+ |
totzoo_posi=totzoo_posi+ |
1220 |
& ( mortzoo(nz)*zooSi(nz)+ |
& ( mortzoo(nz)* |
1221 |
& mortzoo2(nz)*zooSi(nz)**2 ) |
& mortZTempFunction*zooSi(nz)+ |
1222 |
|
& mortzoo2(nz)* |
1223 |
|
& mortZ2TempFunction*zooSi(nz)**2 ) |
1224 |
#ifdef ALLOW_CARBON |
#ifdef ALLOW_CARBON |
1225 |
totzoo_poc=totzoo_poc+ |
totzoo_poc=totzoo_poc+ |
1226 |
& ExportFracZ(nz)*( mortzoo(nz)*zooClocal(nz) |
& ExportFracZ(nz)*( mortzoo(nz)* |
1227 |
& + mortzoo2(nz)*zooClocal(nz)**2 ) |
& mortZTempFunction*zooClocal(nz) |
1228 |
|
& + mortzoo2(nz)* |
1229 |
|
& mortZ2TempFunction*zooClocal(nz)**2 ) |
1230 |
totzoo_doc=totzoo_doc+ |
totzoo_doc=totzoo_doc+ |
1231 |
& (1. _d 0-ExportFracZ(nz))*( mortzoo(nz)*zooClocal(nz) |
& (1. _d 0-ExportFracZ(nz))*( mortzoo(nz)* |
1232 |
& + mortzoo2(nz)*zooClocal(nz)**2 ) |
& mortZTempFunction*zooClocal(nz) |
1233 |
|
& + mortzoo2(nz)* |
1234 |
|
& mortZ2TempFunction*zooClocal(nz)**2 ) |
1235 |
#endif |
#endif |
1236 |
enddo |
enddo |
1237 |
|
|
1465 |
#else |
#else |
1466 |
& - sumgrazphy(np) |
& - sumgrazphy(np) |
1467 |
#endif |
#endif |
1468 |
& - mortphy(np)*phytomin(np) |
& - mortphy(np)* |
1469 |
|
& mortPTempFunction*phytomin(np) |
1470 |
& + psinkphy(np) |
& + psinkphy(np) |
1471 |
#ifdef GEIDER |
#ifdef GEIDER |
1472 |
#ifdef DYNAMIC_CHL |
#ifdef DYNAMIC_CHL |
1481 |
#else |
#else |
1482 |
& - sumgrazphy(np) |
& - sumgrazphy(np) |
1483 |
#endif |
#endif |
1484 |
& - mortphy(np)*phytomin(np)) *chl2c(np)*R_PC(np) |
& - mortphy(np)* |
1485 |
|
& mortPTempFunction*phytomin(np)) |
1486 |
|
& *chl2c(np)*R_PC(np) |
1487 |
& + psinkChl(np) |
& + psinkChl(np) |
1488 |
#endif |
#endif |
1489 |
Chl=Chl + phychl(np) |
Chl=Chl + phychl(np) |
1494 |
#ifdef OLD_GRAZE |
#ifdef OLD_GRAZE |
1495 |
tmpr=grazing_phyto(np)* |
tmpr=grazing_phyto(np)* |
1496 |
& (phytomin(np)/(phytomin(np) + kgrazesat)) |
& (phytomin(np)/(phytomin(np) + kgrazesat)) |
1497 |
& + mortphy(np)*phytomin(np) |
& + mortphy(np)* |
1498 |
|
& mortPTempFunction*phytomin(np) |
1499 |
& - psinkphy(np) |
& - psinkphy(np) |
1500 |
#else |
#else |
1501 |
tmpr=sumgrazphy(np) |
tmpr=sumgrazphy(np) |
1502 |
& + mortphy(np)*phytomin(np) |
& + mortphy(np)* |
1503 |
|
& mortPTempFunction*phytomin(np) |
1504 |
& - psinkphy(np) |
& - psinkphy(np) |
1505 |
#endif |
#endif |
1506 |
#ifdef DAR_DIAG_RSTAR |
#ifdef DAR_DIAG_RSTAR |
1567 |
do nz=1,nzmax |
do nz=1,nzmax |
1568 |
c zoo in P currency |
c zoo in P currency |
1569 |
dzooPdt(nz) = dzooPdt(nz) |
dzooPdt(nz) = dzooPdt(nz) |
1570 |
& - mortzoo(nz)*zooP(nz) |
& - mortzoo(nz)* |
1571 |
& - mortzoo2(nz)*zooP(nz)**2 |
& mortZTempFunction*zooP(nz) |
1572 |
|
& - mortzoo2(nz)* |
1573 |
|
& mortZ2TempFunction*zooP(nz)**2 |
1574 |
c zooplankton in other currencies |
c zooplankton in other currencies |
1575 |
C zooplankton stoichiometry varies according to food source |
C zooplankton stoichiometry varies according to food source |
1576 |
dzooNdt(nz) = dzooNdt(nz) |
dzooNdt(nz) = dzooNdt(nz) |
1577 |
& - mortzoo(nz)*zooN(nz) |
& - mortzoo(nz)* |
1578 |
& - mortzoo2(nz)*zooN(nz)**2 |
& mortZTempFunction*zooN(nz) |
1579 |
|
& - mortzoo2(nz)* |
1580 |
|
& mortZ2TempFunction*zooN(nz)**2 |
1581 |
dzooFedt(nz) = dzooFedt(nz) |
dzooFedt(nz) = dzooFedt(nz) |
1582 |
& - mortzoo(nz)*zooFe(nz) |
& - mortzoo(nz)* |
1583 |
& - mortzoo2(nz)*zooFe(nz)**2 |
& mortZTempFunction*zooFe(nz) |
1584 |
|
& - mortzoo2(nz)* |
1585 |
|
& mortZ2TempFunction*zooFe(nz)**2 |
1586 |
dzooSidt(nz) = dzooSidt(nz) |
dzooSidt(nz) = dzooSidt(nz) |
1587 |
& - mortzoo(nz)*zooSi(nz) |
& - mortzoo(nz)* |
1588 |
& - mortzoo2(nz)*zooSi(nz)**2 |
& mortZTempFunction*zooSi(nz) |
1589 |
|
& - mortzoo2(nz)* |
1590 |
|
& mortZ2TempFunction*zooSi(nz)**2 |
1591 |
enddo |
enddo |
1592 |
|
|
1593 |
|
|
1704 |
#ifdef OLD_GRAZE |
#ifdef OLD_GRAZE |
1705 |
do nz=1,nzmax |
do nz=1,nzmax |
1706 |
dzooCdt(nz) = grazingC(nz)*zooClocal(nz) |
dzooCdt(nz) = grazingC(nz)*zooClocal(nz) |
1707 |
& - mortzoo(nz)*zooClocal(nz) |
& - mortzoo(nz)* |
1708 |
& - mortzoo2(nz)*zooClocal(nz)**2 |
& mortZTempFunction*zooClocal(nz) |
1709 |
|
& - mortzoo2(nz)* |
1710 |
|
& mortZ2TempFunction*zooClocal(nz)**2 |
1711 |
enddo |
enddo |
1712 |
#else |
#else |
1713 |
do nz=1,nzmax |
do nz=1,nzmax |
1714 |
dzooCdt(nz) = sumgrazzooc(nz) |
dzooCdt(nz) = sumgrazzooc(nz) |
1715 |
& - mortzoo(nz)*zooClocal(nz) |
& - mortzoo(nz)* |
1716 |
& - mortzoo2(nz)*zooClocal(nz)**2 |
& mortZTempFunction*zooClocal(nz) |
1717 |
|
& - mortzoo2(nz)* |
1718 |
|
& mortZ2TempFunction*zooClocal(nz)**2 |
1719 |
enddo |
enddo |
1720 |
#endif |
#endif |
1721 |
|
|