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 5682 for branches/2015/dev_r5072_UKMO2_OBS_simplification/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zfechem.F90 – NEMO

Ignore:
Timestamp:
2015-08-12T17:46:45+02:00 (9 years ago)
Author:
mattmartin
Message:

OBS simplification changes committed to branch after running SETTE tests to make sure we get the same results as the trunk for ORCA2_LIM_OBS.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2015/dev_r5072_UKMO2_OBS_simplification/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zfechem.F90

    r4996 r5682  
    4848CONTAINS 
    4949 
    50    SUBROUTINE p4z_fechem( kt, jnt ) 
     50   SUBROUTINE p4z_fechem( kt, knt ) 
    5151      !!--------------------------------------------------------------------- 
    5252      !!                     ***  ROUTINE p4z_fechem  *** 
     
    6262      !!--------------------------------------------------------------------- 
    6363      ! 
    64       INTEGER, INTENT(in) ::   kt, jnt ! ocean time step 
     64      INTEGER, INTENT(in) ::   kt, knt ! ocean time step 
    6565      ! 
    6666      INTEGER  ::   ji, jj, jk, jic 
     
    101101      ! ------------------------------------------------- 
    102102      IF( ln_ligvar ) THEN 
    103          ztotlig(:,:,:) =  0.09 * trn(:,:,:,jpdoc) * 1E6 + ligand * 1E9 
     103         ztotlig(:,:,:) =  0.09 * trb(:,:,:,jpdoc) * 1E6 + ligand * 1E9 
    104104         ztotlig(:,:,:) =  MIN( ztotlig(:,:,:), 10. ) 
    105105      ELSE 
     
    127127                  zionic = 19.9201 * tsn(ji,jj,jk,jp_sal) / ( 1000. - 1.00488 * tsn(ji,jj,jk,jp_sal) + rtrn ) 
    128128                  zph    = -LOG10( MAX( hi(ji,jj,jk), rtrn) ) 
    129                   zoxy   = trn(ji,jj,jk,jpoxy) * ( rhop(ji,jj,jk) / 1.e3 ) 
     129                  zoxy   = trb(ji,jj,jk,jpoxy) * ( rhop(ji,jj,jk) / 1.e3 ) 
    130130                  ! Fe2+ oxydation rate from Santana-Casiano et al. (2005) 
    131131                  zkox   = 35.407 - 6.7109 * zph + 0.5342 * zph * zph - 5362.6 / ( tsn(ji,jj,jk,jp_tem) + 273.15 )  & 
     
    137137                  zkph1 = zkph2 / 5. 
    138138                  ! pass the dfe concentration from PISCES 
    139                   ztfe = trn(ji,jj,jk,jpfer) * 1e9 
     139                  ztfe = trb(ji,jj,jk,jpfer) * 1e9 
    140140                  ! ---------------------------------------------------------- 
    141141                  ! ANALYTICAL SOLUTION OF ROOTS OF THE FE3+ EQUATION 
     
    204204                  zkeq           = fekeq(ji,jj,jk) 
    205205                  zfesatur       = zTL1(ji,jj,jk) * 1E-9 
    206                   ztfe           = trn(ji,jj,jk,jpfer)  
     206                  ztfe           = trb(ji,jj,jk,jpfer)  
    207207                  ! Fe' is the root of a 2nd order polynom 
    208208                  zFe3 (ji,jj,jk) = ( -( 1. + zfesatur * zkeq - zkeq * ztfe )               & 
     
    210210                     &               + 4. * ztfe * zkeq) ) / ( 2. * zkeq ) 
    211211                  zFe3 (ji,jj,jk) = zFe3(ji,jj,jk) * 1E9 
    212                   zFeL1(ji,jj,jk) = MAX( 0., trn(ji,jj,jk,jpfer) * 1E9 - zFe3(ji,jj,jk) ) 
     212                  zFeL1(ji,jj,jk) = MAX( 0., trb(ji,jj,jk,jpfer) * 1E9 - zFe3(ji,jj,jk) ) 
    213213              END DO 
    214214            END DO 
     
    240240               ENDIF 
    241241#if defined key_kriest 
    242                ztrc   = ( trn(ji,jj,jk,jppoc) + trn(ji,jj,jk,jpcal) + trn(ji,jj,jk,jpgsi) ) * 1.e6  
     242               ztrc   = ( trb(ji,jj,jk,jppoc) + trb(ji,jj,jk,jpcal) + trb(ji,jj,jk,jpgsi) ) * 1.e6  
    243243#else 
    244                ztrc   = ( trn(ji,jj,jk,jppoc) + trn(ji,jj,jk,jpgoc) + trn(ji,jj,jk,jpcal) + trn(ji,jj,jk,jpgsi) ) * 1.e6  
     244               ztrc   = ( trb(ji,jj,jk,jppoc) + trb(ji,jj,jk,jpgoc) + trb(ji,jj,jk,jpcal) + trb(ji,jj,jk,jpgsi) ) * 1.e6  
    245245#endif 
    246246               IF( ln_dust )  zdust  = dust(ji,jj) / ( wdust / rday ) * tmask(ji,jj,jk) ! dust in kg/m2/s 
     
    251251               ! to later allocate scavenged iron to the different organic pools 
    252252               ! --------------------------------------------------------- 
    253                zdenom1 = xlam1 * trn(ji,jj,jk,jppoc) / zlam1b 
     253               zdenom1 = xlam1 * trb(ji,jj,jk,jppoc) / zlam1b 
    254254#if ! defined key_kriest 
    255                zdenom2 = xlam1 * trn(ji,jj,jk,jpgoc) / zlam1b 
     255               zdenom2 = xlam1 * trb(ji,jj,jk,jpgoc) / zlam1b 
    256256#endif 
    257257 
     
    262262               zlamfac = MIN( 1.  , zlamfac ) 
    263263               zdep    = MIN( 1., 1000. / fsdept(ji,jj,jk) ) 
    264                zlam1b  = xlam1 * MAX( 0.e0, ( trn(ji,jj,jk,jpfer) * 1.e9 - ztotlig(ji,jj,jk) ) ) 
    265                zcoag   = zfeequi * zlam1b * zstep + 1E-4 * ( 1. - zlamfac ) * zdep * zstep * trn(ji,jj,jk,jpfer) 
     264               zlam1b  = xlam1 * MAX( 0.e0, ( trb(ji,jj,jk,jpfer) * 1.e9 - ztotlig(ji,jj,jk) ) ) 
     265               zcoag   = zfeequi * zlam1b * zstep + 1E-4 * ( 1. - zlamfac ) * zdep * zstep * trb(ji,jj,jk,jpfer) 
    266266 
    267267               !  Compute the coagulation of colloidal iron. This parameterization  
     
    269269               !  It requires certainly some more work as it is very poorly constrained. 
    270270               !  ---------------------------------------------------------------- 
    271                zlam1a  = ( 0.369  * 0.3 * trn(ji,jj,jk,jpdoc) + 102.4  * trn(ji,jj,jk,jppoc) ) * xdiss(ji,jj,jk)    & 
    272                    &   + ( 114.   * 0.3 * trn(ji,jj,jk,jpdoc) + 5.09E3 * trn(ji,jj,jk,jppoc) ) 
     271               zlam1a  = ( 0.369  * 0.3 * trb(ji,jj,jk,jpdoc) + 102.4  * trb(ji,jj,jk,jppoc) ) * xdiss(ji,jj,jk)    & 
     272                   &   + ( 114.   * 0.3 * trb(ji,jj,jk,jpdoc) + 5.09E3 * trb(ji,jj,jk,jppoc) ) 
    273273               zaggdfea = zlam1a * zstep * zfecoll 
    274274#if defined key_kriest 
     
    278278               tra(ji,jj,jk,jpsfe) = tra(ji,jj,jk,jpsfe) + zscave * zdenom1 + zaggdfea + zaggdfeb 
    279279#else 
    280                zlam1b = 3.53E3 *   trn(ji,jj,jk,jpgoc) * xdiss(ji,jj,jk) 
     280               zlam1b = 3.53E3 *   trb(ji,jj,jk,jpgoc) * xdiss(ji,jj,jk) 
    281281               zaggdfeb = zlam1b * zstep * zfecoll 
    282282               ! 
     
    292292      !  ---------------------------------------- 
    293293      IF( ln_fechem ) THEN 
    294           biron(:,:,:) = MAX( 0., trn(:,:,:,jpfer) - zFeP(:,:,:) * 1E-9 ) 
     294          biron(:,:,:) = MAX( 0., trb(:,:,:,jpfer) - zFeP(:,:,:) * 1E-9 ) 
    295295      ELSE 
    296           biron(:,:,:) = trn(:,:,:,jpfer)  
     296          biron(:,:,:) = trb(:,:,:,jpfer)  
    297297      ENDIF 
    298298 
    299299      !  Output of some diagnostics variables 
    300300      !     --------------------------------- 
    301       IF( lk_iomput .AND. jnt == nrdttrc ) THEN 
     301      IF( lk_iomput .AND. knt == nrdttrc ) THEN 
    302302         IF( iom_use("Fe3")    )  CALL iom_put("Fe3"    , zFe3   (:,:,:)       * tmask(:,:,:) )   ! Fe3+ 
    303303         IF( iom_use("FeL1")   )  CALL iom_put("FeL1"   , zFeL1  (:,:,:)       * tmask(:,:,:) )   ! FeL1 
Note: See TracChangeset for help on using the changeset viewer.