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.
p4zbio.F90 in branches/UKMO/dev_r10171_test_crs_AMM7/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z – NEMO

source: branches/UKMO/dev_r10171_test_crs_AMM7/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zbio.F90 @ 10207

Last change on this file since 10207 was 10207, checked in by cmao, 6 years ago

remove svn keyword

File size: 4.8 KB
Line 
1MODULE p4zbio
2   !!======================================================================
3   !!                         ***  MODULE p4zbio  ***
4   !! TOP :   PISCES bio-model
5   !!======================================================================
6   !! History :   1.0  !  2004     (O. Aumont) Original code
7   !!             2.0  !  2007-12  (C. Ethe, G. Madec)  F90
8   !!----------------------------------------------------------------------
9#if defined key_pisces
10   !!----------------------------------------------------------------------
11   !!   'key_pisces'                                       PISCES bio-model
12   !!----------------------------------------------------------------------
13   !!   p4z_bio        :   computes the interactions between the different
14   !!                      compartments of PISCES
15   !!----------------------------------------------------------------------
16   USE oce_trc         !  shared variables between ocean and passive tracers
17   USE sms_pisces      !  PISCES Source Minus Sink variables
18   USE p4zsink         !  vertical flux of particulate matter due to sinking
19   USE p4zopt          !  optical model
20   USE p4zlim          !  Co-limitations of differents nutrients
21   USE p4zprod         !  Growth rate of the 2 phyto groups
22   USE p4zmort         !  Mortality terms for phytoplankton
23   USE p4zmicro        !  Sources and sinks of microzooplankton
24   USE p4zmeso         !  Sources and sinks of mesozooplankton
25   USE p4zrem          !  Remineralisation of organic matter
26   USE p4zfechem
27   USE prtctl_trc, ONLY: prt_ctl_trc_info,prt_ctl_trc !  print control for debugging
28 
29   IMPLICIT NONE
30   PRIVATE
31
32   PUBLIC  p4z_bio   
33
34   !!* Substitution
35#  include "top_substitute.h90"
36   !!----------------------------------------------------------------------
37   !! NEMO/TOP 3.3 , NEMO Consortium (2010)
38   !! $Id$
39   !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt)
40   !!----------------------------------------------------------------------
41
42CONTAINS
43
44   SUBROUTINE p4z_bio ( kt, knt )
45      !!---------------------------------------------------------------------
46      !!                     ***  ROUTINE p4z_bio  ***
47      !!
48      !! ** Purpose :   Ecosystem model in the whole ocean: computes the
49      !!              different interactions between the different compartments
50      !!              of PISCES
51      !!
52      !! ** Method  : - ???
53      !!---------------------------------------------------------------------
54      INTEGER, INTENT(in) :: kt, knt
55      INTEGER             :: ji, jj, jk, jn
56      CHARACTER (len=25) :: charout
57      !!---------------------------------------------------------------------
58      !
59      IF( nn_timing == 1 )  CALL timing_start('p4z_bio')
60      !
61      !     ASSIGN THE SHEAR RATE THAT IS USED FOR AGGREGATION
62      !     OF PHYTOPLANKTON AND DETRITUS
63
64      xdiss(:,:,:) = 1.
65!!gm the use of nmld should be better here?
66      DO jk = 2, jpkm1
67         DO jj = 1, jpj
68            DO ji = 1, jpi
69               IF( fsdepw(ji,jj,jk+1) > hmld(ji,jj) )   xdiss(ji,jj,jk) = 0.01
70            END DO
71         END DO
72      END DO
73
74      CALL p4z_opt  ( kt, knt )     ! Optic: PAR in the water column
75      CALL p4z_sink ( kt, knt )     ! vertical flux of particulate organic matter
76      CALL p4z_fechem(kt, knt )     ! Iron chemistry/scavenging
77      CALL p4z_lim  ( kt, knt )     ! co-limitations by the various nutrients
78      CALL p4z_prod ( kt, knt )     ! phytoplankton growth rate over the global ocean.
79      !                             ! (for each element : C, Si, Fe, Chl )
80      CALL p4z_mort ( kt      )     ! phytoplankton mortality
81      !                             ! zooplankton sources/sinks routines
82      CALL p4z_micro( kt, knt )           ! microzooplankton
83      CALL p4z_meso ( kt, knt )           ! mesozooplankton
84      CALL p4z_rem  ( kt, knt )     ! remineralization terms of organic matter+scavenging of Fe
85      !                             ! test if tracers concentrations fall below 0.
86      !                                                             !
87      IF(ln_ctl)   THEN  ! print mean trends (used for debugging)
88         WRITE(charout, FMT="('bio ')")
89         CALL prt_ctl_trc_info(charout)
90         CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm)
91      ENDIF
92      !
93      IF( nn_timing == 1 )  CALL timing_stop('p4z_bio')
94      !
95   END SUBROUTINE p4z_bio
96
97#else
98   !!======================================================================
99   !!  Dummy module :                                   No PISCES bio-model
100   !!======================================================================
101CONTAINS
102   SUBROUTINE p4z_bio                         ! Empty routine
103   END SUBROUTINE p4z_bio
104#endif 
105
106   !!======================================================================
107END MODULE p4zbio
Note: See TracBrowser for help on using the repository browser.