/[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.5 by jahn, Tue Nov 15 20:16:34 2011 UTC revision 1.7 by stephd, Thu Jun 28 20:36:11 2012 UTC
# Line 77  c ANNA pass extra variables if WAVEBANDS Line 77  c ANNA pass extra variables if WAVEBANDS
77  #ifdef DYNAMIC_CHL  #ifdef DYNAMIC_CHL
78       O                       dphychl, Chlup,       O                       dphychl, Chlup,
79  #endif  #endif
80    #ifdef ALLOW_CDOM
81         O                       dcdomdt   ,
82         I                       cdomlocal,
83    #endif
84  #ifdef WAVEBANDS  #ifdef WAVEBANDS
85       I                       PARwlocal,       I                       PARwlocal,
86  #endif  #endif
# Line 203  c zoo   = zooplankton Line 207  c zoo   = zooplankton
207           _RL Chlup(npmax)           _RL Chlup(npmax)
208  #endif  #endif
209  #endif  #endif
210    #ifdef ALLOW_CDOM
211             _RL cdomlocal
212             _RL dcdomdt  
213    #ifdef ALLOW_CARBON
214             _RL cdomclocal, dcdomcdt    
215    #endif
216    #endif
217  #ifdef ALLOW_PAR_DAY  #ifdef ALLOW_PAR_DAY
218           _RL PARdaylocal           _RL PARdaylocal
219  #endif  #endif
# Line 240  c phytoplankton light limitation term Line 251  c phytoplankton light limitation term
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)
# Line 270  c varible for mimumum phyto Line 282  c varible for mimumum phyto
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)
# Line 278  c  variables for zooplankton grazing rat Line 292  c  variables for zooplankton grazing rat
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)
# Line 304  c  variables for zooplankton grazing rat Line 320  c  variables for zooplankton grazing rat
320  #endif  #endif
321  #endif  #endif
322    
323    #ifdef ALLOW_CDOM
324            _RL cdomp_degrd, cdomn_degrd, cdomfe_degrd
325            _RL preminP_cdom, preminN_cdom, preminFe_cdom
326    #ifdef ALLOW_CARBON
327            _RL cdomc_degrd
328            _RL preminC_cdom
329    #endif
330    #endif
331    
332  #ifdef DAR_DIAG_CHL  #ifdef DAR_DIAG_CHL
333           _RL tmppcm           _RL tmppcm
334           _RL tmpchl2c           _RL tmpchl2c
# Line 376  c variables for conversions from phyto a Line 401  c variables for conversions from phyto a
401           _RL totzoo_pofe           _RL totzoo_pofe
402           _RL totzoo_posi           _RL totzoo_posi
403    
404    #ifdef ALLOW_CDOM
405             _RL totphy_cdomp
406             _RL totphy_cdomn
407             _RL totphy_cdomfe
408             _RL totzoo_cdomp
409             _RL totzoo_cdomn
410             _RL totzoo_cdomfe
411    #ifdef ALLOW_CARBON
412             _RL totphy_cdomc
413             _RL totzoo_cdomc
414    #endif
415    #endif
416    
417           _RL NO2prod           _RL NO2prod
418           _RL NO3prod           _RL NO3prod
419        
# Line 567  ccccccccccccccccccccccccccccccc Line 605  ccccccccccccccccccccccccccccccc
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
# Line 1049  cccccccccccccccccccccccccccccccccccccccc Line 1089  cccccccccccccccccccccccccccccccccccccccc
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
1125                   totphy_cdomp=(fraccdom)*totphy_dop
1126                   totphy_dop=totphy_dop-totphy_cdomp
1127                   totphy_cdomn=rnp_cdom*totphy_cdomp
1128                   totphy_don=totphy_don-totphy_cdomn
1129                   totphy_cdomfe=rfep_cdom*totphy_cdomp
1130                   totphy_dofe=totphy_dofe-totphy_cdomfe
1131    #ifdef ALLOW_CARBON
1132                   totphy_cdomc=rcp_cdom*totphy_cdomp
1133                   totphy_doc=totphy_doc-totphy_cdomc
1134    #endif
1135    #endif
1136              if (debug.eq.3) print*,'tot_phy_pop',totphy_pop              if (debug.eq.3) print*,'tot_phy_pop',totphy_pop
1137              if (debug.eq.3) print*,'tot_phy_dop',totphy_dop              if (debug.eq.3) print*,'tot_phy_dop',totphy_dop
1138              if (debug.eq.3) print*,'tot_phy_pon',totphy_pon              if (debug.eq.3) print*,'tot_phy_pon',totphy_pon
# Line 1122  cccccccccccccccccccccccccccccccccccccccc Line 1184  cccccccccccccccccccccccccccccccccccccccc
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    
# Line 1181  c accumulate particulate and dissolved d Line 1261  c accumulate particulate and dissolved d
1261  #endif  #endif
1262              enddo              enddo
1263  #endif  #endif
1264    
1265    #ifdef ALLOW_CDOM
1266                   totzoo_cdomp=(fraccdom)*totzoo_dop
1267                   totzoo_dop=totzoo_dop-totzoo_cdomp
1268                   totzoo_cdomn=rnp_cdom*totzoo_cdomp
1269                   totzoo_don=totzoo_don-totzoo_cdomn
1270                   totzoo_cdomfe=rfep_cdom*totzoo_cdomp
1271                   totzoo_dofe=totzoo_dofe-totzoo_cdomfe
1272    #ifdef ALLOW_CARBON
1273                   totzoo_cdomc=rcp_cdom*totzoo_cdomp
1274                   totzoo_doc=totzoo_doc-totzoo_cdomc
1275    #endif
1276    #endif
1277              if (debug.eq.5) print*,'totzoo_pop',totzoo_pop              if (debug.eq.5) print*,'totzoo_pop',totzoo_pop
1278              if (debug.eq.5) print*,'totzoo_dop',totzoo_dop              if (debug.eq.5) print*,'totzoo_dop',totzoo_dop
1279              if (debug.eq.5) print*,'totzoo_pon',totzoo_pon              if (debug.eq.5) print*,'totzoo_pon',totzoo_pon
# Line 1315  c remineralization of sinking particulat Line 1408  c remineralization of sinking particulat
1408              preminN  = reminTempFunction * Kpremin_N*PONlocal              preminN  = reminTempFunction * Kpremin_N*PONlocal
1409              preminFe = reminTempFunction * Kpremin_Fe*POFelocal              preminFe = reminTempFunction * Kpremin_Fe*POFelocal
1410              preminSi = reminTempFunction * Kpremin_Si*PSilocal              preminSi = reminTempFunction * Kpremin_Si*PSilocal
1411    #ifdef ALLOW_CDOM
1412                preminP_cdom = fraccdom*preminP
1413                preminP=preminP-preminP_cdom
1414                preminN_cdom = rnp_cdom*preminP_cdom
1415                preminN=preminN-preminN_cdom
1416                preminFe_cdom = rfep_cdom*preminP_cdom
1417                preminFe=preminFe-preminFe_cdom
1418    #endif
1419    
1420  #ifdef ALLOW_CARBON  #ifdef ALLOW_CARBON
1421             DOCremin =  reminTempFunction * Kdoc * DOClocal             DOCremin =  reminTempFunction * Kdoc * DOClocal
1422             preminC  = reminTempFunction * Kpremin_C*POClocal             preminC  = reminTempFunction * Kpremin_C*POClocal
1423    #ifdef ALLOW_CDOM
1424                preminC_cdom = rcp_cdom*preminP_cdom
1425                preminC=preminC-preminC_cdom
1426    #endif
1427  c dissolution  c dissolution
1428             disscPIC = Kdissc*PIClocal             disscPIC = Kdissc*PIClocal
1429  #endif  #endif
1430    
1431    #ifdef ALLOW_CDOM
1432    c degradation of  CDOM - high when bleached by light
1433               cdomp_degrd = reminTempFunction * cdomlocal
1434         &            *(cdomdegrd+cdombleach*min(PARlocal/PARcdom,1. _d 0) )
1435               cdomn_degrd = rnp_cdom * cdomp_degrd
1436               cdomfe_degrd= rfep_cdom * cdomp_degrd
1437    #ifdef ALLOW_CARBON
1438               cdomc_degrd = rcp_cdom  * cdomp_degrd
1439    #endif
1440    #endif
1441    
1442  c chemistry  c chemistry
1443  c NH4 -> NO2 -> NO3 by bacterial action  c NH4 -> NO2 -> NO3 by bacterial action
1444              NO2prod = knita*( 1. _d 0-min(PARlocal/PAR0,1. _d 0) )              NO2prod = knita*( 1. _d 0-min(PARlocal/PAR0,1. _d 0) )
# Line 1349  c phytoplankton Line 1465  c phytoplankton
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
# Line 1364  c             dphychl(np) = rhochl(np)*P Line 1481  c             dphychl(np) = rhochl(np)*P
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)
# Line 1375  c%%% Line 1494  c%%%
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
# Line 1446  c zooplankton mortality Line 1567  c zooplankton mortality
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    
1594  c sum contributions to inorganic nutrient tendencies  c sum contributions to inorganic nutrient tendencies
1595              dPO4dt =  - consumpPO4 +  preminP  + DOPremin              dPO4dt =  - consumpPO4 +  
1596              dNH4dt =  - consumpNH4 +  preminN  + DONremin  #ifdef ALLOW_CDOM
1597         &                 DOPremin
1598    #else
1599         &                 preminP  + DOPremin
1600    #endif
1601                dNH4dt =  - consumpNH4 +  
1602    #ifdef ALLOW_CDOM
1603         &                 DONremin
1604    #else
1605         &                 preminN  +  DONremin
1606    #endif
1607       &                                   - NO2prod       &                                   - NO2prod
1608              dNO2dt =  - consumpNO2                                      dNO2dt =  - consumpNO2                        
1609       &                                   + NO2prod - NO3prod       &                                   + NO2prod - NO3prod
# Line 1473  c sum contributions to inorganic nutrien Line 1612  c sum contributions to inorganic nutrien
1612  c-ONLYNO3   dNO3dt =  - consumpNO3 +  preminN  + DONremin  c-ONLYNO3   dNO3dt =  - consumpNO3 +  preminN  + DONremin
1613  #ifdef ALLOW_DENIT  #ifdef ALLOW_DENIT
1614              if (O2local.le.O2crit) then              if (O2local.le.O2crit) then
1615                denit =  denit_np*(preminP  + DOPremin)                denit =  denit_np
1616    #ifdef ALLOW_CDOM
1617         &                *(DOPremin)
1618    #else
1619         &                *(preminP  + DOPremin)
1620    #endif
1621                dNO3dt = dNO3dt - denit                dNO3dt = dNO3dt - denit
1622                dNH4dt = dNH4dt -  (preminN  + DONremin)                dNH4dt = dNH4dt -  
1623    #ifdef ALLOW_CDOM
1624         &                 (DONremin)
1625    #else
1626         &                 (preminN  + DONremin)
1627    #endif
1628              endif              endif
1629  #endif  #endif
1630              dFeTdt =  - consumpFeT +  preminFe + DOFeremin              dFeTdt =  - consumpFeT +  
1631    #ifdef ALLOW_CDOM
1632         &                 DOFeremin
1633    #else
1634         &                 preminFe + DOFeremin
1635    #endif
1636  #ifdef PART_SCAV  #ifdef PART_SCAV
1637       &                 - scav_part*freefelocal +       &                 - scav_part*freefelocal +
1638  #else  #else
# Line 1489  c-ONLYNO3   dNO3dt =  - consumpNO3 +  pr Line 1643  c-ONLYNO3   dNO3dt =  - consumpNO3 +  pr
1643    
1644  c tendency of dissolved organic pool  c tendency of dissolved organic pool
1645              dDOPdt  = totphy_dop  + totzoo_dop  - DOPremin              dDOPdt  = totphy_dop  + totzoo_dop  - DOPremin
1646    #ifdef ALLOW_CDOM
1647         &                +preminP + cdomp_degrd
1648    #endif
1649              dDONdt  = totphy_don  + totzoo_don  - DONremin              dDONdt  = totphy_don  + totzoo_don  - DONremin
1650    #ifdef ALLOW_CDOM
1651         &                +preminN + cdomn_degrd
1652    #endif
1653              dDOFedt = totphy_dofe + totzoo_dofe - DOFeremin              dDOFedt = totphy_dofe + totzoo_dofe - DOFeremin
1654    #ifdef ALLOW_CDOM
1655         &                +preminFe + cdomfe_degrd
1656    #endif
1657    
1658  c tendency of particulate detritus pools  c tendency of particulate detritus pools
1659              dpopdt  = totphy_pop  + totzoo_pop   - preminP + psinkP              dpopdt  = totphy_pop  + totzoo_pop   - preminP + psinkP
1660    #ifdef ALLOW_CDOM
1661         &                -preminP_cdom
1662    #endif
1663              dpondt  = totphy_pon  + totzoo_pon   - preminN + psinkN              dpondt  = totphy_pon  + totzoo_pon   - preminN + psinkN
1664    #ifdef ALLOW_CDOM
1665         &                -preminN_cdom
1666    #endif
1667              dpofedt = totphy_pofe + totzoo_pofe  - preminFe + psinkFe              dpofedt = totphy_pofe + totzoo_pofe  - preminFe + psinkFe
1668    #ifdef ALLOW_CDOM
1669         &                -preminFe_cdom
1670    #endif
1671              dpSidt  = totphy_posi + totzoo_posi  - preminSi + psinkSi              dpSidt  = totphy_posi + totzoo_posi  - preminSi + psinkSi
1672  #ifdef ALLOW_CARBON  #ifdef ALLOW_CARBON
1673              dDICdt =  - consumpDIC - consumpDIC_PIC              dDICdt =  - consumpDIC - consumpDIC_PIC
1674    #ifdef ALLOW_CDOM
1675         &                                         +  DOCremin
1676    #else
1677       &                                         +  preminC  + DOCremin       &                                         +  preminC  + DOCremin
1678    #endif
1679       &                                         + disscPIC       &                                         + disscPIC
1680              dDOCdt  = totphy_doc  + totzoo_doc  - DOCremin              dDOCdt  = totphy_doc  + totzoo_doc  - DOCremin
1681    #ifdef ALLOW_CDOM
1682         &                    +preminC + cdomc_degrd
1683    #endif
1684              dPOCdt  = totphy_poc  + totzoo_poc  - preminC + psinkC              dPOCdt  = totphy_poc  + totzoo_poc  - preminC + psinkC
1685    #ifdef ALLOW_CDOM
1686         &                -preminC_cdom
1687    #endif
1688              dPICdt  = totphy_pic  + totzoo_pic  - disscPIC + psinkPIC              dPICdt  = totphy_pic  + totzoo_pic  - disscPIC + psinkPIC
1689              dALKdt  = - dNO3dt    - 2.d0 * (consumpDIC_PIC - disscPIC)              dALKdt  = - dNO3dt    - 2.d0 * (consumpDIC_PIC - disscPIC)
1690  c should be = O2prod - preminP - DOPremin?  c should be = O2prod - preminP - DOPremin?
# Line 1511  c production of O2 by photosynthesis Line 1694  c production of O2 by photosynthesis
1694               dO2dt   = R_OP*consumpPO4               dO2dt   = R_OP*consumpPO4
1695  c loss of O2 by remineralization  c loss of O2 by remineralization
1696               if (O2local.gt.O2crit) then               if (O2local.gt.O2crit) then
1697                 dO2dt   = dO2dt - R_OP*(preminP  + DOPremin)                 dO2dt   = dO2dt - R_OP
1698    #ifdef ALLOW_CDOM
1699         &                      *(DOPremin)
1700    #else
1701         &                      *(preminP  + DOPremin)
1702    #endif
1703               endif               endif
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    
1722    #ifdef ALLOW_CDOM
1723                dcdomdt = totphy_cdomp + totzoo_cdomp +  preminP_cdom
1724         &                  -cdomp_degrd
1725    #endif
1726    
1727  #endif  #endif
1728    
1729              if (debug.eq.10) print*,'dDOPdt', dDOPdt              if (debug.eq.10) print*,'dDOPdt', dDOPdt

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

  ViewVC Help
Powered by ViewVC 1.1.22