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 10975 for NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/TOP/PISCES/P4Z/p5zlim.F90 – NEMO

Ignore:
Timestamp:
2019-05-13T18:34:33+02:00 (5 years ago)
Author:
acc
Message:

2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps : Finish converting all TOP routines and knock-on effects of these conversions. Fully SETTE tested (SETTE tests 1-6 and 9). This completes the first stage conversion of TRA and TOP but need to revisit and pass ts and tr arrays through the argument lists where appropriate.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/TOP/PISCES/P4Z/p5zlim.F90

    r10425 r10975  
    9999CONTAINS 
    100100 
    101    SUBROUTINE p5z_lim( kt, knt ) 
     101   SUBROUTINE p5z_lim( kt, knt, Kbb, Kmm ) 
    102102      !!--------------------------------------------------------------------- 
    103103      !!                     ***  ROUTINE p5z_lim  *** 
     
    110110      ! 
    111111      INTEGER, INTENT(in)  :: kt, knt 
     112      INTEGER, INTENT(in)  :: Kbb, Kmm  ! time level indices 
    112113      ! 
    113114      INTEGER  ::   ji, jj, jk 
     
    134135               ! Tuning of the iron concentration to a minimum level that is set to the detection limit 
    135136               !------------------------------------- 
    136                zno3    = trb(ji,jj,jk,jpno3) / 40.e-6 
     137               zno3    = tr(ji,jj,jk,jpno3,Kbb) / 40.e-6 
    137138               zferlim = MAX( 3e-11 * zno3 * zno3, 5e-12 ) 
    138139               zferlim = MIN( zferlim, 7e-11 ) 
    139                trb(ji,jj,jk,jpfer) = MAX( trb(ji,jj,jk,jpfer), zferlim ) 
     140               tr(ji,jj,jk,jpfer,Kbb) = MAX( tr(ji,jj,jk,jpfer,Kbb), zferlim ) 
    140141 
    141142               ! Computation of the mean relative size of each community 
    142143               ! ------------------------------------------------------- 
    143                z1_trnphy   = 1. / ( trb(ji,jj,jk,jpphy) + rtrn ) 
    144                z1_trnpic   = 1. / ( trb(ji,jj,jk,jppic) + rtrn ) 
    145                z1_trndia   = 1. / ( trb(ji,jj,jk,jpdia) + rtrn ) 
    146                znanochl = trb(ji,jj,jk,jpnch) * z1_trnphy 
    147                zpicochl = trb(ji,jj,jk,jppch) * z1_trnpic 
    148                zdiatchl = trb(ji,jj,jk,jpdch) * z1_trndia 
     144               z1_trnphy   = 1. / ( tr(ji,jj,jk,jpphy,Kbb) + rtrn ) 
     145               z1_trnpic   = 1. / ( tr(ji,jj,jk,jppic,Kbb) + rtrn ) 
     146               z1_trndia   = 1. / ( tr(ji,jj,jk,jpdia,Kbb) + rtrn ) 
     147               znanochl = tr(ji,jj,jk,jpnch,Kbb) * z1_trnphy 
     148               zpicochl = tr(ji,jj,jk,jppch,Kbb) * z1_trnpic 
     149               zdiatchl = tr(ji,jj,jk,jpdch,Kbb) * z1_trndia 
    149150 
    150151               ! Computation of a variable Ks for iron on diatoms taking into account 
     
    182183               ! Based on the different papers by Pahlow et al., and Smith et al. 
    183184               ! ----------------------------------------------------------------- 
    184                znutlim = MAX( trb(ji,jj,jk,jpnh4) / zconc0nnh4,    & 
    185                  &         trb(ji,jj,jk,jpno3) / zconc0n) 
     185               znutlim = MAX( tr(ji,jj,jk,jpnh4,Kbb) / zconc0nnh4,    & 
     186                 &         tr(ji,jj,jk,jpno3,Kbb) / zconc0n) 
    186187               fanano = MAX(0.01, MIN(0.99, 1. / ( SQRT(znutlim) + 1.) ) ) 
    187                znutlim = trb(ji,jj,jk,jppo4) / zconc0npo4 
     188               znutlim = tr(ji,jj,jk,jppo4,Kbb) / zconc0npo4 
    188189               fananop = MAX(0.01, MIN(0.99, 1. / ( SQRT(znutlim) + 1.) ) ) 
    189190               znutlim = biron(ji,jj,jk) / zconcnfe 
    190191               fananof = MAX(0.01, MIN(0.99, 1. / ( SQRT(znutlim) + 1.) ) ) 
    191                znutlim = MAX( trb(ji,jj,jk,jpnh4) / zconc0pnh4,    & 
    192                  &         trb(ji,jj,jk,jpno3) / zconc0p) 
     192               znutlim = MAX( tr(ji,jj,jk,jpnh4,Kbb) / zconc0pnh4,    & 
     193                 &         tr(ji,jj,jk,jpno3,Kbb) / zconc0p) 
    193194               fapico = MAX(0.01, MIN(0.99, 1. / ( SQRT(znutlim) + 1.) ) ) 
    194                znutlim = trb(ji,jj,jk,jppo4) / zconc0ppo4 
     195               znutlim = tr(ji,jj,jk,jppo4,Kbb) / zconc0ppo4 
    195196               fapicop = MAX(0.01, MIN(0.99, 1. / ( SQRT(znutlim) + 1.) ) ) 
    196197               znutlim = biron(ji,jj,jk) / zconcpfe 
    197198               fapicof = MAX(0.01, MIN(0.99, 1. / ( SQRT(znutlim) + 1.) ) ) 
    198                znutlim = MAX( trb(ji,jj,jk,jpnh4) / zconc1dnh4,    & 
    199                  &         trb(ji,jj,jk,jpno3) / zconc1d ) 
     199               znutlim = MAX( tr(ji,jj,jk,jpnh4,Kbb) / zconc1dnh4,    & 
     200                 &         tr(ji,jj,jk,jpno3,Kbb) / zconc1d ) 
    200201               fadiat = MAX(0.01, MIN(0.99, 1. / ( SQRT(znutlim) + 1.) ) ) 
    201                znutlim = trb(ji,jj,jk,jppo4) / zconc0dpo4 
     202               znutlim = tr(ji,jj,jk,jppo4,Kbb) / zconc0dpo4 
    202203               fadiatp = MAX(0.01, MIN(0.99, 1. / ( SQRT(znutlim) + 1.) ) ) 
    203204               znutlim = biron(ji,jj,jk) / zconcdfe 
     
    206207               ! Michaelis-Menten Limitation term for nutrients Small bacteria 
    207208               ! ------------------------------------------------------------- 
    208                zbactnh4 = trb(ji,jj,jk,jpnh4) / ( concbnh4 + trb(ji,jj,jk,jpnh4) ) 
    209                zbactno3 = trb(ji,jj,jk,jpno3) / ( concbno3 + trb(ji,jj,jk,jpno3) ) * (1. - zbactnh4) 
     209               zbactnh4 = tr(ji,jj,jk,jpnh4,Kbb) / ( concbnh4 + tr(ji,jj,jk,jpnh4,Kbb) ) 
     210               zbactno3 = tr(ji,jj,jk,jpno3,Kbb) / ( concbno3 + tr(ji,jj,jk,jpno3,Kbb) ) * (1. - zbactnh4) 
    210211               ! 
    211212               zlim1    = zbactno3 + zbactnh4 
    212                zlim2    = trb(ji,jj,jk,jppo4) / ( trb(ji,jj,jk,jppo4) + concbpo4) 
     213               zlim2    = tr(ji,jj,jk,jppo4,Kbb) / ( tr(ji,jj,jk,jppo4,Kbb) + concbpo4) 
    213214               zlim3    = biron(ji,jj,jk) / ( concbfe + biron(ji,jj,jk) ) 
    214                zlim4    = trb(ji,jj,jk,jpdoc) / ( xkdoc   + trb(ji,jj,jk,jpdoc) ) 
     215               zlim4    = tr(ji,jj,jk,jpdoc,Kbb) / ( xkdoc   + tr(ji,jj,jk,jpdoc,Kbb) ) 
    215216               xlimbacl(ji,jj,jk) = MIN( zlim1, zlim2, zlim3 ) 
    216217               xlimbac (ji,jj,jk) = xlimbacl(ji,jj,jk) * zlim4 
     
    219220               ! ----------------------------------------------- 
    220221               zfalim = (1.-fanano) / fanano 
    221                xnanonh4(ji,jj,jk) = (1. - fanano) * trb(ji,jj,jk,jpnh4) / ( zfalim * zconc0nnh4 + trb(ji,jj,jk,jpnh4) ) 
    222                xnanono3(ji,jj,jk) = (1. - fanano) * trb(ji,jj,jk,jpno3) / ( zfalim * zconc0n + trb(ji,jj,jk,jpno3) )  & 
     222               xnanonh4(ji,jj,jk) = (1. - fanano) * tr(ji,jj,jk,jpnh4,Kbb) / ( zfalim * zconc0nnh4 + tr(ji,jj,jk,jpnh4,Kbb) ) 
     223               xnanono3(ji,jj,jk) = (1. - fanano) * tr(ji,jj,jk,jpno3,Kbb) / ( zfalim * zconc0n + tr(ji,jj,jk,jpno3,Kbb) )  & 
    223224               &                    * (1. - xnanonh4(ji,jj,jk)) 
    224225               ! 
    225226               zfalim = (1.-fananop) / fananop 
    226                xnanopo4(ji,jj,jk) = (1. - fananop) * trb(ji,jj,jk,jppo4) / ( trb(ji,jj,jk,jppo4) + zfalim * zconc0npo4 ) 
    227                xnanodop(ji,jj,jk) = trb(ji,jj,jk,jpdop) / ( trb(ji,jj,jk,jpdop) + xkdoc )   & 
     227               xnanopo4(ji,jj,jk) = (1. - fananop) * tr(ji,jj,jk,jppo4,Kbb) / ( tr(ji,jj,jk,jppo4,Kbb) + zfalim * zconc0npo4 ) 
     228               xnanodop(ji,jj,jk) = tr(ji,jj,jk,jpdop,Kbb) / ( tr(ji,jj,jk,jpdop,Kbb) + xkdoc )   & 
    228229               &                    * ( 1.0 - xnanopo4(ji,jj,jk) ) 
    229230               xnanodop(ji,jj,jk) = 0. 
     
    232233               xnanofer(ji,jj,jk) = (1. - fananof) * biron(ji,jj,jk) / ( biron(ji,jj,jk) + zfalim * zconcnfe ) 
    233234               ! 
    234                zratiof   = trb(ji,jj,jk,jpnfe) * z1_trnphy 
     235               zratiof   = tr(ji,jj,jk,jpnfe,Kbb) * z1_trnphy 
    235236               zqfemn = xcoef1 * znanochl + xcoef2 + xcoef3 * xnanono3(ji,jj,jk) 
    236237               ! 
    237                zration = trb(ji,jj,jk,jpnph) * z1_trnphy 
     238               zration = tr(ji,jj,jk,jpnph,Kbb) * z1_trnphy 
    238239               zration = MIN(xqnnmax(ji,jj,jk), MAX( 2. * xqnnmin(ji,jj,jk), zration )) 
    239240               fvnuptk(ji,jj,jk) = 1. / zpsiuptk * rno3 * 2. * xqnnmin(ji,jj,jk) / (zration + rtrn)  & 
     
    250251               ! ---------------------------------------------------------------- 
    251252               zfalim = (1.-fapico) / fapico  
    252                xpiconh4(ji,jj,jk) = (1. - fapico) * trb(ji,jj,jk,jpnh4) / ( zfalim * zconc0pnh4 + trb(ji,jj,jk,jpnh4) ) 
    253                xpicono3(ji,jj,jk) = (1. - fapico) * trb(ji,jj,jk,jpno3) / ( zfalim * zconc0p + trb(ji,jj,jk,jpno3) )  & 
     253               xpiconh4(ji,jj,jk) = (1. - fapico) * tr(ji,jj,jk,jpnh4,Kbb) / ( zfalim * zconc0pnh4 + tr(ji,jj,jk,jpnh4,Kbb) ) 
     254               xpicono3(ji,jj,jk) = (1. - fapico) * tr(ji,jj,jk,jpno3,Kbb) / ( zfalim * zconc0p + tr(ji,jj,jk,jpno3,Kbb) )  & 
    254255               &                    * (1. - xpiconh4(ji,jj,jk)) 
    255256               ! 
    256257               zfalim = (1.-fapicop) / fapicop  
    257                xpicopo4(ji,jj,jk) = (1. - fapicop) * trb(ji,jj,jk,jppo4) / ( trb(ji,jj,jk,jppo4) + zfalim * zconc0ppo4 ) 
    258                xpicodop(ji,jj,jk) = trb(ji,jj,jk,jpdop) / ( trb(ji,jj,jk,jpdop) + xkdoc )   & 
     258               xpicopo4(ji,jj,jk) = (1. - fapicop) * tr(ji,jj,jk,jppo4,Kbb) / ( tr(ji,jj,jk,jppo4,Kbb) + zfalim * zconc0ppo4 ) 
     259               xpicodop(ji,jj,jk) = tr(ji,jj,jk,jpdop,Kbb) / ( tr(ji,jj,jk,jpdop,Kbb) + xkdoc )   & 
    259260               &                    * ( 1.0 - xpicopo4(ji,jj,jk) ) 
    260261               xpicodop(ji,jj,jk) = 0. 
     
    263264               xpicofer(ji,jj,jk) = (1. - fapicof) * biron(ji,jj,jk) / ( biron(ji,jj,jk) + zfalim * zconcpfe ) 
    264265               ! 
    265                zratiof   = trb(ji,jj,jk,jppfe) * z1_trnpic 
     266               zratiof   = tr(ji,jj,jk,jppfe,Kbb) * z1_trnpic 
    266267               zqfemp = xcoef1 * zpicochl + xcoef2 + xcoef3 * xpicono3(ji,jj,jk) 
    267268               ! 
    268                zration   = trb(ji,jj,jk,jpnpi) * z1_trnpic 
     269               zration   = tr(ji,jj,jk,jpnpi,Kbb) * z1_trnpic 
    269270               zration = MIN(xqnpmax(ji,jj,jk), MAX( 2. * xqnpmin(ji,jj,jk), zration )) 
    270271               fvpuptk(ji,jj,jk) = 1. / zpsiuptk * rno3 * 2. * xqnpmin(ji,jj,jk) / (zration + rtrn)  & 
     
    281282               !   ------------------------------------------------------ 
    282283               zfalim = (1.-fadiat) / fadiat  
    283                xdiatnh4(ji,jj,jk) = (1. - fadiat) * trb(ji,jj,jk,jpnh4) / ( zfalim * zconc1dnh4 + trb(ji,jj,jk,jpnh4) ) 
    284                xdiatno3(ji,jj,jk) = (1. - fadiat) * trb(ji,jj,jk,jpno3) / ( zfalim * zconc1d + trb(ji,jj,jk,jpno3) )  & 
     284               xdiatnh4(ji,jj,jk) = (1. - fadiat) * tr(ji,jj,jk,jpnh4,Kbb) / ( zfalim * zconc1dnh4 + tr(ji,jj,jk,jpnh4,Kbb) ) 
     285               xdiatno3(ji,jj,jk) = (1. - fadiat) * tr(ji,jj,jk,jpno3,Kbb) / ( zfalim * zconc1d + tr(ji,jj,jk,jpno3,Kbb) )  & 
    285286               &                    * (1. - xdiatnh4(ji,jj,jk)) 
    286287               ! 
    287288               zfalim = (1.-fadiatp) / fadiatp 
    288                xdiatpo4(ji,jj,jk) = (1. - fadiatp) * trb(ji,jj,jk,jppo4) / ( trb(ji,jj,jk,jppo4) + zfalim * zconc0dpo4 ) 
    289                xdiatdop(ji,jj,jk) = trb(ji,jj,jk,jpdop) / ( trb(ji,jj,jk,jpdop) + xkdoc )  & 
     289               xdiatpo4(ji,jj,jk) = (1. - fadiatp) * tr(ji,jj,jk,jppo4,Kbb) / ( tr(ji,jj,jk,jppo4,Kbb) + zfalim * zconc0dpo4 ) 
     290               xdiatdop(ji,jj,jk) = tr(ji,jj,jk,jpdop,Kbb) / ( tr(ji,jj,jk,jpdop,Kbb) + xkdoc )  & 
    290291               &                    * ( 1.0 - xdiatpo4(ji,jj,jk) ) 
    291292               xdiatdop(ji,jj,jk) = 0. 
     
    294295               xdiatfer(ji,jj,jk) = (1. - fadiatf) * biron(ji,jj,jk) / ( biron(ji,jj,jk) + zfalim * zconcdfe ) 
    295296               ! 
    296                zratiof   = trb(ji,jj,jk,jpdfe) * z1_trndia 
     297               zratiof   = tr(ji,jj,jk,jpdfe,Kbb) * z1_trndia 
    297298               zqfemd = xcoef1 * zdiatchl + xcoef2 + xcoef3 * xdiatno3(ji,jj,jk) 
    298299               ! 
    299                zration   = trb(ji,jj,jk,jpndi) * z1_trndia 
     300               zration   = tr(ji,jj,jk,jpndi,Kbb) * z1_trndia 
    300301               zration = MIN(xqndmax(ji,jj,jk), MAX( 2. * xqndmin(ji,jj,jk), zration )) 
    301302               fvduptk(ji,jj,jk) = 1. / zpsiuptk * rno3 * 2. * xqndmin(ji,jj,jk) / (zration + rtrn)   & 
     
    305306               &          / (xqndmax(ji,jj,jk) - 2. * xqndmin(ji,jj,jk) ) )   & 
    306307               &          * xqndmax(ji,jj,jk) / (zration + rtrn) 
    307                zlim3    = trb(ji,jj,jk,jpsil) / ( trb(ji,jj,jk,jpsil) + xksi(ji,jj) ) 
     308               zlim3    = tr(ji,jj,jk,jpsil,Kbb) / ( tr(ji,jj,jk,jpsil,Kbb) + xksi(ji,jj) ) 
    308309               zlim4    = MAX( 0., ( zratiof - zqfemd ) / qfdopt ) 
    309310               xlimdfe(ji,jj,jk) = MIN( 1., zlim4 ) 
     
    330331               ! ------------------------------ 
    331332               zfuptk = 0.23 * zfvn 
    332                zrpho = 2.24 * trb(ji,jj,jk,jpnch) / ( trb(ji,jj,jk,jpnph) * rno3 * 15. + rtrn ) 
     333               zrpho = 2.24 * tr(ji,jj,jk,jpnch,Kbb) / ( tr(ji,jj,jk,jpnph,Kbb) * rno3 * 15. + rtrn ) 
    333334               zrass = 1. - 0.2 - zrpho - zfuptk 
    334335               xqpnmax(ji,jj,jk) = ( zfuptk + zrpho ) * 0.0128 * 16. + zrass * 1./ 7.2 * 16. 
    335                xqpnmax(ji,jj,jk) = xqpnmax(ji,jj,jk) * trb(ji,jj,jk,jpnph) / ( trb(ji,jj,jk,jpphy) + rtrn ) + 0.13 
     336               xqpnmax(ji,jj,jk) = xqpnmax(ji,jj,jk) * tr(ji,jj,jk,jpnph,Kbb) / ( tr(ji,jj,jk,jpphy,Kbb) + rtrn ) + 0.13 
    336337               xqpnmin(ji,jj,jk) = 0.13 + 0.23 * 0.0128 * 16. 
    337338 
     
    344345               ! ------------------------------ 
    345346               zfuptk = 0.35 * zfvn 
    346                zrpho = 2.24 * trb(ji,jj,jk,jppch) / ( trb(ji,jj,jk,jpnpi) * rno3 * 15. + rtrn ) 
     347               zrpho = 2.24 * tr(ji,jj,jk,jppch,Kbb) / ( tr(ji,jj,jk,jpnpi,Kbb) * rno3 * 15. + rtrn ) 
    347348               zrass = 1. - 0.4 - zrpho - zfuptk 
    348349               xqppmax(ji,jj,jk) =  (zrpho + zfuptk) * 0.0128 * 16. + zrass * 1./ 9. * 16. 
    349                xqppmax(ji,jj,jk) = xqppmax(ji,jj,jk) * trb(ji,jj,jk,jpnpi) / ( trb(ji,jj,jk,jppic) + rtrn ) + 0.13 
     350               xqppmax(ji,jj,jk) = xqppmax(ji,jj,jk) * tr(ji,jj,jk,jpnpi,Kbb) / ( tr(ji,jj,jk,jppic,Kbb) + rtrn ) + 0.13 
    350351               xqppmin(ji,jj,jk) = 0.13 
    351352 
     
    354355               zfvn = 2. * fvduptk(ji,jj,jk) 
    355356               sized(ji,jj,jk) = MAX(1., MIN(xsizerd, 1.0 / ( MAX(rtrn, zfvn) ) ) ) 
    356                zcoef = trb(ji,jj,jk,jpdia) - MIN(xsizedia, trb(ji,jj,jk,jpdia) ) 
     357               zcoef = tr(ji,jj,jk,jpdia,Kbb) - MIN(xsizedia, tr(ji,jj,jk,jpdia,Kbb) ) 
    357358               sized(ji,jj,jk) = 1. + xsizerd * zcoef *1E6 / ( 1. + zcoef * 1E6 ) 
    358359 
     
    360361               ! -------------------- 
    361362               zfuptk = 0.2 * zfvn 
    362                zrpho = 2.24 * trb(ji,jj,jk,jpdch) / ( trb(ji,jj,jk,jpndi) * rno3 * 15. + rtrn ) 
     363               zrpho = 2.24 * tr(ji,jj,jk,jpdch,Kbb) / ( tr(ji,jj,jk,jpndi,Kbb) * rno3 * 15. + rtrn ) 
    363364               zrass = 1. - 0.2 - zrpho - zfuptk 
    364365               xqpdmax(ji,jj,jk) = ( zfuptk + zrpho ) * 0.0128 * 16. + zrass * 1./ 7.2 * 16. 
    365                xqpdmax(ji,jj,jk) = xqpdmax(ji,jj,jk) * trb(ji,jj,jk,jpndi) / ( trb(ji,jj,jk,jpdia) + rtrn ) + 0.13 
     366               xqpdmax(ji,jj,jk) = xqpdmax(ji,jj,jk) * tr(ji,jj,jk,jpndi,Kbb) / ( tr(ji,jj,jk,jpdia,Kbb) + rtrn ) + 0.13 
    366367               xqpdmin(ji,jj,jk) = 0.13 + 0.2 * 0.0128 * 16. 
    367368 
     
    375376         DO jj = 1, jpj 
    376377            DO ji = 1, jpi 
    377                zlim1 =  trb(ji,jj,jk,jpnh4) / ( trb(ji,jj,jk,jpnh4) + concnnh4 ) + trb(ji,jj,jk,jpno3)    & 
    378                &        / ( trb(ji,jj,jk,jpno3) + concnno3 ) * ( 1.0 - trb(ji,jj,jk,jpnh4)   & 
    379                &        / ( trb(ji,jj,jk,jpnh4) + concnnh4 ) ) 
    380                zlim2  = trb(ji,jj,jk,jppo4) / ( trb(ji,jj,jk,jppo4) + concnpo4 ) 
    381                zlim3  = trb(ji,jj,jk,jpfer) / ( trb(ji,jj,jk,jpfer) +  5.E-11 )  
    382                ztem1  = MAX( 0., tsn(ji,jj,jk,jp_tem) ) 
    383                ztem2  = tsn(ji,jj,jk,jp_tem) - 10. 
     378               zlim1 =  tr(ji,jj,jk,jpnh4,Kbb) / ( tr(ji,jj,jk,jpnh4,Kbb) + concnnh4 ) + tr(ji,jj,jk,jpno3,Kbb)    & 
     379               &        / ( tr(ji,jj,jk,jpno3,Kbb) + concnno3 ) * ( 1.0 - tr(ji,jj,jk,jpnh4,Kbb)   & 
     380               &        / ( tr(ji,jj,jk,jpnh4,Kbb) + concnnh4 ) ) 
     381               zlim2  = tr(ji,jj,jk,jppo4,Kbb) / ( tr(ji,jj,jk,jppo4,Kbb) + concnpo4 ) 
     382               zlim3  = tr(ji,jj,jk,jpfer,Kbb) / ( tr(ji,jj,jk,jpfer,Kbb) +  5.E-11 )  
     383               ztem1  = MAX( 0., ts(ji,jj,jk,jp_tem,Kmm) ) 
     384               ztem2  = ts(ji,jj,jk,jp_tem,Kmm) - 10. 
    384385               zetot1 = MAX( 0., etot(ji,jj,jk) - 1.) / ( 4. + etot(ji,jj,jk) ) * 20. / ( 20. + etot(ji,jj,jk) )  
    385386 
    386387!               xfracal(ji,jj,jk) = caco3r * MIN( zlim1, zlim2, zlim3 )                  & 
    387388               xfracal(ji,jj,jk) = caco3r                 & 
    388                &                   * ztem1 / ( 1. + ztem1 ) * MAX( 1., trb(ji,jj,jk,jpphy)*1E6 )   & 
     389               &                   * ztem1 / ( 1. + ztem1 ) * MAX( 1., tr(ji,jj,jk,jpphy,Kbb)*1E6 )   & 
    389390                  &                * ( 1. + EXP(-ztem2 * ztem2 / 25. ) )         & 
    390391                  &                * zetot1 * MIN( 1., 50. / ( hmld(ji,jj) + rtrn ) ) 
     
    398399            DO ji = 1, jpi 
    399400               ! denitrification factor computed from O2 levels 
    400                nitrfac(ji,jj,jk) = MAX(  0.e0, 0.4 * ( 6.e-6  - trb(ji,jj,jk,jpoxy) )    & 
    401                   &                                / ( oxymin + trb(ji,jj,jk,jpoxy) )  ) 
     401               nitrfac(ji,jj,jk) = MAX(  0.e0, 0.4 * ( 6.e-6  - tr(ji,jj,jk,jpoxy,Kbb) )    & 
     402                  &                                / ( oxymin + tr(ji,jj,jk,jpoxy,Kbb) )  ) 
    402403               nitrfac(ji,jj,jk) = MIN( 1., nitrfac(ji,jj,jk) ) 
    403404            END DO 
Note: See TracChangeset for help on using the changeset viewer.