Ignore:
Timestamp:
2013-03-06T11:59:57+01:00 (9 years ago)
Author:
cetlod
Message:

v3.5alpha: bugfixes on mesozoo efficiency calculation, see ticket #1067

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

Legend:

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

    r3471 r3829  
    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 
     
    9999               zstep     = xstep 
    100100# endif 
    101                zfact     = zstep * tgfunc(ji,jj,jk) * zcompam 
     101               zfact     = zstep * tgfunc2(ji,jj,jk) * zcompam 
    102102 
    103103               !  Respiration rates of both zooplankton 
     
    159159               zepshert  = epsher2 * MIN( 1., zncratio ) 
    160160               zepsherv  = zepshert * MIN( 1., zgrasrat / ferat3 ) 
    161                zgrarem2  = zgraztot * ( 1. - zepsherv - unass2 ) 
    162                zgrafer2  = zgraztot * MAX( 0. , ( 1. - unass2 ) * zgrasrat - ferat3 * zepshert )  
     161               zgrarem2  = zgraztot * ( 1. - zepsherv - unass2 ) + zrespz2  & 
     162               &    + ( 1. - zepsherv - unass2 ) /( 1. - zepsherv + rtrn) * ztortz2 
     163               zgrafer2  = zgraztot * MAX( 0. , ( 1. - unass2 ) * zgrasrat - ferat3 * zepsherv )    & 
     164               &    + ferat3 * ( zrespz2 + ( 1. - zepsherv - unass2 ) /( 1. - zepsherv + rtrn) * ztortz2 ) 
    163165               zgrapoc2  = zgraztot * unass2 
    164166 
     
    181183#endif 
    182184               zmortz2 = ztortz2 + zrespz2 
     185               zmortzgoc = unass2 / ( 1. - zepsherv + rtrn ) * ztortz2 
    183186               tra(ji,jj,jk,jpmes) = tra(ji,jj,jk,jpmes) - zmortz2 + zepsherv * zgraztot  
    184187               tra(ji,jj,jk,jpdia) = tra(ji,jj,jk,jpdia) - zgrazd 
     
    202205#if defined key_kriest 
    203206               znumpoc = trn(ji,jj,jk,jpnum) / ( trn(ji,jj,jk,jppoc) + rtrn ) 
    204                tra(ji,jj,jk,jppoc) = tra(ji,jj,jk,jppoc) + zmortz2 - zgrazpoc - zgrazffe 
     207               tra(ji,jj,jk,jppoc) = tra(ji,jj,jk,jppoc) + zmortzgoc - zgrazpoc - zgrazffe 
    205208               tra(ji,jj,jk,jpnum) = tra(ji,jj,jk,jpnum) - zgrazpoc * znumpoc & 
    206                   &    + zmortz2  * xkr_dmeso - zgrazffe * znumpoc * wsbio4(ji,jj,jk) / ( wsbio3(ji,jj,jk) + rtrn ) 
     209                  &    + zmortzgoc  * xkr_dmeso - zgrazffe * znumpoc * wsbio4(ji,jj,jk) / ( wsbio3(ji,jj,jk) + rtrn ) 
    207210               tra(ji,jj,jk,jpsfe) = tra(ji,jj,jk,jpsfe) + ferat3 * zmortz2 - zgrazfff - zgrazpof 
    208211#else 
    209212               tra(ji,jj,jk,jppoc) = tra(ji,jj,jk,jppoc) - zgrazpoc 
    210                tra(ji,jj,jk,jpgoc) = tra(ji,jj,jk,jpgoc) + zmortz2 - zgrazffe 
     213               tra(ji,jj,jk,jpgoc) = tra(ji,jj,jk,jpgoc) + zmortzgoc - zgrazffe 
    211214               tra(ji,jj,jk,jpsfe) = tra(ji,jj,jk,jpsfe) - zgrazpof 
    212                tra(ji,jj,jk,jpbfe) = tra(ji,jj,jk,jpbfe) + ferat3 * zmortz2 - zgrazfff 
     215               tra(ji,jj,jk,jpbfe) = tra(ji,jj,jk,jpbfe) + ferat3 * zmortzgoc - zgrazfff 
    213216#endif 
    214217 
  • branches/2012/dev_MERGE_2012/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zmicro.F90

    r3446 r3829  
    141141               zepshert  = epsher * MIN( 1., zncratio ) 
    142142               zepsherv  = zepshert * MIN( 1., zgrasrat / ferat3 ) 
    143                zgrafer   = zgraztot * MAX( 0. , ( 1. - unass ) * zgrasrat - ferat3 * zepshert )  
     143               zgrafer   = zgraztot * MAX( 0. , ( 1. - unass ) * zgrasrat - ferat3 * zepsherv )  
    144144               zgrarem   = zgraztot * ( 1. - zepsherv - unass ) 
    145145               zgrapoc   = zgraztot * unass 
  • branches/2012/dev_MERGE_2012/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsink.F90

    r3494 r3829  
    137137             DO ji = 1, jpi 
    138138                IF( tmask(ji,jj,jk) == 1) THEN 
    139                    zwsmax =  0.8 * fse3t(ji,jj,jk) / xstep 
     139                   zwsmax =  0.5 * fse3t(ji,jj,jk) / xstep 
    140140                   iiter1 =  MAX( iiter1, INT( wsbio3(ji,jj,jk) / zwsmax ) ) 
    141141                   iiter2 =  MAX( iiter2, INT( wsbio4(ji,jj,jk) / zwsmax ) ) 
     
    494494           CALL iom_put( "W1"      , wsbio3  (:,:,:)                * tmask(:,:,:) )  ! sinking speed of POC 
    495495           CALL iom_put( "W2"      , wsbio4  (:,:,:)                * tmask(:,:,:) )  ! sinking speed of aggregats 
    496            CALL iom_put( "PMO"     , sinking (:,:,ik1)    * zrfact2 * tmask(:,:,1) )  ! POC export at 100m 
    497            CALL iom_put( "PMO2"    , sinking2(:,:,ik1)    * zrfact2 * tmask(:,:,1) )  ! Num export at 100m 
    498            CALL iom_put( "ExpFe1"  , sinkfer (:,:,ik1)    * zrfact2 * tmask(:,:,1) )  ! Export of iron at 100m 
    499            CALL iom_put( "ExpSi"   , sinksil (:,:,ik1)    * zrfact2 * tmask(:,:,1) )  ! export of silica at 100m 
    500            CALL iom_put( "ExpCaCO3", sinkcal (:,:,ik1)    * zrfact2 * tmask(:,:,1) )  ! export of calcite at 100m 
    501496         ENDIF 
    502497# if ! defined key_iomput 
Note: See TracChangeset for help on using the changeset viewer.