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/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z – NEMO

source: branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zbio.F90 @ 6848

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

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

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