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 7162 for branches/2016/dev_r7012_ROBUST5_CNRS/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zrem.F90 – NEMO

Ignore:
Timestamp:
2016-11-01T14:23:51+01:00 (7 years ago)
Author:
cetlod
Message:

new top interface : Add PISCES quota model

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2016/dev_r7012_ROBUST5_CNRS/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zrem.F90

    r7068 r7162  
    1515   USE trc             !  passive tracers common variables  
    1616   USE sms_pisces      !  PISCES Source Minus Sink variables 
    17    USE p4zopt          !  optical model 
    1817   USE p4zche          !  chemical model 
    1918   USE p4zprod         !  Growth rate of the 2 phyto groups 
    20    USE p4zmeso         !  Sources and sinks of mesozooplankton 
    21    USE p4zint          !  interpolation and computation of various fields 
    2219   USE p4zlim 
    2320   USE prtctl_trc      !  print control for debugging 
     
    3330 
    3431   !! * Shared module variables 
     32   REAL(wp), PUBLIC ::  xremikc    !: remineralisation rate of DOC  
     33   REAL(wp), PUBLIC ::  xremikn    !: remineralisation rate of DON  
     34   REAL(wp), PUBLIC ::  xremikp    !: remineralisation rate of DOP  
    3535   REAL(wp), PUBLIC ::  xremik     !: remineralisation rate of POC  
    36    REAL(wp), PUBLIC ::  xremip     !: remineralisation rate of DOC 
    3736   REAL(wp), PUBLIC ::  nitrif     !: NH4 nitrification rate  
    3837   REAL(wp), PUBLIC ::  xsirem     !: remineralisation rate of POC  
    3938   REAL(wp), PUBLIC ::  xsiremlab  !: fast remineralisation rate of POC  
    4039   REAL(wp), PUBLIC ::  xsilab     !: fraction of labile biogenic silica  
    41  
     40   REAL(wp), PUBLIC ::  feratb     !: Fe/C quota in bacteria 
     41   REAL(wp), PUBLIC ::  xkferb     !: Half-saturation constant for bacteria Fe/C 
    4242 
    4343   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   denitr     !: denitrification array 
    44    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   denitnh4   !: -    -    -    -   - 
    4544 
    4645   !!---------------------------------------------------------------------- 
     
    6362      ! 
    6463      INTEGER  ::   ji, jj, jk 
    65       REAL(wp) ::   zremip, zremik, zsiremin  
     64      REAL(wp) ::   zremik, zremikc, zremikn, zremikp, zsiremin, zfact  
    6665      REAL(wp) ::   zsatur, zsatur2, znusil, znusil2, zdep, zdepmin, zfactdep 
    67       REAL(wp) ::   zbactfer, zorem, zorem2, zofer, zolimit 
    68       REAL(wp) ::   zosil, ztem 
    69       REAL(wp) ::   zofer2 
    70       REAL(wp) ::   zonitr, zfact 
     66      REAL(wp) ::   zbactfer, zolimit, zonitr, zrfact2 
     67      REAL(wp) ::   zosil, ztem, zdenitnh4, zolimic, zolimin, zolimip, zdenitrn, zdenitrp 
    7168      CHARACTER (len=25) :: charout 
    7269      REAL(wp), POINTER, DIMENSION(:,:  ) :: ztempbac 
    73       REAL(wp), POINTER, DIMENSION(:,:,:) :: zdepbac, zolimi, zdepprod, zw3d 
     70      REAL(wp), POINTER, DIMENSION(:,:,:) :: zdepbac, zolimi, zdepprod, zfacsi, zw3d, zfacsib 
    7471      !!--------------------------------------------------------------------- 
    7572      ! 
     
    7875      ! Allocate temporary workspace 
    7976      CALL wrk_alloc( jpi, jpj,      ztempbac                  ) 
    80       CALL wrk_alloc( jpi, jpj, jpk, zdepbac, zdepprod, zolimi ) 
     77      CALL wrk_alloc( jpi, jpj, jpk, zdepbac, zdepprod, zolimi, zfacsi, zfacsib ) 
    8178 
    8279      ! Initialisation of temprary arrys 
    8380      zdepprod(:,:,:) = 1._wp 
    8481      ztempbac(:,:)   = 0._wp 
     82      zfacsib(:,:,:)  = xsilab / ( 1.0 - xsilab ) 
     83      zfacsi(:,:,:)   = xsilab 
    8584 
    8685      ! Computation of the mean phytoplankton concentration as 
     
    105104      END DO 
    106105 
    107       DO jk = 1, jpkm1 
    108          DO jj = 1, jpj 
    109             DO ji = 1, jpi 
    110                ! DOC ammonification. Depends on depth, phytoplankton biomass 
    111                ! and a limitation term which is supposed to be a parameterization 
    112                !     of the bacterial activity.  
    113                zremik = xremik * xstep / 1.e-6 * xlimbac(ji,jj,jk) * zdepbac(ji,jj,jk)  
    114                zremik = MAX( zremik, 2.74e-4 * xstep ) 
    115                ! Ammonification in oxic waters with oxygen consumption 
    116                ! ----------------------------------------------------- 
    117                zolimit = zremik * ( 1.- nitrfac(ji,jj,jk) ) * trb(ji,jj,jk,jpdoc)  
    118                zolimi(ji,jj,jk) = MIN( ( trb(ji,jj,jk,jpoxy) - rtrn ) / o2ut, zolimit )  
    119                ! Ammonification in suboxic waters with denitrification 
    120                ! ------------------------------------------------------- 
    121                denitr(ji,jj,jk)  = MIN(  ( trb(ji,jj,jk,jpno3) - rtrn ) / rdenit,   & 
    122                   &                     zremik * nitrfac(ji,jj,jk) * trb(ji,jj,jk,jpdoc)  ) 
    123                ! 
    124                zolimi (ji,jj,jk) = MAX( 0.e0, zolimi (ji,jj,jk) ) 
    125                denitr (ji,jj,jk) = MAX( 0.e0, denitr (ji,jj,jk) ) 
    126                ! 
    127             END DO 
    128          END DO 
    129       END DO 
     106      IF( ln_p4z ) THEN 
     107         DO jk = 1, jpkm1 
     108            DO jj = 1, jpj 
     109               DO ji = 1, jpi 
     110                  ! DOC ammonification. Depends on depth, phytoplankton biomass 
     111                  ! and a limitation term which is supposed to be a parameterization of the bacterial activity.  
     112                  zremik = xremik * xstep / 1.e-6 * xlimbac(ji,jj,jk) * zdepbac(ji,jj,jk)  
     113                  zremik = MAX( zremik, 2.74e-4 * xstep ) 
     114                  ! Ammonification in oxic waters with oxygen consumption 
     115                  ! ----------------------------------------------------- 
     116                  zolimit = zremik * ( 1.- nitrfac(ji,jj,jk) ) * trb(ji,jj,jk,jpdoc)  
     117                  zolimi(ji,jj,jk) = MIN( ( trb(ji,jj,jk,jpoxy) - rtrn ) / o2ut, zolimit )  
     118                  ! Ammonification in suboxic waters with denitrification 
     119                  ! ------------------------------------------------------- 
     120                  denitr(ji,jj,jk)  = MIN(  ( trb(ji,jj,jk,jpno3) - rtrn ) / rdenit,   & 
     121                     &                     zremik * nitrfac(ji,jj,jk) * trb(ji,jj,jk,jpdoc)  ) 
     122                  ! 
     123                  zolimi (ji,jj,jk) = MAX( 0.e0, zolimi (ji,jj,jk) ) 
     124                  denitr (ji,jj,jk) = MAX( 0.e0, denitr (ji,jj,jk) ) 
     125                  ! 
     126                  tra(ji,jj,jk,jppo4) = tra(ji,jj,jk,jppo4) + zolimi (ji,jj,jk) + denitr(ji,jj,jk) 
     127                  tra(ji,jj,jk,jpnh4) = tra(ji,jj,jk,jpnh4) + zolimi (ji,jj,jk) + denitr(ji,jj,jk) 
     128                  tra(ji,jj,jk,jpno3) = tra(ji,jj,jk,jpno3) - denitr (ji,jj,jk) * rdenit 
     129                  tra(ji,jj,jk,jpdoc) = tra(ji,jj,jk,jpdoc) - zolimi (ji,jj,jk) - denitr(ji,jj,jk) 
     130                  tra(ji,jj,jk,jpoxy) = tra(ji,jj,jk,jpoxy) - zolimi (ji,jj,jk) * o2ut 
     131                  tra(ji,jj,jk,jpdic) = tra(ji,jj,jk,jpdic) + zolimi (ji,jj,jk) + denitr(ji,jj,jk) 
     132                  tra(ji,jj,jk,jptal) = tra(ji,jj,jk,jptal) + rno3 * ( zolimi(ji,jj,jk)    & 
     133                  &                     + ( rdenit + 1.) * denitr(ji,jj,jk) ) 
     134               END DO 
     135            END DO 
     136         END DO 
     137      ELSE 
     138         DO jk = 1, jpkm1 
     139            DO jj = 1, jpj 
     140               DO ji = 1, jpi 
     141                  ! DOC ammonification. Depends on depth, phytoplankton biomass 
     142                  ! and a limitation term which is supposed to be a parameterization of the bacterial activity.  
     143                  ! ----------------------------------------------------------------- 
     144                  zremik = xstep / 1.e-6 * MAX(0.01, xlimbac(ji,jj,jk)) * zdepbac(ji,jj,jk)  
     145                  zremik = MAX( zremik, 2.74e-4 * xstep / xremikc ) 
     146 
     147                  zremikc = xremikc * zremik 
     148                  zremikn = xremikn / xremikc 
     149                  zremikp = xremikp / xremikc 
     150 
     151                  ! Ammonification in oxic waters with oxygen consumption 
     152                  ! ----------------------------------------------------- 
     153                  zolimit = zremikc * ( 1.- nitrfac(ji,jj,jk) ) * trb(ji,jj,jk,jpdoc)  
     154                  zolimic = MAX( 0.e0, MIN( ( trb(ji,jj,jk,jpoxy) - rtrn ) / o2ut, zolimit ) )  
     155                  zolimi(ji,jj,jk) = zolimic 
     156                  zolimin = zremikn * zolimic * trb(ji,jj,jk,jpdon) / ( trb(ji,jj,jk,jpdoc) + rtrn ) 
     157                  zolimip = zremikp * zolimic * trb(ji,jj,jk,jpdop) / ( trb(ji,jj,jk,jpdoc) + rtrn )  
     158 
     159                  ! Ammonification in suboxic waters with denitrification 
     160                  ! ------------------------------------------------------- 
     161                  zolimit = zremikc * nitrfac(ji,jj,jk) * trb(ji,jj,jk,jpdoc) 
     162                  denitr(ji,jj,jk)  = MIN(  ( trb(ji,jj,jk,jpno3) - rtrn ) / rdenit, zolimit ) 
     163                  denitr(ji,jj,jk) = MAX( 0.e0, denitr(ji,jj,jk) ) 
     164                  zdenitrn  = zremikn * denitr(ji,jj,jk) * trb(ji,jj,jk,jpdon) / ( trb(ji,jj,jk,jpdoc) + rtrn ) 
     165                  zdenitrp  = zremikp * denitr(ji,jj,jk) * trb(ji,jj,jk,jpdop) / ( trb(ji,jj,jk,jpdoc) + rtrn ) 
     166 
     167                  tra(ji,jj,jk,jppo4) = tra(ji,jj,jk,jppo4) + zolimip + zdenitrp 
     168                  tra(ji,jj,jk,jpnh4) = tra(ji,jj,jk,jpnh4) + zolimin + zdenitrn 
     169                  tra(ji,jj,jk,jpno3) = tra(ji,jj,jk,jpno3) - denitr(ji,jj,jk) * rdenit 
     170                  tra(ji,jj,jk,jpdoc) = tra(ji,jj,jk,jpdoc) - zolimic - denitr(ji,jj,jk) 
     171                  tra(ji,jj,jk,jpdon) = tra(ji,jj,jk,jpdon) - zolimin - zdenitrn 
     172                  tra(ji,jj,jk,jpdop) = tra(ji,jj,jk,jpdop) - zolimip - zdenitrp 
     173                  tra(ji,jj,jk,jpoxy) = tra(ji,jj,jk,jpoxy) - zolimic * o2ut 
     174                  tra(ji,jj,jk,jpdic) = tra(ji,jj,jk,jpdic) + zolimic + denitr(ji,jj,jk) 
     175                  tra(ji,jj,jk,jptal) = tra(ji,jj,jk,jptal) + rno3 * ( zolimin + ( rdenit + 1.) * zdenitrn ) 
     176               END DO 
     177            END DO 
     178         END DO 
     179         ! 
     180      ENDIF 
    130181 
    131182 
     
    136187               ! below 2 umol/L. Inhibited at strong light  
    137188               ! ---------------------------------------------------------- 
    138                zonitr  =nitrif * xstep * trb(ji,jj,jk,jpnh4) / ( 1.+ emoy(ji,jj,jk) ) * ( 1.- nitrfac(ji,jj,jk) )  
    139                denitnh4(ji,jj,jk) = nitrif * xstep * trb(ji,jj,jk,jpnh4) * nitrfac(ji,jj,jk)  
     189               zonitr  = nitrif * xstep * trb(ji,jj,jk,jpnh4) * ( 1.- nitrfac(ji,jj,jk) )  & 
     190               &         / ( 1.+ emoy(ji,jj,jk) ) * ( 1. + fr_i(ji,jj) * emoy(ji,jj,jk) )  
     191               zdenitnh4 = nitrif * xstep * trb(ji,jj,jk,jpnh4) * nitrfac(ji,jj,jk) 
    140192               ! Update of the tracers trends 
    141193               ! ---------------------------- 
    142                tra(ji,jj,jk,jpnh4) = tra(ji,jj,jk,jpnh4) - zonitr - denitnh4(ji,jj,jk) 
    143                tra(ji,jj,jk,jpno3) = tra(ji,jj,jk,jpno3) + zonitr - rdenita * denitnh4(ji,jj,jk) 
     194               tra(ji,jj,jk,jpnh4) = tra(ji,jj,jk,jpnh4) - zonitr - zdenitnh4 
     195               tra(ji,jj,jk,jpno3) = tra(ji,jj,jk,jpno3) + zonitr - rdenita * zdenitnh4 
    144196               tra(ji,jj,jk,jpoxy) = tra(ji,jj,jk,jpoxy) - o2nit * zonitr 
    145                tra(ji,jj,jk,jptal) = tra(ji,jj,jk,jptal) - 2 * rno3 * zonitr + rno3 * ( rdenita - 1. ) * denitnh4(ji,jj,jk) 
     197               tra(ji,jj,jk,jptal) = tra(ji,jj,jk,jptal) - 2 * rno3 * zonitr + rno3 * ( rdenita - 1. ) * zdenitnh4 
    146198            END DO 
    147199         END DO 
     
    162214               ! studies (especially at Papa) have shown this uptake to be significant 
    163215               ! ---------------------------------------------------------- 
    164                zbactfer = 10.e-6 *  rfact2 * prmax(ji,jj,jk) * xlimbacl(ji,jj,jk)             & 
    165                   &              * trb(ji,jj,jk,jpfer) / ( 2.5E-10 + trb(ji,jj,jk,jpfer) )    & 
     216               zbactfer = feratb *  rfact2 * prmax(ji,jj,jk) * xlimbacl(ji,jj,jk)             & 
     217                  &              * trb(ji,jj,jk,jpfer) / ( xkferb + trb(ji,jj,jk,jpfer) )    & 
    166218                  &              * zdepprod(ji,jj,jk) * zdepbac(ji,jj,jk) 
    167219               tra(ji,jj,jk,jpfer) = tra(ji,jj,jk,jpfer) - zbactfer*0.16 
     
    178230       ENDIF 
    179231 
     232      ! Initialization of the array which contains the labile fraction 
     233      ! of bSi. Set to a constant in the upper ocean 
     234      ! --------------------------------------------------------------- 
     235 
    180236      DO jk = 1, jpkm1 
    181237         DO jj = 1, jpj 
    182238            DO ji = 1, jpi 
    183                ! POC disaggregation by turbulence and bacterial activity.  
    184                ! -------------------------------------------------------- 
    185                zremip = xremip * xstep * tgfunc(ji,jj,jk) * ( 1.- 0.55 * nitrfac(ji,jj,jk) )  
    186  
    187                ! POC disaggregation rate is reduced in anoxic zone as shown by 
    188                ! sediment traps data. In oxic area, the exponent of the martin s 
    189                ! law is around -0.87. In anoxic zone, it is around -0.35. This 
    190                ! means a disaggregation constant about 0.5 the value in oxic zones 
    191                ! ----------------------------------------------------------------- 
    192                zorem  = zremip * trb(ji,jj,jk,jppoc) 
    193                zofer  = zremip * trb(ji,jj,jk,jpsfe) 
    194                zorem2 = zremip * trb(ji,jj,jk,jpgoc) 
    195                zofer2 = zremip * trb(ji,jj,jk,jpbfe) 
    196  
    197                ! Update the appropriate tracers trends 
    198                ! ------------------------------------- 
    199  
    200                tra(ji,jj,jk,jpdoc) = tra(ji,jj,jk,jpdoc) + zorem 
    201                tra(ji,jj,jk,jpfer) = tra(ji,jj,jk,jpfer) + zofer 
    202                tra(ji,jj,jk,jppoc) = tra(ji,jj,jk,jppoc) + zorem2 - zorem 
    203                tra(ji,jj,jk,jpgoc) = tra(ji,jj,jk,jpgoc) - zorem2 
    204                tra(ji,jj,jk,jpsfe) = tra(ji,jj,jk,jpsfe) + zofer2 - zofer 
    205                tra(ji,jj,jk,jpbfe) = tra(ji,jj,jk,jpbfe) - zofer2 
    206  
    207             END DO 
    208          END DO 
    209       END DO 
    210  
    211        IF(ln_ctl)   THEN  ! print mean trends (used for debugging) 
    212          WRITE(charout, FMT="('rem3')") 
    213          CALL prt_ctl_trc_info(charout) 
    214          CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm) 
    215        ENDIF 
    216  
    217       DO jk = 1, jpkm1 
    218          DO jj = 1, jpj 
    219             DO ji = 1, jpi 
     239               zdep     = MAX( hmld(ji,jj), heup_01(ji,jj) ) 
     240               zsatur   = MAX( rtrn, ( sio3eq(ji,jj,jk) - trb(ji,jj,jk,jpsil) ) / ( sio3eq(ji,jj,jk) + rtrn ) ) 
     241               zsatur2  = ( 1. + tsn(ji,jj,jk,jp_tem) / 400.)**37 
     242               znusil   = 0.225  * ( 1. + tsn(ji,jj,jk,jp_tem) / 15.) * zsatur + 0.775 * zsatur2 * zsatur**9.25 
    220243               ! Remineralization rate of BSi depedant on T and saturation 
    221244               ! --------------------------------------------------------- 
    222                zsatur   = ( sio3eq(ji,jj,jk) - trb(ji,jj,jk,jpsil) ) / ( sio3eq(ji,jj,jk) + rtrn ) 
    223                zsatur   = MAX( rtrn, zsatur ) 
    224                zsatur2  = ( 1. + tsn(ji,jj,jk,jp_tem) / 400.)**37 
    225                znusil   = 0.225  * ( 1. + tsn(ji,jj,jk,jp_tem) / 15.) * zsatur + 0.775 * zsatur2 * zsatur**9.25 
    226                znusil2  = 0.225  * ( 1. + tsn(ji,jj,1,jp_tem) / 15.) + 0.775 * zsatur2 
    227  
    228                ! Two classes of BSi are considered : a labile fraction and  
    229                ! a more refractory one. The ratio between both fractions is 
    230                ! constant and specified in the namelist. 
    231                ! ---------------------------------------------------------- 
    232                zdep     = MAX( hmld(ji,jj), heup(ji,jj) )  
    233                zdep     = MAX( 0., gdept_n(ji,jj,jk) - zdep ) 
    234                ztem     = MAX( tsn(ji,jj,1,jp_tem), 0. ) 
    235                zfactdep = xsilab * EXP(-( xsiremlab - xsirem ) * znusil2 * zdep / wsbio2 ) * ztem / ( ztem + 10. ) 
    236                zsiremin = ( xsiremlab * zfactdep + xsirem * ( 1. - zfactdep ) ) * xstep * znusil 
     245               IF ( gdept_n(ji,jj,jk) > zdep ) THEN 
     246                  zfacsib(ji,jj,jk) = zfacsib(ji,jj,jk-1) * EXP( -0.5 * ( xsiremlab - xsirem )  & 
     247                  &                   * znusil * e3t_n(ji,jj,jk) / wsbio4(ji,jj,jk) ) 
     248                  zfacsi(ji,jj,jk)  = zfacsib(ji,jj,jk) / ( 1.0 + zfacsib(ji,jj,jk) ) 
     249                  zfacsib(ji,jj,jk) = zfacsib(ji,jj,jk) * EXP( -0.5 * ( xsiremlab - xsirem )    & 
     250                  &                   * znusil * e3t_n(ji,jj,jk) / wsbio4(ji,jj,jk) ) 
     251               ENDIF 
     252               zsiremin = ( xsiremlab * zfacsi(ji,jj,jk) + xsirem * ( 1. - zfacsi(ji,jj,jk) ) ) * xstep * znusil 
    237253               zosil    = zsiremin * trb(ji,jj,jk,jpgsi) 
    238254               ! 
     
    245261 
    246262      IF(ln_ctl)   THEN  ! print mean trends (used for debugging) 
    247          WRITE(charout, FMT="('rem4')") 
     263         WRITE(charout, FMT="('rem3')") 
    248264         CALL prt_ctl_trc_info(charout) 
    249265         CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm) 
    250266       ENDIF 
    251  
    252       ! Update the arrays TRA which contain the biological sources and sinks 
    253       ! -------------------------------------------------------------------- 
    254  
    255       DO jk = 1, jpkm1 
    256          tra(:,:,jk,jppo4) = tra(:,:,jk,jppo4) + zolimi (:,:,jk) + denitr(:,:,jk) 
    257          tra(:,:,jk,jpnh4) = tra(:,:,jk,jpnh4) + zolimi (:,:,jk) + denitr(:,:,jk) 
    258          tra(:,:,jk,jpno3) = tra(:,:,jk,jpno3) - denitr (:,:,jk) * rdenit 
    259          tra(:,:,jk,jpdoc) = tra(:,:,jk,jpdoc) - zolimi (:,:,jk) - denitr(:,:,jk) 
    260          tra(:,:,jk,jpoxy) = tra(:,:,jk,jpoxy) - zolimi (:,:,jk) * o2ut 
    261          tra(:,:,jk,jpdic) = tra(:,:,jk,jpdic) + zolimi (:,:,jk) + denitr(:,:,jk) 
    262          tra(:,:,jk,jptal) = tra(:,:,jk,jptal) + rno3 * ( zolimi(:,:,jk) + ( rdenit + 1.) * denitr(:,:,jk) ) 
    263       END DO 
    264267 
    265268      IF( knt == nrdttrc ) THEN 
     
    278281          CALL wrk_dealloc( jpi, jpj, jpk, zw3d ) 
    279282       ENDIF 
    280  
    281       IF(ln_ctl)   THEN  ! print mean trends (used for debugging) 
    282          WRITE(charout, FMT="('rem6')") 
    283          CALL prt_ctl_trc_info(charout) 
    284          CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm) 
    285       ENDIF 
    286283      ! 
    287284      CALL wrk_dealloc( jpi, jpj,      ztempbac                  ) 
    288       CALL wrk_dealloc( jpi, jpj, jpk, zdepbac, zdepprod, zolimi ) 
     285      CALL wrk_dealloc( jpi, jpj, jpk, zdepbac, zdepprod, zolimi, zfacsi, zfacsib ) 
    289286      ! 
    290287      IF( nn_timing == 1 )  CALL timing_stop('p4z_rem') 
     
    305302      !! 
    306303      !!---------------------------------------------------------------------- 
    307       NAMELIST/nampisrem/ xremik, xremip, nitrif, xsirem, xsiremlab, xsilab 
     304      NAMELIST/nampisrem/ xremik, nitrif, xsirem, xsiremlab, xsilab, feratb, xkferb, &  
     305         &                xremikc, xremikn, xremikp 
    308306      INTEGER :: ios                 ! Local integer output status for namelist read 
    309307 
     
    321319         WRITE(numout,*) ' Namelist parameters for remineralization, nampisrem' 
    322320         WRITE(numout,*) ' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~' 
    323          WRITE(numout,*) '    remineralisation rate of POC              xremip    =', xremip 
    324          WRITE(numout,*) '    remineralization rate of DOC              xremik    =', xremik 
     321         IF( ln_p4z ) THEN 
     322            WRITE(numout,*) '    remineralization rate of DOC              xremik    =', xremik 
     323         ELSE 
     324            WRITE(numout,*) '    remineralization rate of DOC              xremikc   =', xremikc 
     325            WRITE(numout,*) '    remineralization rate of DON              xremikn   =', xremikn 
     326            WRITE(numout,*) '    remineralization rate of DOP              xremikp   =', xremikp 
     327         ENDIF 
    325328         WRITE(numout,*) '    remineralization rate of Si               xsirem    =', xsirem 
    326329         WRITE(numout,*) '    fast remineralization rate of Si          xsiremlab =', xsiremlab 
    327330         WRITE(numout,*) '    fraction of labile biogenic silica        xsilab    =', xsilab 
    328331         WRITE(numout,*) '    NH4 nitrification rate                    nitrif    =', nitrif 
     332         WRITE(numout,*) '    Bacterial Fe/C ratio                      feratb    =', feratb 
     333         WRITE(numout,*) '    Half-saturation constant for bact. Fe/C   xkferb    =', xkferb 
    329334      ENDIF 
    330335      ! 
    331336      denitr  (:,:,:) = 0._wp 
    332       denitnh4(:,:,:) = 0._wp 
    333337      ! 
    334338   END SUBROUTINE p4z_rem_init 
     
    339343      !!                     ***  ROUTINE p4z_rem_alloc  *** 
    340344      !!---------------------------------------------------------------------- 
    341       ALLOCATE( denitr(jpi,jpj,jpk), denitnh4(jpi,jpj,jpk), STAT=p4z_rem_alloc ) 
     345      ALLOCATE( denitr(jpi,jpj,jpk), STAT=p4z_rem_alloc ) 
    342346      ! 
    343347      IF( p4z_rem_alloc /= 0 )   CALL ctl_warn('p4z_rem_alloc: failed to allocate arrays') 
Note: See TracChangeset for help on using the changeset viewer.