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/2015/dev_r5803_NOC_WAD/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z – NEMO

source: branches/2015/dev_r5803_NOC_WAD/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zbio.F90 @ 5870

Last change on this file since 5870 was 5870, checked in by acc, 8 years ago

Branch 2015/dev_r5803_NOC_WAD. Merge in trunk changes from 5803 to 5869 in preparation for merge. Also tidied and reorganised some wetting and drying code. Renamed wadlmt.F90 to wetdry.F90. Wetting drying code changes restricted to domzgr.F90, domvvl.F90 nemogcm.F90 sshwzv.F90, dynspg_ts.F90, wetdry.F90 and dynhpg.F90. Code passes full SETTE tests with ln_wd=.false.. Still awaiting test case for checking with ln_wd=.false.

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