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 6225 for branches/2014/dev_r4704_NOC5_MPP_BDY_UPDATE/NEMOGCM/NEMO/TOP_SRC/PISCES/P2Z/p2zbio.F90 – NEMO

Ignore:
Timestamp:
2016-01-08T10:35:19+01:00 (8 years ago)
Author:
jamesharle
Message:

Update MPP_BDY_UPDATE branch to be consistent with head of trunk

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2014/dev_r4704_NOC5_MPP_BDY_UPDATE/NEMOGCM/NEMO/TOP_SRC/PISCES/P2Z/p2zbio.F90

    • Property svn:keywords set to Id
    r4624 r6225  
    2121   USE lbclnk          !  
    2222   USE prtctl_trc      ! Print control for debbuging 
    23    USE trdmod_oce 
    24    USE trdmod_trc 
     23   USE trd_oce 
     24   USE trdtrc 
    2525   USE iom 
    2626    
     
    5959   REAL(wp) ::   fdbod      ! zooplankton mortality fraction that goes to detritus 
    6060 
    61    !!* Substitution 
    62 #  include "top_substitute.h90" 
     61   !! * Substitutions 
     62#  include "vectopt_loop_substitute.h90" 
    6363   !!---------------------------------------------------------------------- 
    6464   !! NEMO/TOP 3.3 , NEMO Consortium (2010) 
    65    !! $Id: p2zbio.F90 3294 2012-01-28 16:44:18Z rblod $  
     65   !! $Id$  
    6666   !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 
    6767   !!---------------------------------------------------------------------- 
    68  
    6968CONTAINS 
    7069 
     
    110109      IF( nn_timing == 1 )  CALL timing_start('p2z_bio') 
    111110      ! 
    112       IF( ln_diatrc ) THEN 
     111      IF( ln_diatrc .OR. lk_iomput ) THEN 
    113112         CALL wrk_alloc( jpi, jpj,     17, zw2d ) 
    114113         CALL wrk_alloc( jpi, jpj, jpk, 3, zw3d ) 
     
    122121 
    123122      xksi(:,:) = 0.e0        ! zooplakton closure ( fbod) 
    124       IF( ln_diatrc ) THEN 
     123      IF( ln_diatrc .OR. lk_iomput ) THEN 
    125124         zw2d  (:,:,:) = 0.e0 
    126125         zw3d(:,:,:,:) = 0.e0 
     
    186185               !    closure : flux grazing is redistributed below level jpkbio 
    187186               zzoobod = tmminz * zzoo * zzoo 
    188                xksi(ji,jj) = xksi(ji,jj) + (1-fdbod) * zzoobod * fse3t(ji,jj,jk) 
     187               xksi(ji,jj) = xksi(ji,jj) + (1-fdbod) * zzoobod * e3t_n(ji,jj,jk) 
    189188               zboddet = fdbod * zzoobod 
    190189 
     
    239238                  !  trend number 17 in p2zexp 
    240239                ENDIF 
    241                 IF( ln_diatrc ) THEN 
     240                IF( ln_diatrc .OR. lk_iomput ) THEN 
    242241                  ! convert fluxes in per day 
    243                   ze3t = fse3t(ji,jj,jk) * 86400. 
     242                  ze3t = e3t_n(ji,jj,jk) * 86400._wp 
    244243                  zw2d(ji,jj,1)  = zw2d(ji,jj,1)  + zno3phy * ze3t 
    245244                  zw2d(ji,jj,2)  = zw2d(ji,jj,2)  + znh4phy * ze3t 
     
    360359                  !  trend number 17 in p2zexp  
    361360                ENDIF 
    362                 IF( ln_diatrc ) THEN 
     361                IF( ln_diatrc .OR. lk_iomput ) THEN 
    363362                  ! convert fluxes in per day 
    364                   ze3t = fse3t(ji,jj,jk) * 86400. 
     363                  ze3t = e3t_n(ji,jj,jk) * 86400._wp 
    365364                  zw2d(ji,jj,1)  = zw2d(ji,jj,1)  + zno3phy * ze3t 
    366365                  zw2d(ji,jj,2)  = zw2d(ji,jj,2)  + znh4phy * ze3t 
     
    381380                  zw2d(ji,jj,17) = zw2d(ji,jj,17) + zdetdom * ze3t 
    382381                  !    
    383                   zw3d(ji,jj,jk,1) = zno3phy * 86400 
    384                   zw3d(ji,jj,jk,2) = znh4phy * 86400 
    385                   zw3d(ji,jj,jk,3) = znh4no3 * 86400 
     382                  zw3d(ji,jj,jk,1) = zno3phy * 86400._wp 
     383                  zw3d(ji,jj,jk,2) = znh4phy * 86400._wp 
     384                  zw3d(ji,jj,jk,3) = znh4no3 * 86400._wp 
    386385                   ! 
    387386                ENDIF 
     
    390389      END DO 
    391390 
    392       IF( ln_diatrc ) THEN 
    393          ! 
     391      IF( ln_diatrc .OR. lk_iomput ) THEN 
    394392         DO jl = 1, 17  
    395393            CALL lbc_lnk( zw2d(:,:,jl),'T', 1. ) 
     
    398396            CALL lbc_lnk( zw3d(:,:,:,jl),'T', 1. ) 
    399397         END DO 
    400          IF( lk_iomput ) THEN 
     398      ENDIF 
     399      IF( lk_iomput ) THEN 
    401400            ! Save diagnostics 
    402             CALL iom_put( "TNO3PHY", zw2d(:,:,1) ) 
    403             CALL iom_put( "TNH4PHY", zw2d(:,:,2) ) 
    404             CALL iom_put( "TPHYDOM", zw2d(:,:,3) ) 
    405             CALL iom_put( "TPHYNH4", zw2d(:,:,4) ) 
    406             CALL iom_put( "TPHYZOO", zw2d(:,:,5) ) 
    407             CALL iom_put( "TPHYDET", zw2d(:,:,6) ) 
    408             CALL iom_put( "TDETZOO", zw2d(:,:,7) ) 
    409             CALL iom_put( "TZOODET", zw2d(:,:,8) ) 
    410             CALL iom_put( "TZOOBOD", zw2d(:,:,9) ) 
    411             CALL iom_put( "TZOONH4", zw2d(:,:,10) ) 
    412             CALL iom_put( "TZOODOM", zw2d(:,:,11) ) 
    413             CALL iom_put( "TNH4NO3", zw2d(:,:,12) ) 
    414             CALL iom_put( "TDOMNH4", zw2d(:,:,13) ) 
    415             CALL iom_put( "TDETNH4", zw2d(:,:,14) ) 
    416             CALL iom_put( "TPHYTOT", zw2d(:,:,15) ) 
    417             CALL iom_put( "TZOOTOT", zw2d(:,:,16) ) 
    418             !  
    419             CALL iom_put( "FNO3PHY", zw3d(:,:,:,1) ) 
    420             CALL iom_put( "FNH4PHY", zw3d(:,:,:,2) ) 
    421             CALL iom_put( "FNH4NO3", zw3d(:,:,:,3) ) 
    422             ! 
    423          ELSE 
     401        CALL iom_put( "TNO3PHY", zw2d(:,:,1) ) 
     402        CALL iom_put( "TNH4PHY", zw2d(:,:,2) ) 
     403        CALL iom_put( "TPHYDOM", zw2d(:,:,3) ) 
     404        CALL iom_put( "TPHYNH4", zw2d(:,:,4) ) 
     405        CALL iom_put( "TPHYZOO", zw2d(:,:,5) ) 
     406        CALL iom_put( "TPHYDET", zw2d(:,:,6) ) 
     407        CALL iom_put( "TDETZOO", zw2d(:,:,7) ) 
     408        CALL iom_put( "TZOODET", zw2d(:,:,8) ) 
     409        CALL iom_put( "TZOOBOD", zw2d(:,:,9) ) 
     410        CALL iom_put( "TZOONH4", zw2d(:,:,10) ) 
     411        CALL iom_put( "TZOODOM", zw2d(:,:,11) ) 
     412        CALL iom_put( "TNH4NO3", zw2d(:,:,12) ) 
     413        CALL iom_put( "TDOMNH4", zw2d(:,:,13) ) 
     414        CALL iom_put( "TDETNH4", zw2d(:,:,14) ) 
     415        CALL iom_put( "TPHYTOT", zw2d(:,:,15) ) 
     416        CALL iom_put( "TZOOTOT", zw2d(:,:,16) ) 
     417         !  
     418        CALL iom_put( "FNO3PHY", zw3d(:,:,:,1) ) 
     419        CALL iom_put( "FNH4PHY", zw3d(:,:,:,2) ) 
     420        CALL iom_put( "FNH4NO3", zw3d(:,:,:,3) ) 
     421         ! 
     422       ELSE 
     423          IF( ln_diatrc ) THEN 
    424424            ! 
    425425            trc2d(:,:,jp_pcs0_2d    ) = zw2d(:,:,1)  
     
    457457      IF( l_trdtrc ) THEN 
    458458         DO jl = jp_pcs0_trd, jp_pcs1_trd 
    459             CALL trd_mod_trc( trbio(:,:,:,jl), jl, kt )   ! handle the trend 
     459            CALL trd_trc( trbio(:,:,:,jl), jl, kt )   ! handle the trend 
    460460         END DO 
    461461      ENDIF 
     
    467467      ENDIF 
    468468      ! 
    469       IF( ln_diatrc ) THEN 
     469      IF( ln_diatrc .OR. lk_iomput ) THEN 
    470470         CALL wrk_dealloc( jpi, jpj,     17, zw2d ) 
    471471         CALL wrk_dealloc( jpi, jpj, jpk, 3, zw3d ) 
     
    598598 
    599599   !!====================================================================== 
    600 END MODULE  p2zbio 
     600END MODULE p2zbio 
Note: See TracChangeset for help on using the changeset viewer.