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 8004 – NEMO

Changeset 8004


Ignore:
Timestamp:
2017-05-09T12:31:35+02:00 (7 years ago)
Author:
aumont
Message:

update of p5zlim for N/P ratios

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P5Z/p5zlim.F90

    r8003 r8004  
    158158      REAL(wp) ::   fanano, fananop, fananof, fadiat, fadiatp, fadiatf 
    159159      REAL(wp) ::   fapico, fapicop, fapicof 
    160       REAL(wp) ::   zrpho, zrass, zcoef, zfuptk, zratchl 
     160      REAL(wp) ::   zrpho, zrass, zcoef, zfuptk, zratchl, zphotnp 
    161161      REAL(wp) ::   zfvn, zfvp, zfvf, zsizen, zsizep, zsized, znanochl, zpicochl, zdiatchl 
    162162      REAL(wp) ::   zqfemn, zqfemp, zqfemd 
     
    165165      IF( nn_timing == 1 )  CALL timing_start('p5z_lim') 
    166166      ! 
    167       zratchl = 6.0 
     167      zratchl = 7.0 
     168      zphotnp = zratchl * 16./ 53. 
    168169      ! 
    169170      DO jk = 1, jpkm1 
     
    364365               ! Size estimation of nanophytoplankton 
    365366               ! ------------------------------------ 
    366                zfvn = 2. * fvnuptk(ji,jj,jk) 
     367               zfvn = zpsiuptk / rno3 * fvnuptk(ji,jj,jk) 
    367368               sizen(ji,jj,jk) = MAX(1., MIN(xsizern, 1.0 / ( MAX(rtrn, zfvn) ) ) ) 
    368369               ! N/P ratio of nanophytoplankton 
    369370               ! ------------------------------ 
    370371               zfuptk = 0.23 * zfvn 
    371                zrpho = 2.24 * trb(ji,jj,jk,jpnch) / ( trb(ji,jj,jk,jpnph) * rno3 * 15. + rtrn ) 
     372               zrpho = zphotnp * trb(ji,jj,jk,jpnch) / ( trb(ji,jj,jk,jpnph) * rno3 * 15. + rtrn ) 
    372373               zrass = (1. - 0.2 - zrpho - zfuptk) 
    373374               xqpnmax(ji,jj,jk) = ( zfuptk + zrpho ) * 0.0128 * 16. + zrass * 1./ 7.2 * 16. + 0.13 
     
    377378               ! Size estimation of picophytoplankton 
    378379               ! ------------------------------------ 
    379                zfvn = 2. * fvpuptk(ji,jj,jk) 
     380               zfvn = zpsiuptk / rno3 * fvpuptk(ji,jj,jk) 
    380381               sizep(ji,jj,jk) = MAX(1., MIN(xsizerp, 1.0 / ( MAX(rtrn, zfvn) ) ) ) 
    381382 
     
    383384               ! ------------------------------ 
    384385               zfuptk = 0.35 * zfvn 
    385                zrpho = 2.24 * trb(ji,jj,jk,jppch) / ( trb(ji,jj,jk,jpnpi) * rno3 * 15. + rtrn ) 
     386               zrpho = zphotnp * trb(ji,jj,jk,jppch) / ( trb(ji,jj,jk,jpnpi) * rno3 * 15. + rtrn ) 
    386387               zrass = (1. - 0.3 - zrpho - zfuptk) 
    387388               xqppmax(ji,jj,jk) =  (zrpho + zfuptk) * 0.0128 * 16. + zrass * 1./ 10.9 * 16. + 0.13 
     
    391392               ! Size estimation of diatoms 
    392393               ! -------------------------- 
    393                zfvn = 2. * fvduptk(ji,jj,jk) 
     394               zfvn = zpsiuptk / rno3 * fvduptk(ji,jj,jk) 
    394395               sized(ji,jj,jk) = MAX(1., MIN(xsizerd, 1.0 / ( MAX(rtrn, zfvn) ) ) ) 
    395396!               zcoef = trb(ji,jj,jk,jpdia) - MIN(xsizedia, trb(ji,jj,jk,jpdia) ) 
     
    399400               ! -------------------- 
    400401               zfuptk = 0.2 * zfvn 
    401                zrpho = 2.24 * trb(ji,jj,jk,jpdch) / ( trb(ji,jj,jk,jpndi) * rno3 * 15. + rtrn ) 
     402               zrpho = zphotnp * trb(ji,jj,jk,jpdch) / ( trb(ji,jj,jk,jpndi) * rno3 * 15. + rtrn ) 
    402403               zrass = 1. - 0.2 - zrpho - zfuptk 
    403404               xqpdmax(ji,jj,jk) = ( zfuptk + zrpho ) * 0.0128 * 16. + zrass * 1./ 7.2 * 16. + 0.13 
     
    417418               &        / ( trb(ji,jj,jk,jpnh4) + concnnh4 ) ) 
    418419               zlim2  = trb(ji,jj,jk,jppo4) / ( trb(ji,jj,jk,jppo4) + concnpo4 ) 
    419                zlim3  = trb(ji,jj,jk,jpfer) / ( trb(ji,jj,jk,jpfer) +  5.E-11 )  
     420               zlim3  = trb(ji,jj,jk,jpfer) / ( trb(ji,jj,jk,jpfer) +  1.E-10 )  
    420421               ztem1  = MAX( 0., tsn(ji,jj,jk,jp_tem) ) 
    421422               ztem2  = tsn(ji,jj,jk,jp_tem) - 10. 
     
    423424 
    424425!               xfracal(ji,jj,jk) = caco3r * MIN( zlim1, zlim2, zlim3 )                  & 
    425                xfracal(ji,jj,jk) = caco3r                 & 
     426               xfracal(ji,jj,jk) = caco3r * xlimphy(ji,jj,jk)    & 
    426427               &                   * ztem1 / ( 1. + ztem1 ) * MAX( 1., trb(ji,jj,jk,jpphy)*1E6 )   & 
    427428                  &                * ( 1. + EXP(-ztem2 * ztem2 / 25. ) )         & 
Note: See TracChangeset for help on using the changeset viewer.