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.
p4zlim.F in trunk/NEMO/TOP_SRC/SMS – NEMO

source: trunk/NEMO/TOP_SRC/SMS/p4zlim.F @ 333

Last change on this file since 333 was 333, checked in by opalod, 18 years ago

nemo_v1_update_021 : CE + RB + CT : add the CFC main routine and p4z new routines

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 4.2 KB
Line 
1CDIR$ LIST
2      SUBROUTINE p4zlim
3#if defined key_passivetrc && defined key_trc_pisces
4CCC---------------------------------------------------------------------
5CCC
6CCC             ROUTINE p4zlim : PISCES MODEL
7CCC             *****************************
8CCC
9CCC  PURPOSE :
10CCC  ---------
11CCC         Compute the co-limitations by the various nutrients
12CCC         for the various phytoplankton species
13CCC
14CC   INPUT :
15CC   -----
16CC      argument
17CC              None
18CC      common
19CC              all the common defined in opa
20CC
21CC
22CC   OUTPUT :                   : no
23CC   ------
24CC
25CC   MODIFICATIONS:
26CC   --------------
27CC      original  : O. Aumont (2004)
28CC----------------------------------------------------------------------
29CC parameters and commons
30CC ======================
31CDIR$ NOLIST
32      USE oce_trc
33      USE trp_trc
34      USE sms
35      IMPLICIT NONE
36#include "domzgr_substitute.h90"
37CDIR$ LIST
38CC----------------------------------------------------------------------
39CC local declarations
40CC ==================
41      INTEGER ji, jj, jk
42      REAL xlim1,xlim2,xlim3,xlim4
43      REAL xconctemp,xconctemp2,xconctempn,xconctempn2
44C
45C  Tuning of the iron concentration to a minimum
46C  level that is set to the detection limit
47C  -------------------------------------
48C
49
50        trn(:,:,:,jpfer)=max(trn(:,:,:,jpfer),1.E-11)
51C
52C  Computation of a variable Ks for iron on diatoms
53C  taking into account that increasing biomass is
54C  made of generally bigger cells
55C  ------------------------------------------------
56C
57        DO jk=1,jpkm1
58          DO jj=1,jpj
59            DO ji=1,jpi
60        xconctemp=max(0.,trn(ji,jj,jk,jpdia)-5E-7)
61        xconctemp2=min(5.E-7,trn(ji,jj,jk,jpdia))
62        xconctempn=max(0.,trn(ji,jj,jk,jpphy)-1E-6)
63        xconctempn2=min(1.E-6,trn(ji,jj,jk,jpphy))
64        concdfe(ji,jj,jk)=(xconctemp2*conc3+0.4E-9*
65     .    xconctemp)/(xconctemp2+xconctemp+rtrn)
66        concdfe(ji,jj,jk)=max(conc3,concdfe(ji,jj,jk))
67        concnfe(ji,jj,jk)=(xconctempn2*conc2+0.08E-9*
68     .    xconctempn)/(xconctempn2+xconctempn+rtrn)
69        concnfe(ji,jj,jk)=max(conc2,concnfe(ji,jj,jk))
70            END DO
71          END DO
72        END DO
73C
74        DO jk = 1,jpkm1
75          DO jj = 1,jpj
76            DO ji = 1,jpi
77C   
78C      Michaelis-Menten Limitation term for nutrients
79C      Small flagellates
80C      -----------------------------------------------
81C
82        xnanono3(ji,jj,jk)=trn(ji,jj,jk,jpno3)*concnnh4
83     &      /(conc0*concnnh4+concnnh4*trn(ji,jj,jk,jpno3)+
84     &        conc0*trn(ji,jj,jk,jpnh4))
85        xnanonh4(ji,jj,jk)=trn(ji,jj,jk,jpnh4)*conc0
86     &      /(conc0*concnnh4+concnnh4*trn(ji,jj,jk,jpno3)+
87     &        conc0*trn(ji,jj,jk,jpnh4))
88        xlim1=xnanono3(ji,jj,jk)+xnanonh4(ji,jj,jk)
89        xlim2=trn(ji,jj,jk,jppo4)/(trn(ji,jj,jk,jppo4)+concnnh4)
90        xlim3=trn(ji,jj,jk,jpfer)/(trn(ji,jj,jk,jpfer)
91     &     +concnfe(ji,jj,jk))
92        xlimphy(ji,jj,jk)=min(xlim1,xlim2,xlim3)
93        xlim1=trn(ji,jj,jk,jpnh4)/(concnnh4+trn(ji,jj,jk,jpnh4))
94        xlim3=trn(ji,jj,jk,jpfer)/(trn(ji,jj,jk,jpfer)+conc2)
95        xlim4=trn(ji,jj,jk,jpdoc)/(trn(ji,jj,jk,jpdoc)+xkdoc2)
96        xlimbac(ji,jj,jk)=min(xlim1,xlim2,xlim3)*xlim4
97C
98            END DO
99          END DO
100        END DO
101C
102        DO jk = 1,jpkm1
103          DO jj = 1,jpj
104            DO ji = 1,jpi
105C
106C   Michaelis-Menten Limitation term for nutrients
107C   Diatoms
108C   ----------------------------------------------
109C
110        xdiatno3(ji,jj,jk)=trn(ji,jj,jk,jpno3)*concdnh4
111     &      /(conc1*concdnh4+concdnh4*trn(ji,jj,jk,jpno3)+
112     &        conc1*trn(ji,jj,jk,jpnh4))
113        xdiatnh4(ji,jj,jk)=trn(ji,jj,jk,jpnh4)*conc1
114     &      /(conc1*concdnh4+concdnh4*trn(ji,jj,jk,jpno3)+
115     &        conc1*trn(ji,jj,jk,jpnh4))
116
117        xlim1=xdiatno3(ji,jj,jk)+xdiatnh4(ji,jj,jk)
118        xlim2=trn(ji,jj,jk,jppo4)/(trn(ji,jj,jk,jppo4)+concdnh4)
119        xlim3=trn(ji,jj,jk,jpsil)/(trn(ji,jj,jk,jpsil)+xksi(ji,jj))
120        xlim4=trn(ji,jj,jk,jpfer)/(trn(ji,jj,jk,jpfer)
121     &      +concdfe(ji,jj,jk))
122        xlimdia(ji,jj,jk)=min(xlim1,xlim2,xlim3,xlim4)
123        xlim4=trn(ji,jj,jk,jpfer)/(trn(ji,jj,jk,jpfer)+conc3)
124        xlimdia2(ji,jj,jk)=min(xlim1,xlim2,xlim3,xlim4)
125C
126            END DO
127          END DO
128        END DO
129C
130#endif
131      RETURN
132      END
Note: See TracBrowser for help on using the repository browser.