1040 |
#endif |
#endif |
1041 |
do np=1,npmax |
do np=1,npmax |
1042 |
tmpz=max(0. _d 0,(allphyto(nz)-phygrazmin) ) |
tmpz=max(0. _d 0,(allphyto(nz)-phygrazmin) ) |
1043 |
grazphy(np,nz)=grazemax(nz)* |
grazphy(np,nz)=grazemax(nz)*zooTempFunction(nz)* |
1044 |
#ifdef SER_GRAZ |
#ifdef SER_GRAZ |
1045 |
c as in Vallina et al, 2011 |
c as in Vallina et al, 2011 |
1046 |
& (((palat(np,nz)*phyto(np)/allphyto(nz))*phyto(np))/ |
& (((palat(np,nz)*phyto(np)/allphyto(nz))*phyto(np))/ |
1237 |
& ExportFracZ(nz)*( mortzoo(nz)* |
& ExportFracZ(nz)*( mortzoo(nz)* |
1238 |
& mortZTempFunction*zooN(nz) |
& mortZTempFunction*zooN(nz) |
1239 |
& + mortzoo2(nz)* |
& + mortzoo2(nz)* |
1240 |
& mortZ2TempFunction*zooN(nz)**2 ) |
& mortZ2TempFunction*zooN(nz)*zooP(nz) ) |
1241 |
totzoo_don=totzoo_don+ |
totzoo_don=totzoo_don+ |
1242 |
& (1. _d 0-ExportFracZ(nz))*( |
& (1. _d 0-ExportFracZ(nz))*( |
1243 |
& mortzoo(nz)* |
& mortzoo(nz)* |
1244 |
& mortZTempFunction*zooN(nz)+ |
& mortZTempFunction*zooN(nz)+ |
1245 |
& mortzoo2(nz)* |
& mortzoo2(nz)* |
1246 |
& mortZ2TempFunction*zooN(nz)**2 ) |
& mortZ2TempFunction*zooN(nz)*zooP(nz) ) |
1247 |
totzoo_pofe=totzoo_pofe+ |
totzoo_pofe=totzoo_pofe+ |
1248 |
& ExportFracZ(nz)*( mortzoo(nz)* |
& ExportFracZ(nz)*( mortzoo(nz)* |
1249 |
& mortZTempFunction*zooFe(nz) |
& mortZTempFunction*zooFe(nz) |
1250 |
& + mortzoo2(nz)* |
& + mortzoo2(nz)* |
1251 |
& mortZ2TempFunction*zooFe(nz)**2 ) |
& mortZ2TempFunction*zooFe(nz)*zooP(nz) ) |
1252 |
totzoo_dofe=totzoo_dofe+ |
totzoo_dofe=totzoo_dofe+ |
1253 |
& (1. _d 0-ExportFracZ(nz))*( |
& (1. _d 0-ExportFracZ(nz))*( |
1254 |
& mortzoo(nz)* |
& mortzoo(nz)* |
1255 |
& mortZTempFunction*zooFe(nz) + |
& mortZTempFunction*zooFe(nz) + |
1256 |
& mortzoo2(nz)* |
& mortzoo2(nz)* |
1257 |
& mortZ2TempFunction*zooFe(nz)**2 ) |
& mortZ2TempFunction*zooFe(nz)*zooP(nz) ) |
1258 |
totzoo_posi=totzoo_posi+ |
totzoo_posi=totzoo_posi+ |
1259 |
& ( mortzoo(nz)* |
& ( mortzoo(nz)* |
1260 |
& mortZTempFunction*zooSi(nz)+ |
& mortZTempFunction*zooSi(nz)+ |
1261 |
& mortzoo2(nz)* |
& mortzoo2(nz)* |
1262 |
& mortZ2TempFunction*zooSi(nz)**2 ) |
& mortZ2TempFunction*zooSi(nz)*zooP(nz) ) |
1263 |
#ifdef ALLOW_CARBON |
#ifdef ALLOW_CARBON |
1264 |
totzoo_poc=totzoo_poc+ |
totzoo_poc=totzoo_poc+ |
1265 |
& ExportFracZ(nz)*( mortzoo(nz)* |
& ExportFracZ(nz)*( mortzoo(nz)* |
1266 |
& mortZTempFunction*zooClocal(nz) |
& mortZTempFunction*zooClocal(nz) |
1267 |
& + mortzoo2(nz)* |
& + mortzoo2(nz)* |
1268 |
& mortZ2TempFunction*zooClocal(nz)**2 ) |
& mortZ2TempFunction*zooClocal(nz)*zooP(nz) ) |
1269 |
totzoo_doc=totzoo_doc+ |
totzoo_doc=totzoo_doc+ |
1270 |
& (1. _d 0-ExportFracZ(nz))*( mortzoo(nz)* |
& (1. _d 0-ExportFracZ(nz))*( mortzoo(nz)* |
1271 |
& mortZTempFunction*zooClocal(nz) |
& mortZTempFunction*zooClocal(nz) |
1272 |
& + mortzoo2(nz)* |
& + mortzoo2(nz)* |
1273 |
& mortZ2TempFunction*zooClocal(nz)**2 ) |
& mortZ2TempFunction*zooClocal(nz)*zooP(nz) ) |
1274 |
#endif |
#endif |
1275 |
enddo |
enddo |
1276 |
|
|
1337 |
if (debug.eq.14) print*,'grow', grow(np), pcarbon(np) |
if (debug.eq.14) print*,'grow', grow(np), pcarbon(np) |
1338 |
#ifdef DYNAMIC_CHL |
#ifdef DYNAMIC_CHL |
1339 |
c geider 97 for dChl/dt (source part) Eq. 3 |
c geider 97 for dChl/dt (source part) Eq. 3 |
1340 |
if (acclim(np).gt. 0. _d 0) then |
if (acclim(np).gt. 0. _d 0.and. |
1341 |
|
& alpha_I(np).gt. 0. _d 0) then |
1342 |
rhochl(np)=chl2cmax(np) * |
rhochl(np)=chl2cmax(np) * |
1343 |
& (grow(np)/(alpha_I(np)*acclim(np)) ) |
& (grow(np)/(alpha_I(np)*acclim(np)) ) |
1344 |
else |
else |
1655 |
& - mortzoo(nz)* |
& - mortzoo(nz)* |
1656 |
& mortZTempFunction*zooN(nz) |
& mortZTempFunction*zooN(nz) |
1657 |
& - mortzoo2(nz)* |
& - mortzoo2(nz)* |
1658 |
& mortZ2TempFunction*zooN(nz)**2 |
& mortZ2TempFunction*zooN(nz)*zooP(nz) |
1659 |
dzooFedt(nz) = dzooFedt(nz) |
dzooFedt(nz) = dzooFedt(nz) |
1660 |
& - mortzoo(nz)* |
& - mortzoo(nz)* |
1661 |
& mortZTempFunction*zooFe(nz) |
& mortZTempFunction*zooFe(nz) |
1662 |
& - mortzoo2(nz)* |
& - mortzoo2(nz)* |
1663 |
& mortZ2TempFunction*zooFe(nz)**2 |
& mortZ2TempFunction*zooFe(nz)*zooP(nz) |
1664 |
dzooSidt(nz) = dzooSidt(nz) |
dzooSidt(nz) = dzooSidt(nz) |
1665 |
& - mortzoo(nz)* |
& - mortzoo(nz)* |
1666 |
& mortZTempFunction*zooSi(nz) |
& mortZTempFunction*zooSi(nz) |
1667 |
& - mortzoo2(nz)* |
& - mortzoo2(nz)* |
1668 |
& mortZ2TempFunction*zooSi(nz)**2 |
& mortZ2TempFunction*zooSi(nz)*zooP(nz) |
1669 |
enddo |
enddo |
1670 |
|
|
1671 |
|
|
1785 |
& - mortzoo(nz)* |
& - mortzoo(nz)* |
1786 |
& mortZTempFunction*zooClocal(nz) |
& mortZTempFunction*zooClocal(nz) |
1787 |
& - mortzoo2(nz)* |
& - mortzoo2(nz)* |
1788 |
& mortZ2TempFunction*zooClocal(nz)**2 |
& mortZ2TempFunction*zooClocal(nz)*zooP(nz) |
1789 |
enddo |
enddo |
1790 |
#else |
#else |
1791 |
do nz=1,nzmax |
do nz=1,nzmax |
1793 |
& - mortzoo(nz)* |
& - mortzoo(nz)* |
1794 |
& mortZTempFunction*zooClocal(nz) |
& mortZTempFunction*zooClocal(nz) |
1795 |
& - mortzoo2(nz)* |
& - mortzoo2(nz)* |
1796 |
& mortZ2TempFunction*zooClocal(nz)**2 |
& mortZ2TempFunction*zooClocal(nz)*zooP(nz) |
1797 |
enddo |
enddo |
1798 |
#endif |
#endif |
1799 |
|
|
1800 |
|
#endif /* ALLOW_CARBON */ |
1801 |
|
|
1802 |
#ifdef ALLOW_CDOM |
#ifdef ALLOW_CDOM |
1803 |
dcdomdt = totphy_cdomp + totzoo_cdomp + preminP_cdom |
dcdomdt = totphy_cdomp + totzoo_cdomp + preminP_cdom |
1804 |
& -cdomp_degrd |
& -cdomp_degrd |
1805 |
#endif |
#endif |
1806 |
|
|
|
#endif |
|
|
|
|
1807 |
if (debug.eq.10) print*,'dDOPdt', dDOPdt |
if (debug.eq.10) print*,'dDOPdt', dDOPdt |
1808 |
if (debug.eq.10) print*,'dpopdt',dpopdt |
if (debug.eq.10) print*,'dpopdt',dpopdt |
1809 |
if (debug.eq.10) print*,'dDONdt',dDONdt |
if (debug.eq.10) print*,'dDONdt',dDONdt |