Ignore:
Timestamp:
2014-03-15T12:00:04+01:00 (7 years ago)
Author:
cetlod
Message:

Bugfix and minor improvment on PISCES, see ticket #1258

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zmicro.F90

    r4521 r4529  
    7272      INTEGER  :: ji, jj, jk 
    7373      REAL(wp) :: zcompadi, zcompaz , zcompaph, zcompapoc 
    74       REAL(wp) :: zgraze  , zdenom, zdenom2, zncratio 
     74      REAL(wp) :: zgraze  , zdenom, zdenom2 
    7575      REAL(wp) :: zfact   , zstep, zfood, zfoodlim 
    76       REAL(wp) :: zepshert, zepsherv, zgrarsig, zgraztot, zgraztotf 
     76      REAL(wp) :: zepshert, zepsherv, zgrarsig, zgraztot, zgraztotn, zgraztotf 
    7777      REAL(wp) :: zgrarem, zgrafer, zgrapoc, zprcaca, zmortz 
    78       REAL(wp) :: zrespz, ztortz, zgrasrat 
     78      REAL(wp) :: zrespz, ztortz, zgrasrat, zgrasratn 
    7979      REAL(wp) :: zgrazp, zgrazm, zgrazsd 
    8080      REAL(wp) :: zgrazmf, zgrazsf, zgrazpf 
     
    9191         DO jj = 1, jpj 
    9292            DO ji = 1, jpi 
    93                zcompaz = MAX( ( trn(ji,jj,jk,jpzoo) - 1.e-8 ), 0.e0 ) 
     93               zcompaz = MAX( ( trn(ji,jj,jk,jpzoo) - 1.e-9 ), 0.e0 ) 
    9494               zstep   = xstep 
    9595# if defined key_degrad 
     
    130130               zgraztot  = zgrazp  + zgrazm  + zgrazsd  
    131131               zgraztotf = zgrazpf + zgrazsf + zgrazmf  
     132               zgraztotn = zgrazp * quotan(ji,jj,jk) + zgrazm + zgrazsd * quotad(ji,jj,jk) 
    132133 
    133134               ! Grazing by microzooplankton 
     
    137138               !    -------------------------------------------- 
    138139               zgrasrat  = zgraztotf / ( zgraztot + rtrn ) 
    139                zncratio  = ( xpref2p * zcompaph * quotan(ji,jj,jk) & 
    140                   &        + xpref2d * zcompadi * quotad(ji,jj,jk) + xpref2c * zcompapoc ) / ( zfood + rtrn ) 
    141                zepshert  = epsher * MIN( 1., zncratio ) 
    142                zepsherv  = zepshert * MIN( 1., zgrasrat / ferat3 ) 
     140               zgrasratn = zgraztotn / ( zgraztot + rtrn ) 
     141               zepshert  =  MIN( 1., zgrasratn, zgrasrat / ferat3) 
     142               zepsherv  = zepshert * MIN( epsher, (1. - unass) * zgrasrat / ferat3, (1. - unass) * zgrasratn ) 
    143143               zgrafer   = zgraztot * MAX( 0. , ( 1. - unass ) * zgrasrat - ferat3 * zepsherv )  
    144144               zgrarem   = zgraztot * ( 1. - zepsherv - unass ) 
     
    174174               tra(ji,jj,jk,jppoc) = tra(ji,jj,jk,jppoc) + zmortz - zgrazm 
    175175               tra(ji,jj,jk,jpsfe) = tra(ji,jj,jk,jpsfe) + ferat3 * zmortz - zgrazmf 
    176                zprcaca = xfracal(ji,jj,jk) * zgrazp 
    177176               ! 
    178177               ! calcite production 
     178               zprcaca = xfracal(ji,jj,jk) * zgrazp 
    179179               prodcal(ji,jj,jk) = prodcal(ji,jj,jk) + zprcaca  ! prodcal=prodcal(nanophy)+prodcal(microzoo)+prodcal(mesozoo) 
    180180               ! 
Note: See TracChangeset for help on using the changeset viewer.