/[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.7 by stephd, Thu Jun 28 20:36:11 2012 UTC revision 1.9 by stephd, Thu Jul 26 18:01:22 2012 UTC
# Line 48  c ANNA pass extra variables if WAVEBANDS Line 48  c ANNA pass extra variables if WAVEBANDS
48       I                       phytoup, popuplocal, ponuplocal,       I                       phytoup, popuplocal, ponuplocal,
49       I                       pofeuplocal, psiuplocal,       I                       pofeuplocal, psiuplocal,
50       I                       PARlocal,Tlocal, Slocal,       I                       PARlocal,Tlocal, Slocal,
51         I                       pCO2local,
52       I                       freefelocal, inputFelocal,       I                       freefelocal, inputFelocal,
53       I                       bottom, dzlocal,       I                       bottom, dzlocal,
54       O                       Rstarlocal, RNstarlocal,       O                       Rstarlocal, RNstarlocal,
# Line 148  c zoo   = zooplankton Line 149  c zoo   = zooplankton
149           _RL PARlocal           _RL PARlocal
150           _RL Tlocal           _RL Tlocal
151           _RL Slocal           _RL Slocal
152             _RL pCO2local
153           _RL freefelocal           _RL freefelocal
154           _RL inputFelocal           _RL inputFelocal
155           _RL bottom           _RL bottom
# Line 247  c phytoplankton specific nutrient limita Line 249  c phytoplankton specific nutrient limita
249           _RL limit(npmax)           _RL limit(npmax)
250  c phytoplankton light limitation term  c phytoplankton light limitation term
251           _RL ilimit(npmax)           _RL ilimit(npmax)
252             _RL pCO2limit(npmax)
253           _RL ngrow(npmax)           _RL ngrow(npmax)
254           _RL grow(npmax)           _RL grow(npmax)
255           _RL PspecificPO4(npmax)           _RL PspecificPO4(npmax)
# Line 636  c using Platt-like equations with inhibi Line 639  c using Platt-like equations with inhibi
639  #endif  #endif
640  c ANNA endif  c ANNA endif
641    
642    c pCO2 limit - default to non
643             do np=1,npmax
644               pCO2limit(np)=1. _d 0
645    c          if (np.eq.6) then
646    c             pCO2limit(np)=1. _d 0 + (pCO2local-400. _d -6)/600 _d -6
647    c             pCO2limit(np)=max(pCO2limit(np),1. _d 0)
648    c             pCO2limit(np)=min(pCO2limit(np),2. _d 0)
649    c          endif
650               if (debug.eq.15) print*,'pco2limit',pCO2limit(np),pCO2local
651             enddo
652    
653    
654  ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc  ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
655  c Determine phytoplankton nutrient limitation as mimimum of  c Determine phytoplankton nutrient limitation as mimimum of
656  c P,N,Si,Fe. However N can be utilized in several forms, so  c P,N,Si,Fe. However N can be utilized in several forms, so
# Line 853  c ANNA endif Line 868  c ANNA endif
868  #endif  #endif
869    
870            do np = 1, npmax            do np = 1, npmax
871             pcm(np)=pcmax(np)*limit(np)*phytoTempFunction(np)             pcm(np)=pcmax(np)*limit(np)*phytoTempFunction(np)*
872         &                                         pCO2limit(np)
873  #ifdef DYNAMIC_CHL  #ifdef DYNAMIC_CHL
874             if (phyto(np).gt. 0. _d 0) then             if (phyto(np).gt. 0. _d 0) then
875               chl2c(np)=phychl(np)/(phyto(np)*R_PC(np))               chl2c(np)=phychl(np)/(phyto(np)*R_PC(np))
# Line 930  c         acclim(np)=max(acclim(np),chl2 Line 946  c         acclim(np)=max(acclim(np),chl2
946  c diagnostic version of the above that does not feed back to growth  c diagnostic version of the above that does not feed back to growth
947            ChlGeiderlocal = 0. _d 0            ChlGeiderlocal = 0. _d 0
948            do np = 1, npmax            do np = 1, npmax
949             tmppcm = mu(np)*limit(np)*phytoTempFunction(np)             tmppcm = mu(np)*limit(np)*phytoTempFunction(np)*
950         &                                       pCO2limit(np)
951             if (tmppcm.gt.0.d0) then             if (tmppcm.gt.0.d0) then
952               tmpchl2c = Geider_chl2cmax(np)/               tmpchl2c = Geider_chl2cmax(np)/
953       &         (1+(Geider_chl2cmax(np)*Geider_alphachl(np)*PARdaylocal)/       &         (1+(Geider_chl2cmax(np)*Geider_alphachl(np)*PARdaylocal)/
# Line 1290  c consumption - sum of phytoplankton con Line 1307  c consumption - sum of phytoplankton con
1307  c phospate uptake by each phytoplankton  c phospate uptake by each phytoplankton
1308  #ifndef GEIDER  #ifndef GEIDER
1309                 grow(np)=ngrow(np)*mu(np)*limit(np)*ilimit(np)*                 grow(np)=ngrow(np)*mu(np)*limit(np)*ilimit(np)*
1310       &                            phytoTempFunction(np)       &                            phytoTempFunction(np)*pCO2limit(np)
1311  #endif  #endif
1312  #ifdef GEIDER  #ifdef GEIDER
1313                 grow(np)=ngrow(np)*pcarbon(np)                 grow(np)=ngrow(np)*pcarbon(np)
# Line 1439  c degradation of  CDOM - high when bleac Line 1456  c degradation of  CDOM - high when bleac
1456  #endif  #endif
1457  #endif  #endif
1458    
1459    #ifdef ALLOW_DENIT
1460               if (O2local.lt.O2crit) then
1461                  if (NO3local.lt.no3crit) then
1462    c no remineralization for N, P, Fe (not Si?)
1463                   DOPremin = 0. _d 0
1464                   DONremin = 0. _d 0
1465                   DOFeremin = 0. _d 0
1466                   preminP  = 0. _d 0
1467                   preminN  = 0. _d 0
1468                   preminFe =  0. _d 0
1469    #ifdef ALLOW_CDOM
1470                   preminP_cdom =  0. _d 0
1471                   preminN_cdom =  0. _d 0
1472                   preminFe_cdom =  0. _d 0
1473    #endif
1474    #ifdef ALLOW_CARBON
1475                  DOCremin = 0. _d 0
1476                  preminC  = 0. _d 0
1477    #ifdef ALLOW_CDOM
1478                  preminC_cdom =  0. _d 0
1479    #endif
1480    #endif
1481    
1482    #ifdef ALLOW_CDOM
1483    c degradation of  CDOM - high when bleached by light
1484               cdomp_degrd = reminTempFunction * cdomlocal
1485         &            *(cdombleach*min(PARlocal/PARcdom,1. _d 0) )
1486               cdomn_degrd = rnp_cdom * cdomp_degrd
1487               cdomfe_degrd= rfep_cdom * cdomp_degrd
1488    #ifdef ALLOW_CARBON
1489               cdomc_degrd = rcp_cdom  * cdomp_degrd
1490    #endif
1491    #endif
1492                  endif
1493               endif
1494    #endif
1495    c end denit caveats
1496    
1497  c chemistry  c chemistry
1498  c NH4 -> NO2 -> NO3 by bacterial action  c NH4 -> NO2 -> NO3 by bacterial action
1499              NO2prod = knita*( 1. _d 0-min(PARlocal/PAR0,1. _d 0) )              NO2prod = knita*( 1. _d 0-min(PARlocal/PAR0,1. _d 0) )
# Line 1506  c%%% Line 1561  c%%%
1561  #ifdef DAR_DIAG_RSTAR  #ifdef DAR_DIAG_RSTAR
1562  #ifndef GEIDER  #ifndef GEIDER
1563                tmpgrow=ngrow(np)*mu(np)*ilimit(np)*                tmpgrow=ngrow(np)*mu(np)*ilimit(np)*
1564       &              phytoTempFunction(np)       &              phytoTempFunction(np)*pCO2limit(np)
1565  #endif  #endif
1566  #ifdef GEIDER  #ifdef GEIDER
1567                tmpgrow=grow(np)/limit(np)                tmpgrow=grow(np)/limit(np)
# Line 1618  c-ONLYNO3   dNO3dt =  - consumpNO3 +  pr Line 1673  c-ONLYNO3   dNO3dt =  - consumpNO3 +  pr
1673  #else  #else
1674       &                *(preminP  + DOPremin)       &                *(preminP  + DOPremin)
1675  #endif  #endif
1676                dNO3dt = dNO3dt - denit                dNO3dt = dNO3dt - (denit_no3/denit_np)*denit
1677                dNH4dt = dNH4dt -                  dNH4dt = dNH4dt -  
1678  #ifdef ALLOW_CDOM  #ifdef ALLOW_CDOM
1679       &                 (DONremin)       &                 (DONremin)

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

  ViewVC Help
Powered by ViewVC 1.1.22