/[MITgcm]/MITgcm_contrib/darwin2/pkg/quota/quota_plankton.F
ViewVC logotype

Diff of /MITgcm_contrib/darwin2/pkg/quota/quota_plankton.F

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

revision 1.1 by jahn, Wed Apr 13 18:56:26 2011 UTC revision 1.2 by benw, Mon Jul 2 09:55:36 2012 UTC
# Line 41  c ====================================== Line 41  c ======================================
41  #ifdef FQUOTA  #ifdef FQUOTA
42       I                       freefelocal, inputFelocal,       I                       freefelocal, inputFelocal,
43  #endif  #endif
44    #ifdef QUOTA_DIAG_LIMIT
45         O                       Nlim, Flim, Ilim, photo_Tempfunction,
46    #endif
47       I                       PARlocal, Tlocal, Slocal,       I                       PARlocal, Tlocal, Slocal,
48       I                       bottom, surface, dzlocal,       I                       bottom, surface, dzlocal,
49       O                       dbiomassdt,dorgmatdt, dnutrientdt,       O                       dbiomassdt,dorgmatdt, dnutrientdt,
# Line 81  c orgmat   = organic matter biomass (dis Line 84  c orgmat   = organic matter biomass (dis
84           _RL freefelocal           _RL freefelocal
85           _RL inputFelocal           _RL inputFelocal
86  #endif  #endif
87    #ifdef QUOTA_DIAG_LIMIT
88             _RL Nlim(npmax),Flim(npmax),Ilim(npmax),Tlim
89    #endif
90           _RL m_ref(npmax)           _RL m_ref(npmax)
91           _RL PARlocal           _RL PARlocal
92           _RL Tlocal           _RL Tlocal
# Line 195  c limit ranges from 1 to 0 between qmin Line 201  c limit ranges from 1 to 0 between qmin
201              qreg(io,jp) = (qmax(io,jp) - quota(io,jp))              qreg(io,jp) = (qmax(io,jp) - quota(io,jp))
202       &                  / (qmax(io,jp) - qmin(io,jp) )       &                  / (qmax(io,jp) - qmin(io,jp) )
203            endif            endif
204    #ifdef QUOTA_DIAG_LIMIT
205              if (io.eq.iNitr) Nlim(jp) = limit
206              if (io.eq.iIron) Flim(jp) = limit
207    #endif
208  #ifdef FQUOTA  #ifdef FQUOTA
209            if (io.eq.iIron) then            if (io.eq.iIron) then
210              felimit(jp) = limit              felimit(jp) = limit
# Line 214  c limit ranges from 1 to 0 between qmin Line 224  c limit ranges from 1 to 0 between qmin
224  #endif  #endif
225            qlimit(jp)     = min(qlimit(jp),limit)            qlimit(jp)     = min(qlimit(jp),limit)
226            qreg(iCarb,jp) = min(qreg(iCarb,jp),1. _d 0 - qreg(io,jp))            qreg(iCarb,jp) = min(qreg(iCarb,jp),1. _d 0 - qreg(io,jp))
227    c
228          enddo ! io          enddo ! io
229          if (autotrophy(jp).eq. 0. _d 0) then          if (autotrophy(jp).eq. 0. _d 0) then
230            biomass(iChlo,jp)  = 0. _d 0 ! pure heterotroph, so chl is zero            biomass(iChlo,jp)  = 0. _d 0 ! pure heterotroph, so chl is zero
# Line 271  c Line 282  c
282  c ****************************************************************  c ****************************************************************
283  c ************* Photosynthetic Carbon Assimilation ***************  c ************* Photosynthetic Carbon Assimilation ***************
284  c ****************************************************************  c ****************************************************************
285          PP = 0.0 _d 0
286        call GEIDER98(        call GEIDER98(
287       I              PARlocal,       I              PARlocal,
288       I              biomass,       I              biomass,
# Line 278  c ************************************** Line 290  c **************************************
290  #ifdef FQUOTA  #ifdef FQUOTA
291       I              felimit,       I              felimit,
292  #endif  #endif
293    #ifdef QUOTA_DIAG_LIMIT
294         O              Ilim,
295    #endif
296       U              up_inorg,       U              up_inorg,
297         O              PP,
298       I              photo_Tempfunction,       I              photo_Tempfunction,
299       O              dchloro, ! chlorophyll synthesis rate       O              dchloro, ! chlorophyll synthesis rate
300       I              myThid)       I              myThid)
# Line 467  c           Exudation of elemental reser Line 483  c           Exudation of elemental reser
483            endif            endif
484  !  !
485  ! calculate temperature adjusted mortality rates  ! calculate temperature adjusted mortality rates
486            m_ref(jp) = kmort(jp)  ! linear            m_ref(jp) = kmort(jp) !* activ_Tempfunction
487  ! quadratic Z mortality            ! Z mortality is t dependent - a la Moore 2002
488            if (pft(jp).eq.6) then            if (pft(jp).eq.6) then
489              m_ref(jp) = kmort(jp) * 0.5 _d 0                     ! linear              m_ref(jp) = kmort(jp) * activ_Tempfunction
 !     &                + kmort(jp) * 0.25 _d 0 * biomass(iCarb,jp) ! quadratic  
490            endif            endif
           m_ref(jp) = m_ref(jp) * activ_Tempfunction  
491  !  !
492  ! Loss and sinking terms - include silicate and chlorophyll  ! Loss and sinking terms - include silicate and chlorophyll
493              dbiomassdt(io,jp) = dbiomassdt(io,jp)              dbiomassdt(io,jp) = dbiomassdt(io,jp)
# Line 554  c Line 568  c
568       &                  + nrite2nrate * nutrient(iNO2)   ! nitrate from nitrite       &                  + nrite2nrate * nutrient(iNO2)   ! nitrate from nitrite
569  #else  #else
570        dnutrientdt(iNO3) = dnutrientdt(iNO3)              ! or        dnutrientdt(iNO3) = dnutrientdt(iNO3)              ! or
571       &                  + amm2nrate * nutrient(iNH4)     ! nitrate from ammonium       &                  + amm2nrite * nutrient(iNH4)     ! nitrate from ammonium
572  #endif  #endif
573  #endif  #endif
574  c  c
# Line 599  c organic matter Line 613  c organic matter
613          enddo ! ko          enddo ! ko
614        enddo ! io        enddo ! io
615  c********************************************************************************  c********************************************************************************
 c Uptake diagnostics  
       PP=0. _d 0  
       do jp=1,npmax  
         if (pft(jp).ne.6) then  
           PP = PP + biomass(iCarb,jp) * up_inorg(iCarb,jp) * 86400. _d 0  
         endif  
       enddo  
616  c -------------------------------------------------------------------  c -------------------------------------------------------------------
617  ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc  ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
618  c --------------------------------------------------------------------------  c --------------------------------------------------------------------------

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

  ViewVC Help
Powered by ViewVC 1.1.22