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 3830 for branches/2012/dev_v3_4_STABLE_2012/NEMOGCM – NEMO

Ignore:
Timestamp:
2013-03-06T12:00:26+01:00 (11 years ago)
Author:
cetlod
Message:

v3.4 stable: bugfixes on mesozoo efficiency calculation, see ticket #1067

Location:
branches/2012/dev_v3_4_STABLE_2012/NEMOGCM/NEMO/TOP_SRC/PISCES
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/2012/dev_v3_4_STABLE_2012/NEMOGCM/NEMO/TOP_SRC/PISCES/p4zmeso.F90

    r3295 r3830  
    7474      REAL(wp) :: zfact   , zstep, zfood, zfoodlim 
    7575      REAL(wp) :: zepshert, zepsherv, zgrarsig, zgraztot, zgraztotf 
    76       REAL(wp) :: zgrarem2, zgrafer2, zgrapoc2, zprcaca, zmortz2, zgrasrat 
     76      REAL(wp) :: zgrarem2, zgrafer2, zgrapoc2, zprcaca, zmortz2, zmortzgoc, zgrasrat 
    7777#if defined key_kriest 
    7878      REAL znumpoc 
     
    9797               zstep     = xstep 
    9898# endif 
    99                zfact     = zstep * tgfunc(ji,jj,jk) * zcompam 
     99               zfact     = zstep * tgfunc2(ji,jj,jk) * zcompam 
    100100 
    101101               !  Respiration rates of both zooplankton 
     
    155155               zepshert  = epsher2 * MIN( 1., zncratio ) 
    156156               zepsherv  = zepshert * MIN( 1., zgrasrat / ferat3 ) 
    157                zgrarem2  = zgraztot * ( 1. - zepsherv - unass2 ) 
    158                zgrafer2  = zgraztot * MAX( 0. , ( 1. - unass2 ) * zgrasrat - ferat3 * zepshert )  
     157               zgrarem2  = zgraztot * ( 1. - zepsherv - unass2 ) + zrespz2  & 
     158               &    + ( 1. - zepsherv - unass2 ) /( 1. - zepsherv + rtrn) * ztortz2 
     159               zgrafer2  = zgraztot * MAX( 0. , ( 1. - unass2 ) * zgrasrat - ferat3 * zepsherv )    & 
     160               &    + ferat3 * ( zrespz2 + ( 1. - zepsherv - unass2 ) /( 1. - zepsherv + rtrn) * ztortz2 ) 
    159161               zgrapoc2  = zgraztot * unass2 
    160162 
     
    177179#endif 
    178180               zmortz2 = ztortz2 + zrespz2 
     181               zmortzgoc = unass2 / ( 1. - zepsherv + rtrn ) * ztortz2 
    179182               tra(ji,jj,jk,jpmes) = tra(ji,jj,jk,jpmes) - zmortz2 + zepsherv * zgraztot  
    180183               tra(ji,jj,jk,jpdia) = tra(ji,jj,jk,jpdia) - zgrazd 
     
    198201#if defined key_kriest 
    199202               znumpoc = trn(ji,jj,jk,jpnum) / ( trn(ji,jj,jk,jppoc) + rtrn ) 
    200                tra(ji,jj,jk,jppoc) = tra(ji,jj,jk,jppoc) + zmortz2 - zgrazpoc - zgrazffe 
     203               tra(ji,jj,jk,jppoc) = tra(ji,jj,jk,jppoc) + zmortzgoc - zgrazpoc - zgrazffe 
    201204               tra(ji,jj,jk,jpnum) = tra(ji,jj,jk,jpnum) - zgrazpoc * znumpoc & 
    202                   &    + zmortz2  * xkr_dmeso - zgrazffe * znumpoc * wsbio4(ji,jj,jk) / ( wsbio3(ji,jj,jk) + rtrn ) 
     205                  &    + zmortzgoc  * xkr_dmeso - zgrazffe * znumpoc * wsbio4(ji,jj,jk) / ( wsbio3(ji,jj,jk) + rtrn ) 
    203206               tra(ji,jj,jk,jpsfe) = tra(ji,jj,jk,jpsfe) + ferat3 * zmortz2 - zgrazfff - zgrazpof 
    204207#else 
    205208               tra(ji,jj,jk,jppoc) = tra(ji,jj,jk,jppoc) - zgrazpoc 
    206                tra(ji,jj,jk,jpgoc) = tra(ji,jj,jk,jpgoc) + zmortz2 - zgrazffe 
     209               tra(ji,jj,jk,jpgoc) = tra(ji,jj,jk,jpgoc) + zmortzgoc - zgrazffe 
    207210               tra(ji,jj,jk,jpsfe) = tra(ji,jj,jk,jpsfe) - zgrazpof 
    208                tra(ji,jj,jk,jpbfe) = tra(ji,jj,jk,jpbfe) + ferat3 * zmortz2 - zgrazfff 
     211               tra(ji,jj,jk,jpbfe) = tra(ji,jj,jk,jpbfe) + ferat3 * zmortzgoc - zgrazfff 
    209212#endif 
    210213 
  • branches/2012/dev_v3_4_STABLE_2012/NEMOGCM/NEMO/TOP_SRC/PISCES/p4zmicro.F90

    r3295 r3830  
    136136               zepshert  = epsher * MIN( 1., zncratio ) 
    137137               zepsherv  = zepshert * MIN( 1., zgrasrat / ferat3 ) 
    138                zgrafer   = zgraztot * MAX( 0. , ( 1. - unass ) * zgrasrat - ferat3 * zepshert )  
     138               zgrafer   = zgraztot * MAX( 0. , ( 1. - unass ) * zgrasrat - ferat3 * zepsherv )  
    139139               zgrarem   = zgraztot * ( 1. - zepsherv - unass ) 
    140140               zgrapoc   = zgraztot * unass 
  • branches/2012/dev_v3_4_STABLE_2012/NEMOGCM/NEMO/TOP_SRC/PISCES/p4zsink.F90

    r3685 r3830  
    267267           CALL iom_put( "W1"      , wsbio3  (:,:,:)                * tmask(:,:,:) )  ! sinking speed of POC 
    268268           CALL iom_put( "W2"      , wsbio4  (:,:,:)                * tmask(:,:,:) )  ! sinking speed of aggregats 
    269            CALL iom_put( "PMO"     , sinking (:,:,ik1)    * zrfact2 * tmask(:,:,1) )  ! POC export at 100m 
    270            CALL iom_put( "PMO2"    , sinking2(:,:,ik1)    * zrfact2 * tmask(:,:,1) )  ! Num export at 100m 
    271            CALL iom_put( "ExpFe1"  , sinkfer (:,:,ik1)    * zrfact2 * tmask(:,:,1) )  ! Export of iron at 100m 
    272            CALL iom_put( "ExpSi"   , sinksil (:,:,ik1)    * zrfact2 * tmask(:,:,1) )  ! export of silica at 100m 
    273            CALL iom_put( "ExpCaCO3", sinkcal (:,:,ik1)    * zrfact2 * tmask(:,:,1) )  ! export of calcite at 100m 
    274269         ENDIF 
    275270# if ! defined key_iomput 
     
    487482         DO jj = 1, jpj 
    488483            DO ji = 1, jpi 
    489                zwsmax = 0.8 * fse3t(ji,jj,jk) / xstep 
     484               zwsmax = 0.5 * fse3t(ji,jj,jk) / xstep 
    490485               wsbio4(ji,jj,jk) = MIN( wsbio4(ji,jj,jk), zwsmax ) 
    491486               wsbio3(ji,jj,jk) = MIN( wsbio3(ji,jj,jk), zwsmax ) 
Note: See TracChangeset for help on using the changeset viewer.