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 7041 for branches/2016/dev_r7012_ROBUST5_CNRS/NEMOGCM/NEMO/TOP_SRC/PISCES/P2Z/p2zbio.F90 – NEMO

Ignore:
Timestamp:
2016-10-19T12:55:07+02:00 (8 years ago)
Author:
cetlod
Message:

ROBUST5_CNRS : implementation of part I of new TOP interface - 1st step -, see ticket #1782

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2016/dev_r7012_ROBUST5_CNRS/NEMOGCM/NEMO/TOP_SRC/PISCES/P2Z/p2zbio.F90

    r6140 r7041  
    99   !!             2.0  !  2007-12  (C. Deltel, G. Madec)  F90 
    1010   !!---------------------------------------------------------------------- 
    11 #if defined key_pisces_reduced 
     11#if defined key_pisces 
    1212   !!---------------------------------------------------------------------- 
    13    !!   'key_pisces_reduced'                                     LOBSTER bio-model 
     13   !!   'key_pisces'                                     LOBSTER bio-model 
    1414   !!---------------------------------------------------------------------- 
    1515   !!   p2z_bio        :   
     
    8686      !!                                  source      sink 
    8787      !!         
    88       !!              IF 'key_diabio' defined , the biogeochemical trends 
    89       !!              for passive tracers are saved for futher diagnostics. 
    9088      !!--------------------------------------------------------------------- 
    9189      !! 
     
    109107      IF( nn_timing == 1 )  CALL timing_start('p2z_bio') 
    110108      ! 
    111       IF( ln_diatrc .OR. lk_iomput ) THEN 
     109      IF( lk_iomput ) THEN 
    112110         CALL wrk_alloc( jpi, jpj,     17, zw2d ) 
    113111         CALL wrk_alloc( jpi, jpj, jpk, 3, zw3d ) 
     
    121119 
    122120      xksi(:,:) = 0.e0        ! zooplakton closure ( fbod) 
    123       IF( ln_diatrc .OR. lk_iomput ) THEN 
     121      IF( lk_iomput ) THEN 
    124122         zw2d  (:,:,:) = 0.e0 
    125123         zw3d(:,:,:,:) = 0.e0 
     
    218216               tra(ji,jj,jk,jpdom) = tra(ji,jj,jk,jpdom) + zdoma 
    219217 
    220  
    221                IF( ( ln_diabio .AND. .NOT. lk_iomput ) .OR. l_trdtrc ) THEN 
    222                   trbio(ji,jj,jk,jp_pcs0_trd     ) = zno3phy 
    223                   trbio(ji,jj,jk,jp_pcs0_trd +  1) = znh4phy 
    224                   trbio(ji,jj,jk,jp_pcs0_trd +  2) = zphynh4 
    225                   trbio(ji,jj,jk,jp_pcs0_trd +  3) = zphydom 
    226                   trbio(ji,jj,jk,jp_pcs0_trd +  4) = zphyzoo 
    227                   trbio(ji,jj,jk,jp_pcs0_trd +  5) = zphydet 
    228                   trbio(ji,jj,jk,jp_pcs0_trd +  6) = zdetzoo 
    229                   !  trend number 8 in p2zsed 
    230                   trbio(ji,jj,jk,jp_pcs0_trd +  8) = zzoodet 
    231                   trbio(ji,jj,jk,jp_pcs0_trd +  9) = zzoobod 
    232                   trbio(ji,jj,jk,jp_pcs0_trd + 10) = zzoonh4 
    233                   trbio(ji,jj,jk,jp_pcs0_trd + 11) = zzoodom 
    234                   trbio(ji,jj,jk,jp_pcs0_trd + 12) = znh4no3 
    235                   trbio(ji,jj,jk,jp_pcs0_trd + 13) = zdomnh4 
    236                   trbio(ji,jj,jk,jp_pcs0_trd + 14) = zdetnh4 
    237                   trbio(ji,jj,jk,jp_pcs0_trd + 15) = zdetdom 
    238                   !  trend number 17 in p2zexp 
    239                 ENDIF 
    240                 IF( ln_diatrc .OR. lk_iomput ) THEN 
     218                IF( lk_iomput ) THEN 
    241219                  ! convert fluxes in per day 
    242220                  ze3t = e3t_n(ji,jj,jk) * 86400._wp 
     
    340318               tra(ji,jj,jk,jpdom) = tra(ji,jj,jk,jpdom) + zdoma 
    341319               ! 
    342                IF( ( ln_diabio .AND. .NOT. lk_iomput ) .OR. l_trdtrc ) THEN 
    343                   trbio(ji,jj,jk,jp_pcs0_trd     ) = zno3phy 
    344                   trbio(ji,jj,jk,jp_pcs0_trd +  1) = znh4phy 
    345                   trbio(ji,jj,jk,jp_pcs0_trd +  2) = zphynh4 
    346                   trbio(ji,jj,jk,jp_pcs0_trd +  3) = zphydom 
    347                   trbio(ji,jj,jk,jp_pcs0_trd +  4) = zphyzoo 
    348                   trbio(ji,jj,jk,jp_pcs0_trd +  5) = zphydet 
    349                   trbio(ji,jj,jk,jp_pcs0_trd +  6) = zdetzoo 
    350                   !  trend number 8 in p2zsed 
    351                   trbio(ji,jj,jk,jp_pcs0_trd +  8) = zzoodet 
    352                   trbio(ji,jj,jk,jp_pcs0_trd +  9) = zzoobod 
    353                   trbio(ji,jj,jk,jp_pcs0_trd + 10) = zzoonh4 
    354                   trbio(ji,jj,jk,jp_pcs0_trd + 11) = zzoodom 
    355                   trbio(ji,jj,jk,jp_pcs0_trd + 12) = znh4no3 
    356                   trbio(ji,jj,jk,jp_pcs0_trd + 13) = zdomnh4 
    357                   trbio(ji,jj,jk,jp_pcs0_trd + 14) = zdetnh4 
    358                   trbio(ji,jj,jk,jp_pcs0_trd + 15) = zdetdom 
    359                   !  trend number 17 in p2zexp  
    360                 ENDIF 
    361                 IF( ln_diatrc .OR. lk_iomput ) THEN 
     320                IF( lk_iomput ) THEN 
    362321                  ! convert fluxes in per day 
    363322                  ze3t = e3t_n(ji,jj,jk) * 86400._wp 
     
    389348      END DO 
    390349 
    391       IF( ln_diatrc .OR. lk_iomput ) THEN 
     350      IF( lk_iomput ) THEN 
    392351         DO jl = 1, 17  
    393352            CALL lbc_lnk( zw2d(:,:,jl),'T', 1. ) 
     
    420379        CALL iom_put( "FNH4NO3", zw3d(:,:,:,3) ) 
    421380         ! 
    422        ELSE 
    423           IF( ln_diatrc ) THEN 
    424             ! 
    425             trc2d(:,:,jp_pcs0_2d    ) = zw2d(:,:,1)  
    426             trc2d(:,:,jp_pcs0_2d + 1) = zw2d(:,:,2)  
    427             trc2d(:,:,jp_pcs0_2d + 2) = zw2d(:,:,3)  
    428             trc2d(:,:,jp_pcs0_2d + 3) = zw2d(:,:,4)  
    429             trc2d(:,:,jp_pcs0_2d + 4) = zw2d(:,:,5)  
    430             trc2d(:,:,jp_pcs0_2d + 5) = zw2d(:,:,6)  
    431             trc2d(:,:,jp_pcs0_2d + 6) = zw2d(:,:,7)  
    432                      ! trend number 8 is in p2zsed.F 
    433             trc2d(:,:,jp_pcs0_2d +  8) = zw2d(:,:,8)  
    434             trc2d(:,:,jp_pcs0_2d +  9) = zw2d(:,:,9)  
    435             trc2d(:,:,jp_pcs0_2d + 10) = zw2d(:,:,10)  
    436             trc2d(:,:,jp_pcs0_2d + 11) = zw2d(:,:,11)  
    437             trc2d(:,:,jp_pcs0_2d + 12) = zw2d(:,:,12)  
    438             trc2d(:,:,jp_pcs0_2d + 13) = zw2d(:,:,13)  
    439             trc2d(:,:,jp_pcs0_2d + 14) = zw2d(:,:,14)  
    440             trc2d(:,:,jp_pcs0_2d + 15) = zw2d(:,:,15)  
    441             trc2d(:,:,jp_pcs0_2d + 16) = zw2d(:,:,16)  
    442             trc2d(:,:,jp_pcs0_2d + 17) = zw2d(:,:,17)  
    443             ! trend number 19 is in p2zexp.F 
    444             trc3d(:,:,:,jp_pcs0_3d    ) = zw3d(:,:,:,1)  
    445             trc3d(:,:,:,jp_pcs0_3d + 1) = zw3d(:,:,:,2)  
    446             trc3d(:,:,:,jp_pcs0_3d + 2) = zw3d(:,:,:,3)  
    447          ENDIF 
    448         ! 
    449       ENDIF 
    450  
    451       IF( ln_diabio .AND. .NOT. lk_iomput )  THEN 
    452          DO jl = jp_pcs0_trd, jp_pcs1_trd 
    453             CALL lbc_lnk( trbio(:,:,1,jl),'T', 1. ) 
    454          END DO  
    455       ENDIF 
    456       ! 
    457       IF( l_trdtrc ) THEN 
    458          DO jl = jp_pcs0_trd, jp_pcs1_trd 
    459             CALL trd_trc( trbio(:,:,:,jl), jl, kt )   ! handle the trend 
    460          END DO 
    461381      ENDIF 
    462382 
     
    467387      ENDIF 
    468388      ! 
    469       IF( ln_diatrc .OR. lk_iomput ) THEN 
     389      IF( lk_iomput ) THEN 
    470390         CALL wrk_dealloc( jpi, jpj,     17, zw2d ) 
    471391         CALL wrk_dealloc( jpi, jpj, jpk, 3, zw3d ) 
Note: See TracChangeset for help on using the changeset viewer.