1 | CCC----------------------------------------------------------------- |
---|
2 | CCC |
---|
3 | CCC ROUTINE trcini.pisces.h |
---|
4 | CCC ************************ |
---|
5 | CCC |
---|
6 | CCC PURPOSE : |
---|
7 | CCC --------- |
---|
8 | CCC Initialisation of PISCES biological and chemical variables |
---|
9 | CCC |
---|
10 | CC INPUT : |
---|
11 | CC ----- |
---|
12 | CC common |
---|
13 | CC all the common defined in opa |
---|
14 | CC |
---|
15 | CC |
---|
16 | CC OUTPUT : : no |
---|
17 | CC ------ |
---|
18 | CC |
---|
19 | CC EXTERNAL : |
---|
20 | CC ---------- |
---|
21 | CC p4zche |
---|
22 | CC |
---|
23 | CC MODIFICATIONS: |
---|
24 | CC -------------- |
---|
25 | CC original : 1988-07 E. MAIER-REIMER MPI HAMBURG |
---|
26 | CC additions : 1999-10 O. Aumont and C. Le Quere |
---|
27 | CC additions : 2002 O. Aumont (PISCES) |
---|
28 | CC |
---|
29 | CCC--------------------------------------------------------------------- |
---|
30 | CC local declarations |
---|
31 | CC ================== |
---|
32 | INTEGER ichl,iband,mo |
---|
33 | INTEGER jpmois,jpan |
---|
34 | PARAMETER (jpan=1, jpmois=12) |
---|
35 | |
---|
36 | REAL xtoto,expide,denitide |
---|
37 | REAL ndepo(jpi,jpj),river(jpi,jpj) |
---|
38 | REAL riverdoc(jpi,jpj) |
---|
39 | CHARACTER*34 clname |
---|
40 | |
---|
41 | INTEGER ipi,ipj,ipk,istep(jpmois),itime,istep0(jpan) |
---|
42 | REAL zsecond, zlon(jpi,jpj),zlat(jpi,jpj),zlev(jpk),zdate0 |
---|
43 | INTEGER numriv,numdust,numbath,numdep |
---|
44 | C |
---|
45 | C 1. initialization |
---|
46 | C ----------------- |
---|
47 | C |
---|
48 | C computation of the record length for direct access FILE |
---|
49 | C this length depend of 512 for the t3d machine |
---|
50 | C |
---|
51 | rfact = rdttra(1) * float(ndttrc) |
---|
52 | rfactr = 1./rfact |
---|
53 | WRITE(numout,*) ' Tracer time step=',rfact,' rdt=',rdt |
---|
54 | rfact2= rfact / float(nrdttrc) |
---|
55 | rfact2r = 1./rfact2 |
---|
56 | write(numout,*) ' Biology time step=',rfact2 |
---|
57 | C |
---|
58 | C INITIALISE DUST INPUT FROM ATMOSPHERE |
---|
59 | C ------------------------------------- |
---|
60 | C |
---|
61 | IF (bdustfer) THEN |
---|
62 | clname='dust.orca.nc' |
---|
63 | CALL flinopen(clname,mig(1),nlci,mjg(1),nlcj,.false.,ipi,ipj,0 |
---|
64 | $ ,zlon,zlat,zlev,itime,istep,zdate0,zsecond,numdust) |
---|
65 | CALL flinget(numdust,'dust',jpidta,jpjdta,0,jpmois,1, |
---|
66 | $ 12,mig(1),nlci,mjg(1),nlcj,dustmo(1:nlci,1:nlcj,12) ) |
---|
67 | CALL flinclo(numdust) |
---|
68 | ELSE |
---|
69 | dustmo(:,:,:)=0. |
---|
70 | ENDIF |
---|
71 | C |
---|
72 | C INITIALISE THE NUTRIENT INPUT BY RIVERS |
---|
73 | C --------------------------------------- |
---|
74 | C |
---|
75 | IF (briver) THEN |
---|
76 | clname='river.orca.nc' |
---|
77 | CALL flinopen(clname,mig(1),nlci,mjg(1),nlcj,.false.,ipi,ipj,0 |
---|
78 | $ ,zlon,zlat,zlev,itime,istep0,zdate0,zsecond,numriv) |
---|
79 | CALL flinget(numriv,'riverdic',jpidta,jpjdta,0,jpan,1, |
---|
80 | $ 1,mig(1),nlci,mjg(1),nlcj,river(1:nlci,1:nlcj) ) |
---|
81 | CALL flinget(numriv,'riverdoc',jpidta,jpjdta,0,jpan,1, |
---|
82 | $ 1,mig(1),nlci,mjg(1),nlcj,riverdoc(1:nlci,1:nlcj) ) |
---|
83 | CALL flinclo(numriv) |
---|
84 | ELSE |
---|
85 | river(:,:)=0. |
---|
86 | riverdoc(:,:)=0. |
---|
87 | endif |
---|
88 | C |
---|
89 | C INITIALISE THE N INPUT BY DUST |
---|
90 | C --------------------------------------- |
---|
91 | C |
---|
92 | IF (bndepo) THEN |
---|
93 | clname='ndeposition.orca.nc' |
---|
94 | CALL flinopen(clname,mig(1),nlci,mjg(1),nlcj,.false.,ipi,ipj,0 |
---|
95 | $ ,zlon,zlat,zlev,itime,istep0,zdate0,zsecond,numdep) |
---|
96 | CALL flinget(numdep,'ndep',jpidta,jpjdta,0,jpan,1, |
---|
97 | $ 1,mig(1),nlci,mjg(1),nlcj,ndepo(1:nlci,1:nlcj) ) |
---|
98 | CALL flinclo(numdep) |
---|
99 | ELSE |
---|
100 | ndepo(:,:)=0. |
---|
101 | ENDIF |
---|
102 | C |
---|
103 | C Computation of the coastal mask. |
---|
104 | C Computation of an island mask to enhance coastal supply |
---|
105 | C of iron |
---|
106 | C ------------------------------------------------------- |
---|
107 | C |
---|
108 | IF (bsedinput) THEN |
---|
109 | clname='bathy.orca.nc' |
---|
110 | CALL flinopen(clname,mig(1),nlci,mjg(1),nlcj,.false.,ipi,ipj,ipk |
---|
111 | $ ,zlon,zlat,zlev,itime,istep0,zdate0,zsecond,numbath) |
---|
112 | CALL flinget(numbath,'bathy',jpidta,jpjdta,jpk,jpan,1, |
---|
113 | $ 1,mig(1),nlci,mjg(1),nlcj,cmask(1:nlci,1:nlcj,1:jpk) ) |
---|
114 | CALL flinclo(numbath) |
---|
115 | C |
---|
116 | DO jk=1,jpk |
---|
117 | DO ji=1,jpi |
---|
118 | DO jj=1,jpj |
---|
119 | expide=min(8.,(fsdept(ji,jj,jk)/500.)**(-1.5)) |
---|
120 | denitide=-0.9543+0.7662*log(expide)-0.235*log(expide)**2 |
---|
121 | cmask(ji,jj,jk)=cmask(ji,jj,jk)*exp(denitide)/0.6858 |
---|
122 | END DO |
---|
123 | END DO |
---|
124 | END DO |
---|
125 | ELSE |
---|
126 | cmask(:,:,:)=0. |
---|
127 | ENDIF |
---|
128 | C |
---|
129 | C Computation of the total atmospheric supply of Si |
---|
130 | C ------------------------------------------------- |
---|
131 | C |
---|
132 | sumdepsi=0. |
---|
133 | DO mo=1,12 |
---|
134 | DO jj=2,jpjm1 |
---|
135 | DO ji=2,jpim1 |
---|
136 | sumdepsi=sumdepsi+dustmo(ji,jj,mo)/(12.*rmoss)*8.8 |
---|
137 | & *0.075/28.1*e1t(ji,jj)*e2t(ji,jj)*tmask(ji,jj,1) |
---|
138 | END DO |
---|
139 | END DO |
---|
140 | END DO |
---|
141 | C |
---|
142 | C COMPUTATION OF THE N/P RELEASE DUE TO COASTAL RIVERS |
---|
143 | C COMPUTATION OF THE Si RELEASE DUE TO COASTAL RIVERS |
---|
144 | C --------------------------------------------------- |
---|
145 | C |
---|
146 | DO jj=1,jpj |
---|
147 | DO ji=1,jpi |
---|
148 | cotdep(ji,jj,1)=river(ji,jj)*1E9/(12.*raass |
---|
149 | & *e1t(ji,jj)*e2t(ji,jj)*fse3t(ji,jj,1))*tmask(ji,jj,1) |
---|
150 | po4dep(ji,jj,1)=(river(ji,jj)+riverdoc(ji,jj))*1E9 |
---|
151 | & /(31.6*raass*e1t(ji,jj)*e2t(ji,jj)*fse3t(ji,jj,1)) |
---|
152 | & *tmask(ji,jj,1) |
---|
153 | nitdep(ji,jj,1)=7.6*ndepo(ji,jj)*tmask(ji,jj,1)/(14E6*raass |
---|
154 | & *fse3t(ji,jj,1)) |
---|
155 | END DO |
---|
156 | END DO |
---|
157 | |
---|
158 | rivpo4input=0. |
---|
159 | rivalkinput=0. |
---|
160 | rivnitinput=0. |
---|
161 | DO jj=2,jpjm1 |
---|
162 | DO ji=2,jpim1 |
---|
163 | rivpo4input=rivpo4input+po4dep(ji,jj,1)*(e1t(ji,jj)*e2t(ji,jj) |
---|
164 | & *fse3t(ji,jj,1))*tmask(ji,jj,1)*raass |
---|
165 | rivalkinput=rivalkinput+cotdep(ji,jj,1)*(e1t(ji,jj)*e2t(ji,jj) |
---|
166 | & *fse3t(ji,jj,1))*tmask(ji,jj,1)*raass |
---|
167 | rivnitinput=rivnitinput+nitdep(ji,jj,1)*(e1t(ji,jj)*e2t(ji,jj) |
---|
168 | & *fse3t(ji,jj,1))*tmask(ji,jj,1)*raass |
---|
169 | END DO |
---|
170 | END DO |
---|
171 | C |
---|
172 | C Coastal supply of iron |
---|
173 | C ---------------------- |
---|
174 | C |
---|
175 | DO jk=1,jpkm1 |
---|
176 | DO jj=1,jpj |
---|
177 | DO ji=1,jpi |
---|
178 | ironsed(ji,jj,jk)=sedfeinput*cmask(ji,jj,jk) |
---|
179 | & /(fse3t(ji,jj,jk)*rjjss) |
---|
180 | END DO |
---|
181 | END DO |
---|
182 | END DO |
---|
183 | C |
---|
184 | CC---------------------------------------------------------------------- |
---|
185 | CC |
---|
186 | CC Initialize biological variables |
---|
187 | CC |
---|
188 | CC---------------------------------------------------------------------- |
---|
189 | C |
---|
190 | spocri = 0.003 |
---|
191 | jkopt = 14 |
---|
192 | C |
---|
193 | C Set biological ratios |
---|
194 | C --------------------- |
---|
195 | C |
---|
196 | rno3 = (16.+2.)/122. |
---|
197 | po4r = 1./122. |
---|
198 | o2ut = 172./122. |
---|
199 | o2nit = 32./122. |
---|
200 | rdenit = 97.6/16. |
---|
201 | o2ut = 140./122. |
---|
202 | C |
---|
203 | CC---------------------------------------------------------------------- |
---|
204 | CC |
---|
205 | CC Initialize chemical variables |
---|
206 | CC |
---|
207 | CC---------------------------------------------------------------------- |
---|
208 | C |
---|
209 | C set pre-industrial atmospheric [co2] (ppm) and o2/n2 ratio |
---|
210 | C ---------------------------------------------------------- |
---|
211 | C |
---|
212 | atcox = 0.20946 |
---|
213 | C |
---|
214 | C Set lower/upper limits for temperature and salinity |
---|
215 | C --------------------------------------------------- |
---|
216 | C |
---|
217 | salchl = 1./1.80655 |
---|
218 | calcon = 1.03E-2 |
---|
219 | C |
---|
220 | C Set coefficients for apparent solubility equilibrium |
---|
221 | C of calcite (Ingle, 1800, eq. 6) |
---|
222 | C ---------------------------------------------------- |
---|
223 | C |
---|
224 | akcc1 = -34.452 |
---|
225 | akcc2 = -39.866 |
---|
226 | akcc3 = 110.21 |
---|
227 | akcc4 = -7.5752E-6 |
---|
228 | C |
---|
229 | C |
---|
230 | C Set coefficients for seawater pressure correction |
---|
231 | C ------------------------------------------------- |
---|
232 | C |
---|
233 | devk1 = 24.2 |
---|
234 | devk2 = 16.4 |
---|
235 | devkb = 27.5 |
---|
236 | devk1t = 0.085 |
---|
237 | devk2t = 0.04 |
---|
238 | devkbt = 0.095 |
---|
239 | C |
---|
240 | devkst = 0.23 |
---|
241 | devks = 35.4 |
---|
242 | C |
---|
243 | C Set universal gas constants |
---|
244 | C --------------------------- |
---|
245 | C |
---|
246 | rgas = 83.143 |
---|
247 | oxyco = 1./22.4144 |
---|
248 | C |
---|
249 | C Set boron constants |
---|
250 | C ------------------- |
---|
251 | C |
---|
252 | bor1 = 0.00023 |
---|
253 | bor2 = 1./10.82 |
---|
254 | C |
---|
255 | C Set volumetric solubility constants for co2 in ml/l (Weiss, 1974) |
---|
256 | C ----------------------------------------------------------------- |
---|
257 | C |
---|
258 | c00 = -58.0931 |
---|
259 | c01 = 90.5069 |
---|
260 | c02 = 22.2940 |
---|
261 | c03 = 0.027766 |
---|
262 | c04 = -0.025888 |
---|
263 | c05 = 0.0050578 |
---|
264 | C |
---|
265 | C Set coeff. for 1. dissoc. of carbonic acid (Edmond and Gieskes, 1970) |
---|
266 | C --------------------------------------------------------------------- |
---|
267 | C |
---|
268 | c10 = -2307.1266 |
---|
269 | c11 = 2.83655 |
---|
270 | c12 = -1.5529413 |
---|
271 | c13 = -4.0484 |
---|
272 | c14 = -0.20760841 |
---|
273 | c15 = 0.08468345 |
---|
274 | c16 = -0.00654208 |
---|
275 | c17 = -0.001005 |
---|
276 | C |
---|
277 | C Set coeff. for 2. dissoc. of carbonic acid (Edmond and Gieskes, 1970) |
---|
278 | C --------------------------------------------------------------------- |
---|
279 | C |
---|
280 | c20 = -3351.6106 |
---|
281 | c21 = -9.226508 |
---|
282 | c22 = -0.2005743 |
---|
283 | c23 = -23.9722 |
---|
284 | c24 = -0.106901773 |
---|
285 | c25 = 0.1130822 |
---|
286 | c26 = -0.00846934 |
---|
287 | c27 = -0.001005 |
---|
288 | C |
---|
289 | C Set coeff. for 1. dissoc. of boric acid (Edmond and Gieskes, 1970) |
---|
290 | C ------------------------------------------------------------------ |
---|
291 | C |
---|
292 | cb0 = -8966.90 |
---|
293 | cb1 = -2890.53 |
---|
294 | cb2 = -77.942 |
---|
295 | cb3 = 1.728 |
---|
296 | cb4 = -0.0996 |
---|
297 | cb5 = 148.0248 |
---|
298 | cb6 = 137.1942 |
---|
299 | cb7 = 1.62142 |
---|
300 | cb8 = -24.4344 |
---|
301 | cb9 = -25.085 |
---|
302 | cb10 = -0.2474 |
---|
303 | cb11 = 0.053105 |
---|
304 | C |
---|
305 | C Set coeff. for dissoc. of water (Dickson and Riley, 1979, |
---|
306 | C eq. 7, coefficient cw2 corrected from 0.9415 to 0.09415 |
---|
307 | C after pers. commun. to B. Bacastow, 1988) |
---|
308 | C --------------------------------------------------------- |
---|
309 | C |
---|
310 | cw0 = -13847.26 |
---|
311 | cw1 = 148.9652 |
---|
312 | cw2 = -23.6521 |
---|
313 | cw3 = 118.67 |
---|
314 | cw4 = -5.977 |
---|
315 | cw5 = 1.0495 |
---|
316 | cw6 = -0.01615 |
---|
317 | C |
---|
318 | C Set volumetric solubility constants for o2 in ml/l (Weiss, 1970) |
---|
319 | C ---------------------------------------------------------------- |
---|
320 | C |
---|
321 | ox0 = -58.3877 |
---|
322 | ox1 = 85.8079 |
---|
323 | ox2 = 23.8439 |
---|
324 | ox3 = -0.034892 |
---|
325 | ox4 = 0.015568 |
---|
326 | ox5 = -0.0019387 |
---|
327 | C |
---|
328 | C FROM THE NEW BIOOPTIC MODEL PROPOSED JM ANDRE, WE READ HERE |
---|
329 | C A PRECOMPUTED ARRAY CORRESPONDING TO THE ATTENUATION COEFFICIENT |
---|
330 | C |
---|
331 | open(49,file='kRGB61.txt',form='formatted') |
---|
332 | do ichl=1,61 |
---|
333 | READ(49,*) xtoto,(xkrgb(iband,ichl),iband = 1,3) |
---|
334 | end do |
---|
335 | close(49) |
---|
336 | C |
---|
337 | #if defined key_off_degrad |
---|
338 | C |
---|
339 | C Read volume for degraded regions (DEGINIT) |
---|
340 | C ------------------------------------------ |
---|
341 | C |
---|
342 | # if defined key_vpp |
---|
343 | CALL READ3S(902,facvol,jpi,jpj,jpk) |
---|
344 | # else |
---|
345 | READ (902) facvol |
---|
346 | # endif |
---|
347 | #endif |
---|
348 | C |
---|
349 | C |
---|
350 | C Call p4zche to initialize the chemical constants |
---|
351 | C ------------------------------------------------ |
---|
352 | C |
---|
353 | CALL p4zche |
---|
354 | C |
---|
355 | WRITE(numout,*) ' Initialisation of PISCES done' |
---|