New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 13233 for NEMO/branches/2019/dev_r11708_aumont_PISCES_QUOTA/src/TOP/PISCES/P4Z/p5zmicro.F90 – NEMO

Ignore:
Timestamp:
2020-07-02T20:34:16+02:00 (4 years ago)
Author:
aumont
Message:

update of the PISCES comments

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/dev_r11708_aumont_PISCES_QUOTA/src/TOP/PISCES/P4Z/p5zmicro.F90

    r12537 r13233  
    1515   USE trc             !  passive tracers common variables  
    1616   USE sms_pisces      !  PISCES Source Minus Sink variables 
    17    USE p4zlim 
     17   USE p4zlim          !  PISCES nutrient limitation term of PISCES std 
    1818   USE p5zlim          !  Phytoplankton limitation terms 
    1919   USE iom             !  I/O manager 
     
    5050   REAL(wp), PUBLIC ::  srespir     !: half sturation constant for grazing 1  
    5151   REAL(wp), PUBLIC ::  ssigma      !: Fraction excreted as semi-labile DOM 
     52   REAL(wp), PUBLIC ::  xsigma      !: Width of the grazing window 
     53   REAL(wp), PUBLIC ::  xsigmadel   !: Maximum additional width of the grazing window at low food density 
    5254   LOGICAL,  PUBLIC ::  bmetexc     !: Use of excess carbon for respiration 
    5355 
     
    161163               ! ---------------------------------------------------------- 
    162164               zsigma = 1.0 - zdenom**2/(0.05**2+zdenom**2) 
    163                zsigma = 0.5 + 1.0*zsigma 
     165               zsigma = xsigma + xsigmadel * zsigma 
    164166               zdiffpn = exp( -ABS(log(0.5 * sizep(ji,jj,jk) / (3.0 * sizen(ji,jj,jk) + rtrn )) )**2 / zsigma**2 ) 
    165167               zdiffdn = exp( -ABS(log(3.0 * sizen(ji,jj,jk) / (5.0 * sized(ji,jj,jk) + rtrn )) )**2 / zsigma**2) 
     
    179181               !   Microzooplankton regular grazing on the different preys 
    180182               !   ------------------------------------------------------- 
    181                zgraznc   = zgraze  * ztmp1  * zdenom 
     183               !   Nanophytoplankton 
     184               zgraznc   = zgraze  * ztmp1  * zdenom   
    182185               zgraznn   = zgraznc * trb(ji,jj,jk,jpnph) / (trb(ji,jj,jk,jpphy) + rtrn) 
    183186               zgraznp   = zgraznc * trb(ji,jj,jk,jppph) / (trb(ji,jj,jk,jpphy) + rtrn) 
    184187               zgraznf   = zgraznc * trb(ji,jj,jk,jpnfe) / (trb(ji,jj,jk,jpphy) + rtrn) 
     188 
     189               ! Picophytoplankton 
    185190               zgrazpc   = zgraze  * ztmp2  * zdenom 
    186191               zgrazpn   = zgrazpc * trb(ji,jj,jk,jpnpi) / (trb(ji,jj,jk,jppic) + rtrn) 
    187192               zgrazpp   = zgrazpc * trb(ji,jj,jk,jpppi) / (trb(ji,jj,jk,jppic) + rtrn) 
    188193               zgrazpf   = zgrazpc * trb(ji,jj,jk,jppfe) / (trb(ji,jj,jk,jppic) + rtrn) 
     194               ! Microzooplankton 
    189195               zgrazz    = zgraze  * ztmp5   * zdenom 
     196 
     197               ! small POC 
    190198               zgrazpoc  = zgraze  * ztmp3   * zdenom 
    191199               zgrazpon  = zgrazpoc * trb(ji,jj,jk,jppon) / ( trb(ji,jj,jk,jppoc) + rtrn ) 
    192200               zgrazpop  = zgrazpoc * trb(ji,jj,jk,jppop) / ( trb(ji,jj,jk,jppoc) + rtrn ) 
    193201               zgrazpof  = zgrazpoc* trb(ji,jj,jk,jpsfe) / (trb(ji,jj,jk,jppoc) + rtrn) 
     202 
     203               ! Diatoms 
    194204               zgrazdc   = zgraze  * ztmp4  * zdenom 
    195205               zgrazdn   = zgrazdc * trb(ji,jj,jk,jpndi) / (trb(ji,jj,jk,jpdia) + rtrn) 
     
    197207               zgrazdf   = zgrazdc * trb(ji,jj,jk,jpdfe) / (trb(ji,jj,jk,jpdia) + rtrn) 
    198208               ! 
     209               ! Total ingestion rates in C, P, Fe, N 
    199210               zgraztotc = zgraznc + zgrazpoc + zgrazdc + zgrazz + zgrazpc 
    200211               zgraztotn = zgraznn + zgrazpn + zgrazpon + zgrazdn + zgrazz * no3rat3 
     
    221232               zepshert  = MIN( 1., zgrasratn/ no3rat3, zgrasratp/ po4rat3, zgrasratf / ferat3) 
    222233               zbeta     = MAX( 0., (epsher - epshermin) ) 
     234               ! Food density deprivation of GGE 
    223235               zepsherf  = epshermin + zbeta / ( 1.0 + 0.04E6 * 12. * zfood * zbeta ) 
     236               ! Food quality deprivation of GGE 
    224237               zepsherq  = 0.5 + (1.0 - 0.5) * zepshert * ( 1.0 + 1.0 ) / ( zepshert + 1.0 ) 
     238               ! Actual GGE 
    225239               zepsherv  = zepsherf * zepshert * zepsherq 
    226240 
    227241               ! Respiration of microzooplankton 
    228242               ! Excess carbon in the food is used preferentially 
     243               ! when activated by zmetexcess 
    229244               ! ------------------------------------------------ 
    230245               zexcess  = zgraztotc * zepsherf * (1.0 - zepshert) * zmetexcess 
     
    380395         &                xprefp, xprefd, xprefz, xthreshdia, xthreshphy, & 
    381396         &                xthreshpic, xthreshpoc, xthreshzoo, xthresh, xkgraz, & 
    382          &                epsher, epshermin, ssigma, srespir, unassc, unassn, unassp 
     397         &                epsher, epshermin, ssigma, srespir, unassc, unassn, unassp,   & 
     398         &                xsigma, xsigmadel    
    383399      !!---------------------------------------------------------------------- 
    384400      ! 
     
    420436         WRITE(numout,*) '    half sturation constant for grazing 1           xkgraz      =', xkgraz 
    421437         WRITE(numout,*) '    Use of excess carbon for respiration            bmetexc     =', bmetexc 
     438         WRITE(numout,*) '      Width of the grazing window                     xsigma      =', xsigma 
     439         WRITE(numout,*) '      Maximum additional width of the grazing window  xsigmadel   =', xsigmadel 
    422440      ENDIF 
    423441      ! 
Note: See TracChangeset for help on using the changeset viewer.