/[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.2 by stephd, Wed Oct 5 20:37:23 2011 UTC revision 1.5 by jahn, Tue Nov 15 20:16:34 2011 UTC
# Line 94  c ANNA pass extra variables if WAVEBANDS Line 94  c ANNA pass extra variables if WAVEBANDS
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"
# Line 280  c  variables for zooplankton grazing rat Line 279  c  variables for zooplankton grazing rat
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)
# Line 951  c sum all palatability*phyto and find ph Line 951  c sum all palatability*phyto and find ph
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    #endif
973       &           ( tmpz**hollexp/       &           ( tmpz**hollexp/
974       &             (tmpz**hollexp+kgrazesat**hollexp) )       &             (tmpz**hollexp+kgrazesat**hollexp) )
975             enddo             enddo
# Line 1107  cccccccccccccccccccccccccccccccccccccccc Line 1122  cccccccccccccccccccccccccccccccccccccccc
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    
# Line 1420  c zooplankton mortality Line 1447  c zooplankton mortality
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    
# Line 1486  c loss of O2 by remineralization Line 1517  c loss of O2 by remineralization
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    

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.5

  ViewVC Help
Powered by ViewVC 1.1.22