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

source: trunk/NEMO/TOP_SRC/SMS/p4zprod.F @ 247

Last change on this file since 247 was 247, checked in by opalod, 19 years ago

CL : Add CVS Header and CeCILL licence information

  • Property svn:eol-style set to native
  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 6.9 KB
Line 
1
2CCC $Header$ 
3CCC  TOP 1.0 , LOCEAN-IPSL (2005) 
4C This software is governed by CeCILL licence see modipsl/doc/NEMO_CeCILL.txt 
5C ---------------------------------------------------------------------------
6CDIR$ LIST
7      SUBROUTINE p4zprod
8#if defined key_passivetrc && defined key_trc_pisces
9CCC---------------------------------------------------------------------
10CCC
11CCC           ROUTINE p4zprod : PISCES MODEL
12CCC           ******************************
13CCC
14CCC  PURPOSE :
15CCC  ---------
16CCC         Compute the phytoplankton production depending on
17CCC         light, temperature and nutrient availability
18CCC
19CC   INPUT :
20CC   -----
21CC      argument
22CC              None
23CC      common
24CC              all the common defined in opa
25CC
26CC
27CC   OUTPUT :                   : no
28CC   ------
29CC
30CC   EXTERNAL :
31CC   --------
32CC             p4zday
33CC
34CC   MODIFICATIONS:
35CC   --------------
36CC      original  : O. Aumont (2004) 
37CC----------------------------------------------------------------------
38CC parameters and commons
39CC ======================
40CDIR$ NOLIST
41      USE oce_trc
42      USE trp_trc
43      USE sms
44      IMPLICIT NONE
45CDIR$ LIST
46CC----------------------------------------------------------------------
47CC local declarations
48CC ==================
49      INTEGER ji, jj, jk
50      REAL silfac,pislopen(jpi,jpj,jpk),pislope2n(jpi,jpj,jpk)
51      REAL zmixnano,zmixdiat,zfact
52      REAL prdiachl,prbiochl,silim,ztn,zadap,zadap2
53      REAL ysopt(jpi,jpj,jpk),pislopead(jpi,jpj,jpk)
54      REAL prdia(jpi,jpj,jpk),prbio(jpi,jpj,jpk)
55      REAL etot2(jpi,jpj,jpk),pislopead2(jpi,jpj,jpk)
56      REAL silfac2,siborn,zprod
57C 
58C     Computation of the optimal production
59C     -------------------------------------
60C
61C
62        prmax(:,:,:)=0.6/rjjss*tgfunc(:,:,:)
63#    if defined key_off_degrad
64     &  *facvol(:,:,:)
65#    endif
66C
67C     Computation of the day length
68C     -----------------------------
69C
70        call p4zday 
71
72        DO  jk = 1,jkopt
73          DO  jj = 1,jpj
74            DO  ji = 1,jpi
75C
76C      Computation of the P-I slope for nanos and diatoms
77C      --------------------------------------------------
78C
79        ztn=max(0.,tn(ji,jj,jk)-15.)
80        zadap=2.+3.*ztn/(2.+ztn)
81        zadap2=2.
82
83        zfact=exp(-0.21*emoy(ji,jj,jk))
84
85        pislopead(ji,jj,jk)=pislope*(1.+zadap*zfact)
86        pislopead2(ji,jj,jk)=pislope2*(1.+zadap2*zfact)
87
88        pislopen(ji,jj,jk)=pislopead(ji,jj,jk)
89     &    *trn(ji,jj,jk,jpnch)/(rtrn+trn(ji,jj,jk,jpphy)*12.)
90     &    /(prmax(ji,jj,jk)*rjjss*xlimphy(ji,jj,jk)+rtrn)
91
92        pislope2n(ji,jj,jk)=pislopead2(ji,jj,jk)
93     &    *trn(ji,jj,jk,jpdch)/(rtrn+trn(ji,jj,jk,jpdia)*12.)
94     &    /(prmax(ji,jj,jk)*rjjss*xlimdia(ji,jj,jk)+rtrn)
95C
96            END DO
97          END DO
98        END DO
99
100        DO  jk = 1,jkopt
101          DO  jj = 1,jpj
102            DO  ji = 1,jpi
103C
104C     Computation of production function
105C     ----------------------------------
106C
107        prbio(ji,jj,jk) = prmax(ji,jj,jk)
108     &    *(1.-exp(-pislopen(ji,jj,jk)*etot(ji,jj,jk)))
109        prdia(ji,jj,jk) = prmax(ji,jj,jk)
110     &    *(1.-exp(-pislope2n(ji,jj,jk)*etot(ji,jj,jk)))
111
112            END DO
113          END DO
114        END DO
115
116        DO  jk = 1,jkopt
117          DO  jj = 1,jpj
118            DO  ji = 1,jpi
119C
120C    Si/C of diatoms
121C    ------------------------
122C    Si/C increases with iron stress and silicate availability
123C    Si/C is arbitrariliy increased for very high Si concentrations
124C    to mimic the very high ratios observed in the Southern Ocean
125c    (silpot2)
126C
127        silim=min((1.-exp(-etot(ji,jj,jk)*pislope2n(ji,jj,jk))),
128     &    trn(ji,jj,jk,jpfer)/(conc3+trn(ji,jj,jk,jpfer)),
129     &    trn(ji,jj,jk,jpno3)/(conc1+trn(ji,jj,jk,jpno3)),
130     &    trn(ji,jj,jk,jppo4)/(conc1+trn(ji,jj,jk,jppo4)))
131        silfac=5.4*exp(-4.23*silim)+1.13
132        siborn=max(0.,(trn(ji,jj,jk,jpsil)-15.E-6))
133        silfac2=1.+2.*siborn/(siborn+xksi2)
134        silfac=min(6.53,silfac*silfac2)
135C
136        ysopt(ji,jj,jk)=grosip*trn(ji,jj,jk,jpsil)/(trn(ji,jj,jk,jpsil)
137     $    +xksi1)*silfac*(1.-0.6*cmask(ji,jj,1))
138C
139            END DO
140          END DO
141        END DO
142
143        DO  jk = 1,jkopt
144          DO  jj = 1,jpj
145            DO  ji = 1,jpi
146        IF (tmask(ji,jj,jk).NE.0) THEN
147C   
148C     Mixed-layer effect on production
149C     --------------------------------
150C   
151         zmixnano=max(0.2,(1.-0.8*(hmld(ji,jj)/zmeu(ji,jj)-1.)))
152         zmixdiat=max(0.5,(1.-0.5*(hmld(ji,jj)/zmeu(ji,jj)-1.)))
153         prbio(ji,jj,jk)=prbio(ji,jj,jk)*min(1.,zmixnano)
154         prdia(ji,jj,jk)=prdia(ji,jj,jk)*min(1.,zmixdiat)
155C
156        ENDIF
157            END DO
158          END DO
159        END DO
160
161        DO jk = 1,jkopt
162          DO jj = 1,jpj
163            DO ji = 1,jpi
164C
165C      Computation of the maximum light intensity
166C      ------------------------------------------
167C
168        etot2(ji,jj,jk)=etot(ji,jj,jk)*24./(strn(ji,jj)+rtrn)
169        IF (strn(ji,jj).lt.1.) etot2(ji,jj,jk)=etot(ji,jj,jk)
170C
171            END DO
172          END DO
173        END DO
174
175        DO jk = 1,jkopt
176          DO jj = 1,jpj
177            DO ji = 1,jpi
178C
179C     Computation of the various production terms for nanophyto.
180C     ----------------------------------------------------------
181C
182        prbiochl = prmax(ji,jj,jk)
183     &    *(1.-exp(-pislopen(ji,jj,jk)*etot2(ji,jj,jk)))
184
185        prorca(ji,jj,jk) = prbio(ji,jj,jk)
186     &    *xlimphy(ji,jj,jk)*trn(ji,jj,jk,jpphy)*rfact2
187
188        pronew(ji,jj,jk)=prorca(ji,jj,jk)*xnanono3(ji,jj,jk)
189     &    /(xnanono3(ji,jj,jk)+xnanonh4(ji,jj,jk)+rtrn)
190        proreg(ji,jj,jk)=prorca(ji,jj,jk)-pronew(ji,jj,jk)
191C
192        zprod=rjjss*prorca(ji,jj,jk)*prbiochl*trn(ji,jj,jk,jpphy)
193     &    *xlimphy(ji,jj,jk)
194
195        prorca5(ji,jj,jk) = (15.E-6)**2*zprod/0.033
196     &    /(pislopead(ji,jj,jk)*etot2(ji,jj,jk)*trn(ji,jj,jk,jpnfe)
197     &    +rtrn)
198
199        prorca6(ji,jj,jk) = 0.033*144.*zprod/(pislopead(ji,jj,jk)
200     &    *etot2(ji,jj,jk)*max(trn(ji,jj,jk,jpnch),1.E-10)+rtrn)
201
202            END DO
203          END DO
204        END DO
205
206        DO  jk = 1,jkopt
207          DO  jj = 1,jpj
208            DO  ji = 1,jpi
209C
210C       Computation of the various production terms for diatoms
211C       -------------------------------------------------------
212C
213        prdiachl = prmax(ji,jj,jk)
214     &    *(1.-exp(-etot2(ji,jj,jk)*pislope2n(ji,jj,jk)))
215C
216        prorca2(ji,jj,jk) = prdia(ji,jj,jk)
217     &    *xlimdia(ji,jj,jk)*trn(ji,jj,jk,jpdia)*rfact2
218C
219        pronew2(ji,jj,jk)=prorca2(ji,jj,jk)*xdiatno3(ji,jj,jk)
220     &    /(xdiatno3(ji,jj,jk)+xdiatnh4(ji,jj,jk)+rtrn)
221        proreg2(ji,jj,jk)=prorca2(ji,jj,jk)-pronew2(ji,jj,jk)
222        prorca3(ji,jj,jk) = prorca2(ji,jj,jk)*ysopt(ji,jj,jk)
223C
224        zprod=rjjss*prorca2(ji,jj,jk)*prdiachl*xlimdia(ji,jj,jk)
225     &    *trn(ji,jj,jk,jpdia)
226C
227        prorca4(ji,jj,jk) = (20.E-6)**2*zprod/0.05
228     &    /(pislopead2(ji,jj,jk)*etot2(ji,jj,jk)*trn(ji,jj,jk,jpdfe)
229     &    +rtrn)
230C
231        prorca7(ji,jj,jk) = 0.05*144.*zprod/(pislopead2(ji,jj,jk)
232     &    *etot2(ji,jj,jk)*max(trn(ji,jj,jk,jpdch),1.E-10)+rtrn)
233C
234            END DO
235          END DO
236        END DO
237C
238#endif
239      RETURN
240      END
241
Note: See TracBrowser for help on using the repository browser.