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/p4zbio.F90 – NEMO

Ignore:
Timestamp:
2019-05-13T18:34:33+02:00 (4 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/p4zbio.F90

    r10966 r10975  
    4545CONTAINS 
    4646 
    47    SUBROUTINE p4z_bio ( kt, knt, Kbb, Kmm ) 
     47   SUBROUTINE p4z_bio ( kt, knt, Kbb, Kmm, Krhs ) 
    4848      !!--------------------------------------------------------------------- 
    4949      !!                     ***  ROUTINE p4z_bio  *** 
     
    5656      !!--------------------------------------------------------------------- 
    5757      INTEGER, INTENT(in) :: kt, knt 
    58       INTEGER, INTENT(in) :: Kbb, Kmm  ! time level indices 
     58      INTEGER, INTENT(in) :: Kbb, Kmm, Krhs  ! time level indices 
    5959      ! 
    6060      INTEGER             :: ji, jj, jk, jn 
     
    7373            DO ji = 1, jpi 
    7474!!gm  :  use nmln  and test on jk ...  less memory acces 
    75                IF( gdepw_n(ji,jj,jk+1) > hmld(ji,jj) )   xdiss(ji,jj,jk) = 0.01 
     75               IF( gdepw(ji,jj,jk+1,Kmm) > hmld(ji,jj) )   xdiss(ji,jj,jk) = 0.01 
    7676            END DO  
    7777         END DO 
    7878      END DO 
    7979 
    80       CALL p4z_opt     ( kt, knt )     ! Optic: PAR in the water column 
    81       CALL p4z_sink    ( kt, knt, Kbb, Kmm )     ! vertical flux of particulate organic matter 
    82       CALL p4z_fechem  ( kt, knt )     ! Iron chemistry/scavenging 
     80      CALL p4z_opt     ( kt, knt, Kbb,      Krhs )     ! Optic: PAR in the water column 
     81      CALL p4z_sink    ( kt, knt, Kbb, Kmm, Krhs )     ! vertical flux of particulate organic matter 
     82      CALL p4z_fechem  ( kt, knt, Kbb, Kmm, Krhs )     ! Iron chemistry/scavenging 
    8383      ! 
    8484      IF( ln_p4z ) THEN 
    85          CALL p4z_lim  ( kt, knt )     ! co-limitations by the various nutrients 
    86          CALL p4z_prod ( kt, knt )     ! phytoplankton growth rate over the global ocean.  
    87          !                             ! (for each element : C, Si, Fe, Chl ) 
    88          CALL p4z_mort ( kt      )     ! phytoplankton mortality 
    89          !                             ! zooplankton sources/sinks routines  
    90          CALL p4z_micro( kt, knt )           ! microzooplankton 
    91          CALL p4z_meso ( kt, knt )           ! mesozooplankton 
     85         CALL p4z_lim  ( kt, knt, Kbb, Kmm      )     ! co-limitations by the various nutrients 
     86         CALL p4z_prod ( kt, knt, Kbb, Kmm, Krhs )     ! phytoplankton growth rate over the global ocean.  
     87         !                                          ! (for each element : C, Si, Fe, Chl ) 
     88         CALL p4z_mort ( kt,      Kbb,      Krhs )     ! phytoplankton mortality 
     89         !                                          ! zooplankton sources/sinks routines  
     90         CALL p4z_micro( kt, knt, Kbb,      Krhs )     ! microzooplankton 
     91         CALL p4z_meso ( kt, knt, Kbb,      Krhs )     ! mesozooplankton 
    9292      ELSE 
    93          CALL p5z_lim  ( kt, knt )     ! co-limitations by the various nutrients 
    94          CALL p5z_prod ( kt, knt )     ! phytoplankton growth rate over the global ocean.  
    95          !                             ! (for each element : C, Si, Fe, Chl ) 
    96          CALL p5z_mort ( kt      )     ! phytoplankton mortality 
    97          !                             ! zooplankton sources/sinks routines  
    98          CALL p5z_micro( kt, knt )           ! microzooplankton 
    99          CALL p5z_meso ( kt, knt )           ! mesozooplankton 
     93         CALL p5z_lim  ( kt, knt, Kbb, Kmm      )     ! co-limitations by the various nutrients 
     94         CALL p5z_prod ( kt, knt, Kbb, Kmm, Krhs )     ! phytoplankton growth rate over the global ocean.  
     95         !                                          ! (for each element : C, Si, Fe, Chl ) 
     96         CALL p5z_mort ( kt,      Kbb,      Krhs      )     ! phytoplankton mortality 
     97         !                                          ! zooplankton sources/sinks routines  
     98         CALL p5z_micro( kt, knt, Kbb,      Krhs )           ! microzooplankton 
     99         CALL p5z_meso ( kt, knt, Kbb,      Krhs )           ! mesozooplankton 
    100100      ENDIF 
    101101      ! 
    102       CALL p4z_agg     ( kt, knt )     ! Aggregation of particles 
    103       CALL p4z_rem     ( kt, knt )     ! remineralization terms of organic matter+scavenging of Fe 
    104       CALL p4z_poc     ( kt, knt )     ! Remineralization of organic particles 
     102      CALL p4z_agg     ( kt, knt, Kbb,      Krhs )     ! Aggregation of particles 
     103      CALL p4z_rem     ( kt, knt, Kbb, Kmm, Krhs )     ! remineralization terms of organic matter+scavenging of Fe 
     104      CALL p4z_poc     ( kt, knt, Kbb, Kmm, Krhs )     ! Remineralization of organic particles 
    105105      ! 
    106106      IF( ln_ligand )  & 
    107       & CALL p4z_ligand( kt, knt ) 
     107      & CALL p4z_ligand( kt, knt, Kbb,      Krhs ) 
    108108      !                                                             ! 
    109109      IF(ln_ctl)   THEN  ! print mean trends (used for debugging) 
    110110         WRITE(charout, FMT="('bio ')") 
    111111         CALL prt_ctl_trc_info(charout) 
    112          CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm) 
     112         CALL prt_ctl_trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm) 
    113113      ENDIF 
    114114      ! 
Note: See TracChangeset for help on using the changeset viewer.