/[MITgcm]/MITgcm_contrib/darwin2/pkg/monod/monod_plankton.F
ViewVC logotype

Diff of /MITgcm_contrib/darwin2/pkg/monod/monod_plankton.F

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

revision 1.10 by stephd, Fri Nov 16 19:50:22 2012 UTC revision 1.15 by jahn, Thu May 1 16:19:32 2014 UTC
# Line 1040  c sum all palatability*phyto and find ph Line 1040  c sum all palatability*phyto and find ph
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))/
# Line 1080  c sum over phy for impact on zoo, and al Line 1080  c sum over phy for impact on zoo, and al
1080             sumgrazlossPIC(nz)=0. _d 0             sumgrazlossPIC(nz)=0. _d 0
1081  #endif  #endif
1082             do np=1,npmax             do np=1,npmax
1083    #ifdef FIX_ZOO_QUOTAS
1084                  sumgrazzoo(nz)=sumgrazzoo(nz)+
1085         &             asseff(np,nz)*grazphy(np,nz)*zooP(nz)
1086                  sumgrazloss(nz)=sumgrazloss(nz)+
1087         &             (1. _d 0-asseff(np,nz))*grazphy(np,nz)*zooP(nz)
1088                  sumgrazzooN(nz)=sumgrazzooN(nz)+
1089         &             asseff(np,nz)*grazphy(np,nz)*zooP(nz)*R_NP_zoo(nz)
1090                  sumgrazlossN(nz)=sumgrazlossN(nz)+
1091         &             (R_NP(np)-asseff(np,nz)*R_NP_zoo(nz))*
1092         &             grazphy(np,nz)*zooP(nz)
1093                  sumgrazzooFe(nz)=sumgrazzooFe(nz)+
1094         &             asseff(np,nz)*grazphy(np,nz)*
1095         &                                      zooP(nz)*R_FeP_zoo(nz)
1096                  sumgrazlossFe(nz)=sumgrazlossFe(nz)+
1097         &             (R_FeP(np)-asseff(np,nz)*R_FeP_zoo(nz))*
1098         &             grazphy(np,nz)*zooP(nz)
1099                  sumgrazzooSi(nz)=sumgrazzooSi(nz)+
1100         &             asseff(np,nz)*grazphy(np,nz)*
1101         &                                     zooP(nz)*R_SiP_zoo(nz)
1102                  sumgrazlossSi(nz)=sumgrazlossSi(nz)+
1103         &             (R_SiP(np)-asseff(np,nz)*R_SiP_zoo(nz))*
1104         &             grazphy(np,nz)*zooP(nz)
1105    #ifdef ALLOW_CARBON
1106                  sumgrazzooC(nz)=sumgrazzooC(nz)+
1107         &             asseff(np,nz)*grazphy(np,nz)*zooP(nz)*R_PC_zoo(nz)
1108                  sumgrazlossC(nz)=sumgrazlossC(nz)+
1109         &             (R_PC(np)-asseff(np,nz)*R_PC_zoo(nz))*
1110         &             grazphy(np,nz)*zooP(nz)
1111                  sumgrazlossPIC(nz)=sumgrazlossPIC(nz)+
1112         &             (1. _d 0)*grazphy(np,nz)*
1113         &                           zooP(nz)*R_PC(np)*R_PICPOC(np)
1114    #endif
1115    #else
1116                sumgrazzoo(nz)=sumgrazzoo(nz)+                sumgrazzoo(nz)=sumgrazzoo(nz)+
1117       &             asseff(np,nz)*grazphy(np,nz)*zooP(nz)       &             asseff(np,nz)*grazphy(np,nz)*zooP(nz)
1118                sumgrazloss(nz)=sumgrazloss(nz)+                sumgrazloss(nz)=sumgrazloss(nz)+
# Line 1111  c sum over phy for impact on zoo, and al Line 1144  c sum over phy for impact on zoo, and al
1144       &             (1. _d 0)*grazphy(np,nz)*       &             (1. _d 0)*grazphy(np,nz)*
1145       &                           zooP(nz)*R_PC(np)*R_PICPOC(np)       &                           zooP(nz)*R_PC(np)*R_PICPOC(np)
1146  #endif  #endif
1147    #endif
1148             enddo             enddo
1149            enddo            enddo
1150            if (debug.eq.2) print*,'sumgrazzoo',sumgrazzoo            if (debug.eq.2) print*,'sumgrazzoo',sumgrazzoo
# Line 1237  c accumulate particulate and dissolved d Line 1271  c accumulate particulate and dissolved d
1271       &                     ExportFracZ(nz)*( mortzoo(nz)*       &                     ExportFracZ(nz)*( mortzoo(nz)*
1272       &                     mortZTempFunction*zooN(nz)       &                     mortZTempFunction*zooN(nz)
1273       &                     +  mortzoo2(nz)*       &                     +  mortzoo2(nz)*
1274       &                     mortZ2TempFunction*zooN(nz)**2 )       &                     mortZ2TempFunction*zooN(nz)*zooP(nz) )
1275                 totzoo_don=totzoo_don+                 totzoo_don=totzoo_don+
1276       &                    (1. _d 0-ExportFracZ(nz))*(       &                    (1. _d 0-ExportFracZ(nz))*(
1277       &                     mortzoo(nz)*       &                     mortzoo(nz)*
1278       &                     mortZTempFunction*zooN(nz)+       &                     mortZTempFunction*zooN(nz)+
1279       &                     mortzoo2(nz)*       &                     mortzoo2(nz)*
1280       &                     mortZ2TempFunction*zooN(nz)**2 )       &                     mortZ2TempFunction*zooN(nz)*zooP(nz) )
1281                 totzoo_pofe=totzoo_pofe+                 totzoo_pofe=totzoo_pofe+
1282       &                     ExportFracZ(nz)*( mortzoo(nz)*       &                     ExportFracZ(nz)*( mortzoo(nz)*
1283       &                     mortZTempFunction*zooFe(nz)       &                     mortZTempFunction*zooFe(nz)
1284       &                     +  mortzoo2(nz)*       &                     +  mortzoo2(nz)*
1285       &                     mortZ2TempFunction*zooFe(nz)**2 )       &                     mortZ2TempFunction*zooFe(nz)*zooP(nz) )
1286                 totzoo_dofe=totzoo_dofe+                 totzoo_dofe=totzoo_dofe+
1287       &                   (1. _d 0-ExportFracZ(nz))*(       &                   (1. _d 0-ExportFracZ(nz))*(
1288       &                    mortzoo(nz)*       &                    mortzoo(nz)*
1289       &                    mortZTempFunction*zooFe(nz) +       &                    mortZTempFunction*zooFe(nz) +
1290       &                    mortzoo2(nz)*       &                    mortzoo2(nz)*
1291       &                    mortZ2TempFunction*zooFe(nz)**2 )       &                    mortZ2TempFunction*zooFe(nz)*zooP(nz) )
1292                 totzoo_posi=totzoo_posi+                 totzoo_posi=totzoo_posi+
1293       &                     ( mortzoo(nz)*       &                     ( mortzoo(nz)*
1294       &                       mortZTempFunction*zooSi(nz)+       &                       mortZTempFunction*zooSi(nz)+
1295       &                       mortzoo2(nz)*       &                       mortzoo2(nz)*
1296       &                       mortZ2TempFunction*zooSi(nz)**2 )       &                       mortZ2TempFunction*zooSi(nz)*zooP(nz) )
1297  #ifdef ALLOW_CARBON  #ifdef ALLOW_CARBON
1298                 totzoo_poc=totzoo_poc+                 totzoo_poc=totzoo_poc+
1299       &                    ExportFracZ(nz)*( mortzoo(nz)*       &                    ExportFracZ(nz)*( mortzoo(nz)*
1300       &                         mortZTempFunction*zooClocal(nz)       &                         mortZTempFunction*zooClocal(nz)
1301       &                      +  mortzoo2(nz)*       &                      +  mortzoo2(nz)*
1302       &                         mortZ2TempFunction*zooClocal(nz)**2 )       &                       mortZ2TempFunction*zooClocal(nz)*zooP(nz) )
1303                 totzoo_doc=totzoo_doc+                 totzoo_doc=totzoo_doc+
1304       &           (1. _d 0-ExportFracZ(nz))*( mortzoo(nz)*       &           (1. _d 0-ExportFracZ(nz))*( mortzoo(nz)*
1305       &                         mortZTempFunction*zooClocal(nz)       &                         mortZTempFunction*zooClocal(nz)
1306       &                      +  mortzoo2(nz)*       &                      +  mortzoo2(nz)*
1307       &                         mortZ2TempFunction*zooClocal(nz)**2 )       &                       mortZ2TempFunction*zooClocal(nz)*zooP(nz) )
1308  #endif  #endif
1309              enddo              enddo
1310    
# Line 1337  c phospate uptake by each phytoplankton Line 1371  c phospate uptake by each phytoplankton
1371                 if (debug.eq.14) print*,'grow', grow(np), pcarbon(np)                 if (debug.eq.14) print*,'grow', grow(np), pcarbon(np)
1372  #ifdef DYNAMIC_CHL  #ifdef DYNAMIC_CHL
1373  c geider 97 for dChl/dt (source part) Eq. 3  c geider 97 for dChl/dt (source part) Eq. 3
1374                 if (acclim(np).gt. 0. _d 0) then                 if (acclim(np).gt. 0. _d 0.and.
1375         &                                 alpha_I(np).gt. 0. _d 0) then
1376                  rhochl(np)=chl2cmax(np) *                  rhochl(np)=chl2cmax(np) *
1377       &                      (grow(np)/(alpha_I(np)*acclim(np)) )       &                      (grow(np)/(alpha_I(np)*acclim(np)) )
1378                 else                 else
# Line 1654  C zooplankton stoichiometry varies accor Line 1689  C zooplankton stoichiometry varies accor
1689       &                           - mortzoo(nz)*       &                           - mortzoo(nz)*
1690       &                             mortZTempFunction*zooN(nz)       &                             mortZTempFunction*zooN(nz)
1691       &                           - mortzoo2(nz)*       &                           - mortzoo2(nz)*
1692       &                             mortZ2TempFunction*zooN(nz)**2       &                             mortZ2TempFunction*zooN(nz)*zooP(nz)
1693                dzooFedt(nz) = dzooFedt(nz)                dzooFedt(nz) = dzooFedt(nz)
1694       &                           - mortzoo(nz)*       &                           - mortzoo(nz)*
1695       &                             mortZTempFunction*zooFe(nz)       &                             mortZTempFunction*zooFe(nz)
1696       &                           - mortzoo2(nz)*       &                           - mortzoo2(nz)*
1697       &                             mortZ2TempFunction*zooFe(nz)**2       &                             mortZ2TempFunction*zooFe(nz)*zooP(nz)
1698                dzooSidt(nz) = dzooSidt(nz)                dzooSidt(nz) = dzooSidt(nz)
1699       &                           - mortzoo(nz)*       &                           - mortzoo(nz)*
1700       &                             mortZTempFunction*zooSi(nz)       &                             mortZTempFunction*zooSi(nz)
1701       &                           - mortzoo2(nz)*       &                           - mortzoo2(nz)*
1702       &                             mortZ2TempFunction*zooSi(nz)**2       &                             mortZ2TempFunction*zooSi(nz)*zooP(nz)
1703              enddo              enddo
1704    
1705    
# Line 1784  c loss of O2 by remineralization Line 1819  c loss of O2 by remineralization
1819       &                           - mortzoo(nz)*       &                           - mortzoo(nz)*
1820       &                             mortZTempFunction*zooClocal(nz)       &                             mortZTempFunction*zooClocal(nz)
1821       &                           - mortzoo2(nz)*       &                           - mortzoo2(nz)*
1822       &                             mortZ2TempFunction*zooClocal(nz)**2       &                         mortZ2TempFunction*zooClocal(nz)*zooP(nz)
1823              enddo              enddo
1824  #else  #else
1825              do nz=1,nzmax              do nz=1,nzmax
# Line 1792  c loss of O2 by remineralization Line 1827  c loss of O2 by remineralization
1827       &                           - mortzoo(nz)*       &                           - mortzoo(nz)*
1828       &                             mortZTempFunction*zooClocal(nz)       &                             mortZTempFunction*zooClocal(nz)
1829       &                           - mortzoo2(nz)*       &                           - mortzoo2(nz)*
1830       &                             mortZ2TempFunction*zooClocal(nz)**2       &                         mortZ2TempFunction*zooClocal(nz)*zooP(nz)
1831              enddo              enddo
1832  #endif  #endif
1833    
1834    #endif /* ALLOW_CARBON */
1835    
1836  #ifdef ALLOW_CDOM  #ifdef ALLOW_CDOM
1837              dcdomdt = totphy_cdomp + totzoo_cdomp +  preminP_cdom              dcdomdt = totphy_cdomp + totzoo_cdomp +  preminP_cdom
1838       &                  -cdomp_degrd       &                  -cdomp_degrd
1839  #endif  #endif
1840    
 #endif  
   
1841              if (debug.eq.10) print*,'dDOPdt', dDOPdt              if (debug.eq.10) print*,'dDOPdt', dDOPdt
1842              if (debug.eq.10) print*,'dpopdt',dpopdt              if (debug.eq.10) print*,'dpopdt',dpopdt
1843              if (debug.eq.10) print*,'dDONdt',dDONdt              if (debug.eq.10) print*,'dDONdt',dDONdt

Legend:
Removed from v.1.10  
changed lines
  Added in v.1.15

  ViewVC Help
Powered by ViewVC 1.1.22