source: branches/dev_001_GM/NEMO/TOP_SRC/PISCES_SMS/p4znano.F90 @ 775

Last change on this file since 775 was 775, checked in by gm, 13 years ago

dev_001_GM - PISCES in F90 : encapsulation of all p4z…F files in module F90 + doctor norme for local variables - compilation OK

  • Property svn:eol-style set to native
  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 4.2 KB
Line 
1MODULE p4znano
2   !!======================================================================
3   !!                         ***  MODULE p4znano  ***
4   !! TOP :   PISCES Compute the mortality terms for nanophytoplankton
5   !!======================================================================
6   !! History :   1.0  !  2002     (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_nano       :   Compute the mortality terms for nanophytoplankton
14   !!----------------------------------------------------------------------
15   USE oce_trc         !
16   USE trp_trc         !
17   USE sms             !
18
19   IMPLICIT NONE
20   PRIVATE
21
22   PUBLIC   p4z_nano    ! called in p4zbio.F90
23
24   !!* Substitution
25#  include "domzgr_substitute.h90"
26   !!----------------------------------------------------------------------
27   !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007)
28   !! $Header:$
29   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt)
30   !!----------------------------------------------------------------------
31
32CONTAINS
33
34   SUBROUTINE p4z_nano
35      !!---------------------------------------------------------------------
36      !!                     ***  ROUTINE p4z_nano  ***
37      !!
38      !! ** Purpose :   Compute the mortality terms for nanophytoplankton
39      !!
40      !! ** Method  : - ???
41      !!---------------------------------------------------------------------
42      INTEGER  ::   ji, jj, jk
43      REAL(wp) ::   zfact, zstep, zcompaph
44      !!---------------------------------------------------------------------
45
46
47      zstep = rfact2 / rjjss      ! Time step duration for biology
48
49
50      DO jk = 1, jpkm1
51         DO jj = 1, jpj
52            DO ji = 1, jpi
53
54               zcompaph = MAX( ( trn(ji,jj,jk,jpphy) - 1e-8 ), 0.e0 )
55               zfact    = 1./ ( trn(ji,jj,jk,jpphy) + rtrn )
56
57!     Squared mortality of Phyto similar to a sedimentation term during
58!     blooms (Doney et al. 1996)
59!     -----------------------------------------------------------------
60               respp(ji,jj,jk) = wchl * 1.e6 * zstep * zdiss(ji,jj,jk)   &
61# if defined key_off_degrad
62                  &            * facvol(ji,jj,jk)     &
63# endif
64                  &            * zcompaph * trn(ji,jj,jk,jpphy)
65                                                                               
66               respnf (ji,jj,jk) = respp(ji,jj,jk) * trn(ji,jj,jk,jpnfe) * zfact
67                                                                               
68               respnch(ji,jj,jk) = respp(ji,jj,jk) * trn(ji,jj,jk,jpnch) * zfact
69
70!     Phytoplankton mortality. This mortality loss is slightly
71!     increased when nutrients are limiting phytoplankton growth
72!     as observed for instance in case of iron limitation.
73!     ----------------------------------------------------------
74               tortp  (ji,jj,jk) = mprat * zstep * trn(ji,jj,jk,jpphy)          &
75# if defined key_off_degrad
76                  &              * facvol(ji,jj,jk)     &
77# endif
78                  &              / ( xkmort + trn(ji,jj,jk,jpphy) ) * zcompaph
79                                                                               
80               tortnf (ji,jj,jk) = tortp(ji,jj,jk) * trn(ji,jj,jk,jpnfe) * zfact
81                                                                               
82               tortnch(ji,jj,jk) = tortp(ji,jj,jk) * trn(ji,jj,jk,jpnch) * zfact
83
84            END DO
85         END DO
86      END DO
87      !
88   END SUBROUTINE p4z_nano
89
90#else
91   !!======================================================================
92   !!  Dummy module :                                   No PISCES bio-model
93   !!======================================================================
94CONTAINS
95   SUBROUTINE p4z_nano                    ! Empty routine
96   END SUBROUTINE p4z_nano
97#endif 
98
99   !!======================================================================
100END MODULE  p4znano
Note: See TracBrowser for help on using the repository browser.