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.
p5zbio.F90 in branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P5Z – NEMO

source: branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P5Z/p5zbio.F90 @ 6841

Last change on this file since 6841 was 6453, checked in by aumont, 8 years ago

New developments of PISCES (QUOTA, ligands, lability, ...)

File size: 5.1 KB
Line 
1MODULE p5zbio
2   !!======================================================================
3   !!                         ***  MODULE p5zbio  ***
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   !!             3.6  !  2015-05  (O. Aumont) PISCES quota
9   !!----------------------------------------------------------------------
10#if defined key_pisces_quota
11   !!----------------------------------------------------------------------
12   !!   'key_pisces_quota'     PISCES bio-model with variable stoichiometry
13   !!----------------------------------------------------------------------
14   !!   p5z_bio        :   computes the interactions between the different
15   !!                      compartments of PISCES
16   !!----------------------------------------------------------------------
17   USE oce_trc         !  shared variables between ocean and passive tracers
18   USE trc             !  passive tracers common variables
19   USE sms_pisces      !  PISCES Source Minus Sink variables
20   USE p5zsink         !  vertical flux of particulate matter due to sinking
21   USE p4zopt          !  optical model
22   USE p5zlim          !  Co-limitations of differents nutrients
23   USE p5zprod         !  Growth rate of the 2 phyto groups
24   USE p5zmort         !  Mortality terms for phytoplankton
25   USE p5zmicro        !  Sources and sinks of microzooplankton
26   USE p5zmeso         !  Sources and sinks of mesozooplankton
27   USE p5zrem          !  Remineralisation of organic/inorganic matter
28   USE p5zpoc          !  Remineralisation of organic particles
29   USE p5zagg          !  Aggregation of particles
30   USE p4zlys          !  Dissolution of calcite
31   USE p4zfechem       !  Iron chemistry
32   USE p4zligand       !  Remineralization of ligands
33   USE prtctl_trc      !  print control for debugging
34   USE iom             !  I/O manager
35 
36   IMPLICIT NONE
37   PRIVATE
38
39   PUBLIC  p5z_bio   
40
41   !!* Substitution
42#  include "top_substitute.h90"
43   !!----------------------------------------------------------------------
44   !! NEMO/TOP 3.3 , NEMO Consortium (2010)
45   !! $Id: p4zbio.F90 3160 2011-11-20 14:27:18Z cetlod $
46   !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt)
47   !!----------------------------------------------------------------------
48
49CONTAINS
50
51   SUBROUTINE p5z_bio ( kt, knt )
52      !!---------------------------------------------------------------------
53      !!                     ***  ROUTINE p5z_bio  ***
54      !!
55      !! ** Purpose :   Ecosystem model in the whole ocean: computes the
56      !!              different interactions between the different compartments
57      !!              of PISCES
58      !!
59      !! ** Method  : - ???
60      !!---------------------------------------------------------------------
61      INTEGER, INTENT(in) :: kt, knt
62      INTEGER  ::  ji, jj, jk, jn
63      CHARACTER (len=25) :: charout
64
65      !!---------------------------------------------------------------------
66      !
67      IF( nn_timing == 1 )  CALL timing_start('p5z_bio')
68      !
69      !     ASSIGN THE SHEAR RATE THAT IS USED FOR AGGREGATION
70      !     OF PHYTOPLANKTON AND DETRITUS
71
72      xdiss(:,:,:) = 1.
73!!gm the use of nmld should be better here?
74      DO jk = 2, jpkm1
75         DO jj = 1, jpj
76            DO ji = 1, jpi
77               IF( fsdepw(ji,jj,jk+1) > hmld(ji,jj) )   xdiss(ji,jj,jk) = 0.01
78            END DO
79         END DO
80      END DO
81
82      CALL p4z_opt  ( kt, knt )     ! Optic: PAR in the water column
83      CALL p5z_sink ( kt, knt )     ! vertical flux of particulate organic matter
84      CALL p4z_lys   (kt, knt )     ! Dissolution of calcite
85      CALL p4z_fechem(kt, knt )     ! Iron chemistry/scavenging
86      CALL p5z_lim  ( kt, knt )     ! co-limitations by the various nutrients
87      CALL p5z_prod ( kt, knt )     ! phytoplankton growth rate over the global ocean.
88      !                             ! (for each element : C, Si, Fe, Chl )
89      CALL p5z_mort ( kt      )     ! phytoplankton mortality
90      !                             ! zooplankton sources/sinks routines
91      CALL p5z_micro( kt, knt )           ! microzooplankton
92      CALL p5z_meso ( kt, knt )           ! mesozooplankton
93      CALL p5z_agg  ( kt, knt )     ! Aggregation of particles
94      CALL p5z_rem  ( kt, knt )     ! remineralization terms of organic matter+scavenging of Fe
95      CALL p5z_poc  ( kt, knt )     ! Remineralisation of organic particles
96      CALL p4z_ligand( kt, knt)     ! Remineralization of ligands
97      !                             ! test if tracers concentrations fall below 0.
98      !
99      IF( nn_timing == 1 )  CALL timing_stop('p5z_bio')
100      !
101   END SUBROUTINE p5z_bio
102
103#else
104   !!======================================================================
105   !!  Dummy module :                                   No PISCES bio-model
106   !!======================================================================
107CONTAINS
108   SUBROUTINE p5z_bio                         ! Empty routine
109   END SUBROUTINE p5z_bio
110#endif 
111
112   !!======================================================================
113END MODULE  p5zbio
114
Note: See TracBrowser for help on using the repository browser.