Changeset 12837


Ignore:
Timestamp:
2020-05-01T10:37:37+02:00 (7 months ago)
Author:
cetlod
Message:

r4.0-HEAD : Bugfixes PISCES model, see ticket #2453, #2454, #2455

Location:
NEMO/releases/r4.0/r4.0-HEAD/src/TOP/PISCES
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • NEMO/releases/r4.0/r4.0-HEAD/src/TOP/PISCES/P4Z/p4zmeso.F90

    r12276 r12837  
    6666      REAL(wp) :: zfact   , zfood, zfoodlim, zproport, zbeta 
    6767      REAL(wp) :: zmortzgoc, zfrac, zfracfe, zratio, zratio2, zfracal, zgrazcal 
    68       REAL(wp) :: zepsherf, zepshert, zepsherv, zgrarsig, zgraztotc, zgraztotn, zgraztotf 
     68      REAL(wp) :: zepsherf, zepshert, zepsherv, zepsherq  
     69      REAL(wp) :: zgrarsig, zgraztotc, zgraztotn, zgraztotf 
    6970      REAL(wp) :: zgrarem2, zgrafer2, zgrapoc2, zprcaca, zmortz, zgrasrat, zgrasratn 
    7071      REAL(wp) :: zrespz, ztortz, zgrazd, zgrazz, zgrazpof 
     
    155156               zgrazing2(ji,jj,jk) = zgraztotc 
    156157 
    157                !    Mesozooplankton efficiency 
    158                !    -------------------------- 
     158               ! Mesozooplankton efficiency.  
     159               ! We adopt a formulation proposed by Mitra et al. (2007) 
     160               ! The gross growth efficiency is controled by the most limiting nutrient. 
     161               ! Growth is also further decreased when the food quality is poor. This is currently 
     162               ! hard coded : it can be decreased by up to 50% (zepsherq) 
     163               ! GGE can also be decreased when food quantity is high, zepsherf (Montagnes and  
     164               ! Fulton, 2012) 
     165               ! ----------------------------------------------------------------------------------- 
    159166               zgrasrat  =  ( zgraztotf + rtrn )/ ( zgraztotc + rtrn ) 
    160167               zgrasratn =  ( zgraztotn + rtrn )/ ( zgraztotc + rtrn ) 
     
    162169               zbeta     = MAX(0., (epsher2 - epsher2min) ) 
    163170               zepsherf  = epsher2min + zbeta / ( 1.0 + 0.04E6 * 12. * zfood * zbeta )  
    164                zepsherv  = zepsherf * zepshert  
     171               zepsherq  = 0.5 + (1.0 - 0.5) * zepshert * ( 1.0 + 1.0 ) / ( zepshert + 1.0 ) 
     172               zepsherv  = zepsherf * zepshert * zepsherq  
    165173 
    166174               zgrarem2  = zgraztotc * ( 1. - zepsherv - unass2 ) & 
  • NEMO/releases/r4.0/r4.0-HEAD/src/TOP/PISCES/P4Z/p4zmicro.F90

    r12276 r12837  
    6464      REAL(wp) :: zgraze  , zdenom, zdenom2 
    6565      REAL(wp) :: zfact   , zfood, zfoodlim, zbeta 
    66       REAL(wp) :: zepsherf, zepshert, zepsherv, zgrarsig, zgraztotc, zgraztotn, zgraztotf 
     66      REAL(wp) :: zepsherf, zepshert, zepsherv, zepsherq 
     67      REAL(wp) :: zgrarsig, zgraztotc, zgraztotn, zgraztotf 
    6768      REAL(wp) :: zgrarem, zgrafer, zgrapoc, zprcaca, zmortz 
    6869      REAL(wp) :: zrespz, ztortz, zgrasrat, zgrasratn 
     
    118119               zgrazing(ji,jj,jk) = zgraztotc 
    119120 
    120                !    Various remineralization and excretion terms 
    121                !    -------------------------------------------- 
     121               ! Microzooplankton efficiency.  
     122               ! We adopt a formulation proposed by Mitra et al. (2007) 
     123               ! The gross growth efficiency is controled by the most limiting nutrient. 
     124               ! Growth is also further decreased when the food quality is poor. This is currently 
     125               ! hard coded : it can be decreased by up to 50% (zepsherq) 
     126               ! GGE can also be decreased when food quantity is high, zepsherf (Montagnes and  
     127               ! Fulton, 2012) 
     128               ! ----------------------------------------------------------------------------- 
    122129               zgrasrat  = ( zgraztotf + rtrn ) / ( zgraztotc + rtrn ) 
    123130               zgrasratn = ( zgraztotn + rtrn ) / ( zgraztotc + rtrn ) 
     
    125132               zbeta     = MAX(0., (epsher - epshermin) ) 
    126133               zepsherf  = epshermin + zbeta / ( 1.0 + 0.04E6 * 12. * zfood * zbeta ) 
    127                zepsherv  = zepsherf * zepshert  
     134               zepsherq  = 0.5 + (1.0 - 0.5) * zepshert * ( 1.0 + 1.0 ) / ( zepshert + 1.0 ) 
     135               zepsherv  = zepsherf * zepshert * zepsherq  
    128136 
    129137               zgrafer   = zgraztotc * MAX( 0. , ( 1. - unass ) * zgrasrat - ferat3 * zepsherv )  
  • NEMO/releases/r4.0/r4.0-HEAD/src/TOP/PISCES/P4Z/p4zsbc.F90

    r11536 r12837  
    270270      ENDIF 
    271271 
    272       ! set the number of level over which river runoffs are applied  
    273       ! online configuration : computed in sbcrnf 
    274       IF( l_offline ) THEN 
    275         nk_rnf(:,:) = 1 
    276         h_rnf (:,:) = gdept_n(:,:,1) 
    277       ENDIF 
    278272 
    279273      ! dust input from the atmosphere 
  • NEMO/releases/r4.0/r4.0-HEAD/src/TOP/PISCES/SED/sedchem.F90

    r10356 r12837  
    577577         saltprac(:) = salt(:) * 35.0 / 35.16504 
    578578      ELSE 
    579          saltprac(:) = temp(:) 
     579         saltprac(:) = salt(:) 
    580580      ENDIF 
    581581 
  • NEMO/releases/r4.0/r4.0-HEAD/src/TOP/PISCES/SED/sedinorg.F90

    r10225 r12837  
    8989            zsolcpcl = zsolcpcl + solcp(ji,jk,jsclay) * dz(jk) 
    9090         END DO 
     91         zsolcpsi = MAX( zsolcpsi, rtrn ) 
    9192         zsieq(ji) = sieqs(ji) * MAX(0.25, 1.0 - (0.045 * zsolcpcl / zsolcpsi )**0.58 ) 
    9293         zsieq(ji) = MAX( rtrn, sieqs(ji) ) 
Note: See TracChangeset for help on using the changeset viewer.